handing-off
Write a handoff document so a fresh agent can continue the work without re-loading the entire conversation.
When to use
- Context is approaching its limit and the work isn't done.
- The next stage requires a different agent (different model, different tools, different scope) or a human.
- Wrapping up a session at the end of the day with work in flight.
- The user invokes
/handing-off [focus] explicitly.
How to write the doc
- Summarize, don't duplicate. Reference commits (
<sha> — <message>), files (path:line), PRs, issues, ADRs, plans. The next agent can git log, Read, gh their way to detail. The doc carries the why and where things stand, not the contents.
- Lead with state. What's done, what's in flight, what's blocked, what's next. Use bullet lists, not paragraphs.
- Name suggested skills. If the next session should reach for
reviewing-code, updating-lockstep, etc., list them by name with a one-line "use when" so the next agent doesn't have to discover them.
- Tailor to the focus. If the user passed an argument (
/handing-off SEA migration), shape the doc around that scope; drop unrelated work into a "deferred" section.
- Stop at one screen. A handoff doc that takes longer to read than the work it summarizes has failed at its job.
Where to save
Use .claude/reports/<YYYY-MM-DD>-<slug>-handoff.md. The .claude/reports/ directory is gitignored fleet-wide (per CLAUDE.md "Generated reports" rule), so the doc stays local — no risk of committing a stale handoff. Slug is short kebab-case from the focus (e.g. rolldown-cascade, bugbot-cleanup).
mkdir -p .claude/reports
DATE=$(date +%Y-%m-%d)
PATH=".claude/reports/${DATE}-<slug>-handoff.md"
What NOT to include
- The full conversation — the next agent reads commits + diffs, not transcripts.
- Code listings that exist verbatim in source files (link instead).
- Decisions already captured in commit messages or ADRs (cite the SHA / file).
- A retrospective "what I learned" section unless it's load-bearing for the next agent's choices.
Why this exists
Originally adopted from mattpocock/skills/handoff, adapted for fleet conventions (.claude/reports/ instead of mktemp, gerund naming, fleet skill frontmatter).
1---2name: handing-off3description: Write a compact handoff so another agent or human can continue the work without replaying context.4---56# handing-off78Write a handoff document so a fresh agent can continue the work without re-loading the entire conversation.910## When to use1112- Context is approaching its limit and the work isn't done.13- The next stage requires a different agent (different model, different tools, different scope) or a human.14- Wrapping up a session at the end of the day with work in flight.15- The user invokes `/handing-off [focus]` explicitly.1617## How to write the doc18191. **Summarize, don't duplicate.** Reference commits (`<sha> — <message>`), files (`path:line`), PRs, issues, ADRs, plans. The next agent can `git log`, `Read`, `gh` their way to detail. The doc carries the _why_ and _where things stand_, not the contents.202. **Lead with state.** What's done, what's in flight, what's blocked, what's next. Use bullet lists, not paragraphs.213. **Name suggested skills.** If the next session should reach for `reviewing-code`, `updating-lockstep`, etc., list them by name with a one-line "use when" so the next agent doesn't have to discover them.224. **Tailor to the focus.** If the user passed an argument (`/handing-off SEA migration`), shape the doc around that scope; drop unrelated work into a "deferred" section.235. **Stop at one screen.** A handoff doc that takes longer to read than the work it summarizes has failed at its job.2425## Where to save2627Use `.claude/reports/<YYYY-MM-DD>-<slug>-handoff.md`. The `.claude/reports/` directory is gitignored fleet-wide (per CLAUDE.md "Generated reports" rule), so the doc stays local — no risk of committing a stale handoff. Slug is short kebab-case from the focus (e.g. `rolldown-cascade`, `bugbot-cleanup`).2829```bash30mkdir -p .claude/reports31DATE=$(date +%Y-%m-%d)32PATH=".claude/reports/${DATE}-<slug>-handoff.md"33```3435## What NOT to include3637- The full conversation — the next agent reads commits + diffs, not transcripts.38- Code listings that exist verbatim in source files (link instead).39- Decisions already captured in commit messages or ADRs (cite the SHA / file).40- A retrospective "what I learned" section unless it's load-bearing for the next agent's choices.4142## Why this exists4344Originally adopted from [`mattpocock/skills/handoff`](https://github.com/mattpocock/skills/blob/main/skills/in-progress/handoff/SKILL.md), adapted for fleet conventions (`.claude/reports/` instead of `mktemp`, gerund naming, fleet skill frontmatter).