按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。
Handoff
Creates comprehensive handoff documents that enable fresh AI agents to seamlessly continue work with zero ambiguity. Solves the long-running agent context exhaustion problem.
Mode Selection
Determine which mode applies:
Creating a handoff? User wants to save current state, pause work, or context is getting full.
- Follow: CREATE Workflow below
Resuming from a handoff? User wants to continue previous work, load context, or mentions an existing handoff.
- Follow: RESUME Workflow below
Proactive suggestion? After substantial work (5+ file edits, complex debugging, major decisions), suggest:
"We've made significant progress. Consider creating a handoff document to preserve this context for future sessions. Say 'create handoff' when ready."
CREATE Workflow
Step 1: Generate Scaffold
Run the smart scaffold script to create a pre-filled handoff document:
python ~/.agents/skills/session-handoff/scripts/create_handoff.py [task-slug]Example: python ~/.agents/skills/session-handoff/scripts/create_handoff.py implementing-user-auth
Run it from the target project directory: the scaffold reads the project path, git branch, and recent commits from the current working directory.
For continuation handoffs (linking to previous work):
python ~/.agents/skills/session-handoff/scripts/create_handoff.py "auth-part-2" --continues-from 2024-01-15-auth.mdThe script will:
- Create
.claude/handoffs/directory if needed - Generate timestamped filename
- Pre-fill: timestamp, project path, git branch, recent commits, modified files
- Add handoff chain links if continuing from previous
- Output file path for editing
Step 2: Complete the Handoff Document
Open the generated file and fill in all [TODO: ...] sections. Prioritize these sections:
- Current State Summary - What's happening right now
- Important Context - Critical info the next agent MUST know
- Immediate Next Steps - Clear, actionable first steps
- Decisions Made - Choices with rationale (not just outcomes)
Use the template structure in references/handoff-template.md for guidance.
Step 3: Validate the Handoff
Run the validation script to check completeness and security:
python ~/.agents/skills/session-handoff/scripts/validate_handoff.py <handoff-file>The validator checks:
- [ ] No
[TODO: ...]placeholders remaining - [ ] Required sections present and populated
- [ ] No potential secrets detected (API keys, passwords, tokens)
- [ ] Referenced files exist
Do not finalize a handoff while the validator reports BLOCKED. It blocks on secrets, remaining [TODO: ...] placeholders, or missing required sections, and exits nonzero. Everything else is a warning.
Step 4: Confirm Handoff
Report to user:
- Handoff file location
- Validation verdict (READY / BLOCKED) and any warnings
- Summary of captured context
- First action item for next session
RESUME Workflow
Step 1: Find Available Handoffs
ls -t .claude/handoffs/*.mdNewest first. The filename carries the date and the task slug.
Step 2: Check Staleness
Compare the handoff's own header (timestamp, branch, commit) against the repo now:
git log --oneline -- . # commits since the handoff was written
git status --short # uncommitted drift
git branch --show-current # still the branch the handoff names?A handoff written on another branch, or behind many commits, is a lead rather than a fact: re-verify anything it asserts before acting on it.
Step 3: Load the Handoff
Read the relevant handoff document completely before taking any action.
If handoff is part of a chain (has "Continues from" link), also read the linked previous handoff for full context.
Step 4: Verify Context
Before acting on the handoff:
- Project directory and git branch match what the handoff names.
- Listed blockers are still blockers (they may have been resolved since).
- Stated assumptions still hold — check the ones the next step depends on.
- Modified files have no conflicting work on top of them.
Step 5: Begin Work
Start with "Immediate Next Steps" item #1 from the handoff document.
Reference these sections as you work:
- "Critical Files" for important locations
- "Key Patterns Discovered" for conventions to follow
- "Potential Gotchas" to avoid known issues
Step 6: Update or Chain Handoffs
As you work:
- Mark completed items in "Pending Work"
- Add new discoveries to relevant sections
- For long sessions: create a new handoff with
--continues-fromto chain them
Handoff Chaining
For long-running projects, chain handoffs together to maintain context lineage:
handoff-1.md (initial work)
↓
handoff-2.md --continues-from handoff-1.md
↓
handoff-3.md --continues-from handoff-2.mdEach handoff in the chain:
- Links to its predecessor
- Can mark older handoffs as superseded
- Provides context breadcrumbs for new agents
When resuming from a chain, read the most recent handoff first, then reference predecessors as needed.
Storage Location
Handoffs are stored in: .claude/handoffs/
Naming convention: YYYY-MM-DD-HHMMSS-[slug].md
Example: 2024-01-15-143022-implementing-auth.md
Resources
scripts/
| Script | Purpose |
|---|---|
create_handoff.py [slug] [--continues-from <file>] | Generate new handoff with smart scaffolding |
validate_handoff.py <file> | Check completeness, quality, and security |
Listing and staleness need no script — see the RESUME workflow above.
references/
- handoff-template.md - Complete template structure with guidance

