kickoff
Turn a short workstream description into a complete kickoff prompt a fresh
Claude Code session can execute without any other context. The prompt is the
deliverable - return it inline in one fenced code block, copy-ready. Do not
write it to a file unless explicitly asked.
1. Gather context (before writing anything)
The workstream description may be passed as $ARGUMENTS. If absent, ask for it.
Ground the prompt in the TARGET repo's reality - never hardcode assumptions
from any one project:
- Read the target repo's
CLAUDE.md (and anything it declares authoritative,
e.g. a SPEC or todo file). The generated prompt must tell the successor to
honor those conventions, and must not contradict them.
- Run
git log --oneline -5, git status, git branch --show-current in the
target repo. Record the expected HEAD commit and branch so the successor can
verify it landed in the right place.
- Identify inherited state: what is done, in flight, blocked, or decided.
Pull from the conversation, todo/state docs, and recent commits. Trust
commits over docs where they disagree.
- Ask the owner (or determine from repo docs): does this project have
shared mutable state, and which workstream currently holds the pen?
Examples: an append-only ledger, a registry, a shared database or cache,
a deploy environment. If yes, the prompt must name the current pen-holder
and forbid the new session from writing that state without it.
- If anything essential is missing (branch strategy, review policy, scope
boundaries), ask one round of questions rather than guessing.
2. Compose the kickoff prompt
Required sections, in order:
- Mission - what this session exists to do, in a paragraph. Name the
step/phase it completes. State explicitly what kind of workstream it is
(research, tooling, docs...) and what it must NOT touch.
- Environment - cwd, branch, remote, sibling worktrees or checkouts to
leave alone, how changes land (PR? direct commit? review policy), and a
note that the repo
CLAUDE.md auto-loads and is binding.
- Orient first - concrete verification steps to run before any writing:
expected
git log HEAD and branch, clean-tree check, which docs to read
in full vs skim, and the rule "trust commits over docs where they
disagree."
- Inherited-state summary - what is already done, decided, in flight,
or blocked; include the pen-holder line from step 1.4 when the project
has shared mutable state.
- Ordered work items - numbered or tabled, each with a deliverable and
enough spec to execute without guessing. Mark prepare-only items clearly.
- Hard stops - owner gates marked ⛳, commit/PR policy (including any
no-attribution-trailer rule), scope guards, and what to do when a task
seems to require crossing one (stop and ask).
- Definition of done - verifiable outcomes: what must be demonstrated,
green, open, or reported when the session ends, including the closing
report the owner expects. Make it machine-checkable wherever possible:
an "Acceptance checks" list of concrete commands with their expected
result (e.g.
uv run pytest -q exits 0; grep -rn "X" src/ returns
empty; gh pr checks N all pass; test -x ~/bin/tool), so the session
can verify completion itself and the owner can re-verify in seconds.
Reserve prose-only criteria for genuinely unautomatable outcomes
(owner judgment, review quality), and keep those few and explicit.
Do NOT append standing disclaimers or footers to the prompt, PR text, or
chat messages — the owner does not want them there. Repo conventions about
disclaimers apply to the project's own research/output artifacts, not to
session prompts or PR bodies.
3. Deliver it
- Output the entire generated prompt in a single fenced code block so the
owner can copy it in one motion. Use a four-backtick outer fence when the
prompt itself contains triple-backtick fences.
- After the block, add at most 2-3 sentences: anything you had to assume, and
any open question the owner should settle before pasting it.
1---2name: kickoff3description: Generate a complete, copy-ready kickoff prompt for a new Claude Code session from a short workstream description - orient-first checks, inherited state, ordered work items, hard stops, and definition of done, returned in one fenced code block. Use whenever the user wants to spin up, kick off, or brief a new session or workstream, says "kickoff", "write a kickoff prompt", "prep a session for X", or "hand this plan to a fresh session", even if they don't say "kickoff" explicitly.4---56# kickoff78Turn a short workstream description into a complete kickoff prompt a fresh9Claude Code session can execute without any other context. The prompt is the10deliverable - return it inline in one fenced code block, copy-ready. Do not11write it to a file unless explicitly asked.1213## 1. Gather context (before writing anything)1415The workstream description may be passed as `$ARGUMENTS`. If absent, ask for it.1617Ground the prompt in the TARGET repo's reality - never hardcode assumptions18from any one project:19201. Read the target repo's `CLAUDE.md` (and anything it declares authoritative,21 e.g. a SPEC or todo file). The generated prompt must tell the successor to22 honor those conventions, and must not contradict them.232. Run `git log --oneline -5`, `git status`, `git branch --show-current` in the24 target repo. Record the expected HEAD commit and branch so the successor can25 verify it landed in the right place.263. Identify inherited state: what is done, in flight, blocked, or decided.27 Pull from the conversation, todo/state docs, and recent commits. Trust28 commits over docs where they disagree.294. Ask the owner (or determine from repo docs): **does this project have30 shared mutable state, and which workstream currently holds the pen?**31 Examples: an append-only ledger, a registry, a shared database or cache,32 a deploy environment. If yes, the prompt must name the current pen-holder33 and forbid the new session from writing that state without it.345. If anything essential is missing (branch strategy, review policy, scope35 boundaries), ask one round of questions rather than guessing.3637## 2. Compose the kickoff prompt3839Required sections, in order:40411. **Mission** - what this session exists to do, in a paragraph. Name the42 step/phase it completes. State explicitly what kind of workstream it is43 (research, tooling, docs...) and what it must NOT touch.442. **Environment** - cwd, branch, remote, sibling worktrees or checkouts to45 leave alone, how changes land (PR? direct commit? review policy), and a46 note that the repo `CLAUDE.md` auto-loads and is binding.473. **Orient first** - concrete verification steps to run before any writing:48 expected `git log` HEAD and branch, clean-tree check, which docs to read49 in full vs skim, and the rule "trust commits over docs where they50 disagree."514. **Inherited-state summary** - what is already done, decided, in flight,52 or blocked; include the pen-holder line from step 1.4 when the project53 has shared mutable state.545. **Ordered work items** - numbered or tabled, each with a deliverable and55 enough spec to execute without guessing. Mark prepare-only items clearly.566. **Hard stops** - owner gates marked ⛳, commit/PR policy (including any57 no-attribution-trailer rule), scope guards, and what to do when a task58 seems to require crossing one (stop and ask).597. **Definition of done** - verifiable outcomes: what must be demonstrated,60 green, open, or reported when the session ends, including the closing61 report the owner expects. Make it **machine-checkable wherever possible**:62 an "Acceptance checks" list of concrete commands with their expected63 result (e.g. `uv run pytest -q` exits 0; `grep -rn "X" src/` returns64 empty; `gh pr checks N` all pass; `test -x ~/bin/tool`), so the session65 can verify completion itself and the owner can re-verify in seconds.66 Reserve prose-only criteria for genuinely unautomatable outcomes67 (owner judgment, review quality), and keep those few and explicit.6869Do NOT append standing disclaimers or footers to the prompt, PR text, or70chat messages — the owner does not want them there. Repo conventions about71disclaimers apply to the project's own research/output artifacts, not to72session prompts or PR bodies.7374## 3. Deliver it7576- Output the entire generated prompt in a **single fenced code block** so the77 owner can copy it in one motion. Use a four-backtick outer fence when the78 prompt itself contains triple-backtick fences.79- After the block, add at most 2-3 sentences: anything you had to assume, and80 any open question the owner should settle before pasting it.