Claude skill session handoff
π Claude Code skill: never lose context to /clear again. Say 'wrap up' and get a 9-section structured handoff β decisions, running state, exact pickup command.
npx -y skills add txampa/claude-skill-session-handoffAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produce structured end-of-session summary for seamless handoff to fresh context. Use when user says "session handoff", "wrap up", "hand off", or before /clear. Output is chat-only (no files).
SKILL.md
3.1 KB, 749 tokens by cl100k_base, as published. Nobody here has run it
Session Handoff Skill
Produce a repeatable end-of-session summary so the user can /clear and start fresh without losing continuity.
When to invoke
User says: "session handoff", "wrap up session", "hand off", "handoff summary", "let's wrap up", or proactively if user says they're about to /clear.
How to produce the summary
- Review FULL conversation, not just last 3 turns
- Pull state from:
- Plan files in
.claude/plans/(if used this session) - TodoWrite state (in-progress/pending tasks)
- Background processes (
run_in_backgroundshell IDs) - Files created/modified (what you touched)
- Memory files written (if any)
- Unresolved questions (user asked but didn't get clear answer)
- Plan files in
- Do NOT audit filesystem. Synthesis only of what happened in THIS session.
- Output in chat only β never write a file, never update memory.
Output template β use exactly this every time
# Session Handoff β <one-line title>
## Where it started
<2-3 sentences: what user asked, key constraints>
## Decisions locked + shipped
- <decision> β <why, location if file>
- ...
## Key files for next session
- `<absolute path>` β <why read this first>
- Plan file: `<path>` (if applicable)
- Memory touched: `<paths>` (if any)
## Running state
- Background: <shell IDs + command to kill> or "none"
- Dev servers: <url + port> or "none"
- Worktrees/branches: <paths> or "none"
## Token budget this session
- Started: XXK tokens
- Ended: XXK tokens
- Next trigger: ~60% of window (manual compact before auto-compaction)
## Blocked by
- <waiting for user decision yes/no>
- <waiting for deploy result>
- or "none"
## Verification β how to confirm work
- `<command>` β <expected output>
- ...
## Deferred + open questions
- Deferred: <item> β <why pushed to later>
- Open: <question needing user input> β <context>
## Exact pickup command
\`\`\`bash
<full command to restart where we left off>
\`\`\`
## Pick up here
<1-2 sentences: single most likely next action for fresh agent>
Hard rules
- Chat output only. Never write to file. Never update memory.
- Never invent state. If section is empty, write "none" β do not omit.
- Absolute paths always. Next agent may have different working dir.
- Plan file first if it drove the session.
- Background process IDs are critical. Include with kill command.
- Token budget is now required. Track start/end and next trigger point.
- Blocked by section required. What's waiting on user input?
- Exact pickup command is now required. No guessing; full command.
- No emojis, no hype. Terse, concrete, engineering tone.
Anti-patterns β do NOT do these
- Summarizing only last 3 turns
- Using relative paths
- Skipping sections (use "none" instead)
- Writing summary to file
- Adding retrospective ("what went well / poorly")
- Recommending next steps beyond "Pick up here"
- Forgetting token budget or exact pickup command
What ships with it: 4 files
7.3 KB alongside SKILL.md
assets/
- demo-handoff.svg2.6 KB
- .gitattributes47 B
- LICENSE1.1 KB
- README.md3.6 KB