cw-handoff
GitHub用于生成代理接管提示、续接说明或会话结束摘要的 Skill,确保交接内容基于实时状态并分离已完成/疑似/阻塞项。
Trigger Scenarios
Install
npx skills add codewhale-hq/Codewhale --skill cw-handoff -g -y
SKILL.md
Frontmatter
{
"name": "cw-handoff",
"description": "Use when writing a Codewhale takeover prompt, continuation note, or end-of-session summary for another agent or a later session: a paste-ready handoff grounded in live state, with done\/suspected\/blocked kept separate."
}
cw-handoff
A handoff is read by an agent with none of your context and every incentive to believe you. That makes an optimistic handoff worse than no handoff: it converts your guesses into the next session's premises. Write it so the reader can re-derive the state instead of trusting the prose.
Stage 6 of the loop, and the one that makes the loop a loop: the next session starts at cw-orient with what you leave here.
When to use
- Ending a session with work in flight.
- Asked for "a prompt for another agent", takeover instructions, a continuation note, or a summary of current state for async work.
- Handing work to a different model, a fleet worker, or a remote session.
Workflow
-
Write it as a prompt the next agent can paste directly. Not a report about the work — instructions for continuing it.
-
Open with the refresh block, not with your summary. The first thing the reader should do is verify you:
cd <repo path> git status --short --branch && git branch --show-current git log --oneline --decorate -20 git log --oneline origin/main..HEAD ./scripts/release/check-versions.shTell them to trust that output over anything below it.
-
Cover these, in whatever order fits; drop sections that are empty:
- Repository path; it should be on
main. - The authority line: what they may do without asking. The default for
maintainers is that verified slices commit and push to
main(AGENTS.md). Tag, GitHub Release, publish, deploy, PR merge and destructive cleanup need explicit approval. A task scoped local-only says so. - Durable files to read, ordered by importance: the scoped
AGENTS.mdfor the area, then the specific docs (docs/CACHE.md,docs/MOTION_CONTRACT.md,docs/ARCHITECTURE.md,crates/tui/AGENTS.md) the task actually touches. - Commits already landed, with SHAs.
- Dirty-checkout caveats, naming uncommitted files explicitly, and whether a live writer is mid-edit on them. This is the single most useful line in most handoffs.
- The next slices, in priority order, each bounded the way cw-slice bounds one.
- The verification gate for those slices — the smallest correct one from cw-gates, plus any known-flaky names.
- Open decisions that genuinely belong to Hunter.
- Repository path; it should be on
-
Separate three states, and never blur them: done and verified (with the command output that proves it), suspected (a hypothesis, labeled), and blocked (with what unblocks it). If you did not run it, it is not done.
-
Say what is unpushed and why. A commit ahead of
origin/mainis either waiting on a check (name it) or blocked (name the blocker). -
Record missing external receipts. If the task was local-only, say which evidence you could not gather (CI state, registry state, review threads) rather than inferring it. A named gap is useful; a confident guess is not.
Before writing the handoff, run the record backstop and list anything it shows as owed:
git log --format='%h %s' "$(git log -1 --format=%H -- CHANGELOG.md)"..origin/main | grep -E '^[0-9a-f]+ (feat|fix)' python3 scripts/check-contributor-credit.py
Red flags / don't
- Don't imply publication happened unless you verified registry, tag, or release state live.
- Don't hand off a narrative. Prefer concrete paths, commands, and SHAs.
- Don't summarize away the dirt. Unnamed uncommitted files get destroyed.
- Don't hand the next agent decisions you could have made. Reserve Hunter-facing choices for product direction, irreversible actions, and visual judgments that need eyes.
- Don't copy a previous handoff's state forward. Re-derive it; that is what step 2 is for.
- Don't include secrets, tokens, or provider credentials in a handoff file.
Output
A single paste-ready block with the default shape — refresh commands, authority line, files to read, landed SHAs, named dirty files, prioritized next slices, the verification gate, and the open decisions — with done / suspected / blocked visibly separated. Compress when trivial, but never compress away the state separation: that is what keeps guesses from becoming the next session's premises.
Version History
-
8225f75
Current 2026-11-02 21:26
对齐维护者技能至标准 main 分支,移除 worktree/branch lanes 和 leave-dirt-alone 规则,默认在 main 上验证推送,并为 cw-handoff 增加漂移检查命令。
-
6e005de
2026-09-22 10:01
精简了运行时已强制执行的规范描述,优化了输出模板的压缩规则,明确了自动化解析的安全边界与保留字段。
- aedb88b 2026-09-09 04:22


