Handoff
Write and rehydrate a durable session-handoff document so a fresh, zero-context session resumes work without inheriting bloated history. Use when approaching the context limit, before /clear, at end of session, or when handing work to another session or agent. Two operations — write (capture current state to a handoff doc) and rehydrate (re-ground a fresh session from it, reconciling against live state). Host-agnostic; discovers the handoff file per project. Invoke via /handoff (write) or /handoff rehydrate.From its SKILL.md
npx -y skills add pfeff/claude-skills --skill 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
- 2 stars2 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.
SKILL.md
3.6 KB, as published. Nobody here has run it
/handoff — session-handoff document
Writes a durable, inspectable Markdown state file to disk so a fresh, zero-context session can pick up exactly where the last one left off — instead of inheriting a bloated conversation or hoping lossy compaction kept the right things. The handoff doc is the explicit, reviewable alternative to /compact: you read it, verify it, then /clear.
This is the interactive-operator-layer primitive. It is human-readable and operator-facing — distinct from machine durability mechanisms (e.g. an AC serialized image). Use it for sessions that stay interactive across a /clear, a compaction, an end-of-day stop, or a handoff to another operator/agent.
Surface
/handoff [focus hint] # write/refresh the handoff doc
/handoff rehydrate # re-ground a fresh session from the doc
- A trailing
focus hint(e.g./handoff focus on the auth refactor) biases whatwriteemphasizes; it does not change the schema. - The handoff file location is discovered, not configured per-call — see
references/protocol.md.
Operations (load on demand)
| Operation | When | File |
|---|---|---|
| Write the handoff doc | /handoff (no rehydrate) | operations/write.md |
| Rehydrate a fresh session | /handoff rehydrate | operations/rehydrate.md |
Read only the operation that applies to the current invocation.
Doctrine source-of-truth
- The document schema is read from
references/schema.md. It is the durable contract — never inline it into an operation, and never silently drop a section. - The discovery rule, hand-off timing, and staleness-reconciliation procedure live in
references/protocol.md.
Both files are read at operation time. If either is missing, fail loud rather than improvising a schema — recover from git history.
Hard rules
- Always Write to disk — never just display the doc. A handoff that only appears in chat dies with the context it was meant to outlive.
- Review before reset.
writereports the path and reminds the operator to read it before/clear; it does not itself clear or compact. - Reconcile, don't assert.
rehydratecross-checks the doc against live state (git, andGOAL.md/coordif present) and flags divergence rather than trusting a possibly-stale doc. - No auto-act on rehydrate. Emit a re-grounding summary and hand control back to the operator/role.
See also
references/schema.md— the handoff document schema (frontmatter + sections)references/protocol.md— discovery rule, when to hand off, staleness reconciliationtask-workflow/finish,chief-of-staffEnd-of-Session Capture — knowledge capture (Obsidian session-journal, metrics). Complementary, not the same surface: those are durable knowledge; a handoff is ephemeral session state.goal-tree/resume-project— tree-status rehydration fromCLAUDE.md+GOAL.md+coord./handoff rehydratelayers a narrative re-grounding on top.