一键导入
git-ship
Commit and optionally push. MANDATORY before any git write — commit, push, merge, rebase, reset, branch -d. Triggers: ship it, commit, push.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Commit and optionally push. MANDATORY before any git write — commit, push, merge, rebase, reset, branch -d. Triggers: ship it, commit, push.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Read or write Airtable records — bases, tbl/rec/fld IDs, filterByFormula, pyairtable. Not for n8n workflows or Google Sheets/Excel.
Plan non-trivial features, fixes, refactors, UI/workflow changes before coding — clarify, research, get approval (Stop & Think protocol).
Find a past Claude Code session to resume — I closed my session, find the session where we…, which session discussed X, which session talked to the other agent.
Review or improve an existing agent skill (SKILL.md structure, triggers, permissions, splitting). Not for new skills — use skills-build.
Build a NEW agent skill from a real repeated workflow. Use when the user asks to create a skill, scaffold `SKILL.md`, convert a recurring task into a skill, or decide whether a process deserves a skill. Do NOT use to review or audit an existing skill — use `skill-improver` for that.
Edit Tally forms via MCP tools — add/remove/reorder blocks and questions, change text, configure visibility/required state, and build conditional logic (apply_logic DSL). Use when the user mentions Tally, questionnaires, form building, form blocks, or a Tally form ID/URL, or asks to add a question, hide/show a field, sync Hebrew/English forms, or add logic to a Tally form. Does NOT trigger for writing the actual wording/persuasive copy of form questions or intro text (route that to `microcopy` or `copywriting`) — this skill is for structural/tool-mechanics edits via the Tally MCP, not for drafting prose.
| name | git-ship |
| description | Commit and optionally push. MANDATORY before any git write — commit, push, merge, rebase, reset, branch -d. Triggers: ship it, commit, push. |
| allowed-tools | Bash |
git commit, git push, git merge, git rebase, git reset, or git branch -d.git status, git diff, git log, git show, git branch --show-current) — those are fine without invoking this skill.This skill is the ONLY entry point for git write operations in this project. Before running git commit, git push, git merge, git rebase, git reset, git branch -d, or git checkout main — you MUST be inside this skill. Read-only commands (status, diff, log, show, branch --show-current) are fine without invocation.
git branch --show-current).git diff / git diff --staged).git branch --show-current. If on main/master, REFUSE and error: "You're on main. This should not happen — a feature branch should have been created at session start." Do NOT proceed with the commit.git diff and review ALL hunks. Check if any changes don't belong to the current task/ticket (e.g., changes from another Claude Code tab session).git add -p to selectively stage only the relevant changes.git status to see all changesgit diff --staged (if nothing staged, run git add -A first — but only after pre-ship validation passes)After successful push, if there are any pending file updates (e.g., .agent/current-status.md, design log status), do them NOW — while still on the feature branch. Commit and push again if needed. The branch-guard hook blocks all edits on main.
Only after ALL file edits are committed and pushed, ask: "Merge to main and delete branch?"
Prefer the project wrapper — .claude/workflows/merge-and-push.sh <branch> from the canonical clone (~/my-project/). It encodes the worktree-safe sequence (fetch → FF pull → --no-ff merge → push) so you don't have to hand-roll it. Run it from the canonical clone, never from a session worktree — git checkout main will error fatal: 'main' is already used by worktree at '.../my-project'.
cd ~/my-project
bash .claude/workflows/merge-and-push.sh <branch>
Fall back to manual only if the wrapper is unavailable:
cd ~/my-project
git fetch origin main
git checkout main && git pull --ff-only origin main
git merge --no-ff <branch> -m "Merge <branch>: ..."
git push origin main
Or fast-forward-only push (no checkout, leaves canonical clone untouched):
git push origin <branch>:main
git checkout main && git merge {branch} && git branch -d {branch} && git push
Do NOT edit any files after merging to main — the branch-guard hook will block it.
If the merge touched anything under api/ (Workers code, wrangler.toml, api/src/**), the Worker does NOT auto-deploy. Run the project wrapper from the canonical clone:
cd ~/my-project
bash .claude/workflows/deploy-worker.sh
The wrapper clears the stale CLOUDFLARE_API_TOKEN, passes -c wrangler.toml (autoconfig-hijack guard), and verifies the health endpoint after deploy. Frontend changes under frontend/ deploy via bash scripts/deploy-pages.sh "<msg>" (Pages git auto-deploy is broken — DL-368).
After merging a DL branch, run .claude/workflows/close-design-log.sh <NNN> from the canonical clone — it patches the DL status header, updates INDEX.md, runs the PII guard, and stages the files for a closing commit.
git add -p instead of committing everything.Report, in order: the branch checked, the generated conventional commit message (type(scope): description), whether the commit succeeded, and whether push/merge happened (or is pending user confirmation). Don't silently push or merge without stating it happened.
.agent/current-status.md and .agent/design-logs/INDEX.md are appended by every parallel session and conflict on nearly every merge. Resolve by keeping ALL entries from both sides (DL number ordering: highest at top). If .gitattributes declares merge=union for these files, conflicts auto-resolve.git checkout main errors if main is checked out in another worktree).api/ changed.type(scope): description)?current-status.md, INDEX.md) resolved by keeping both sides' entries?