Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Creates comprehensive handoff documents for seamless AI agent session transfers. Triggered when: (1) user requests handoff/memory/context save, (2) context window approaches capacity, (3) major task milestone completed, (4) work session ending, (5) user says 'save state', 'create handoff', 'I need to pause', 'context is getting full', (6) resuming work with 'load handoff', 'resume from', 'continue where we left off'. Proactively suggests handoffs after substantial work (multiple file edits, comp
.claude/skills/davila7-session-handoff/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 121% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 75% | 0% |
Creates comprehensive handoff documents that enable fresh AI agents to seamlessly continue work with zero ambiguity. Solves the long-running agent context exhaustion problem.
Determine which mode applies:
Creating a handoff? User wants to save current state, pause work, or context is getting full.
Resuming from a handoff? User wants to continue previous work, load context, or mentions an existing handoff.
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."
Run the smart scaffold script to create a pre-filled handoff document:
bashpython scripts/create_handoff.py [task-slug]
Example: python scripts/create_handoff.py implementing-user-auth
For continuation handoffs (linking to previous work):
bashpython scripts/create_handoff.py "auth-part-2" --continues-from 2024-01-15-auth.md
The script will:
.claude/handoffs/ directory if neededOpen the generated file and fill in all [TODO: ...] sections. Prioritize these sections:
Use the template structure in references/handoff-template.md for guidance.
Run the validation script to check completeness and security:
bashpython scripts/validate_handoff.py <handoff-file>
The validator checks:
[TODO: ...] placeholders remainingDo not finalize a handoff with secrets detected or score below 70.
Report to user:
List handoffs in the current project:
bashpython scripts/list_handoffs.py
This shows all handoffs with dates, titles, and completion status.
Before loading, check how current the handoff is:
bashpython scripts/check_staleness.py <handoff-file>
Staleness levels:
The script checks:
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.
Follow the checklist in references/resume-checklist.md:
Start with "Immediate Next Steps" item #1 from the handoff document.
Reference these sections as you work:
As you work:
--continues-from to chain themFor 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:
When resuming from a chain, read the most recent handoff first, then reference predecessors as needed.
Handoffs are stored in: .claude/handoffs/
Naming convention: YYYY-MM-DD-HHMMSS-[slug].md
Example: 2024-01-15-143022-implementing-auth.md
| Script | Purpose | |--------|---------| | create_handoff.py [slug] [--continues-from <file>] | Generate new handoff with smart scaffolding | | list_handoffs.py [path] | List available handoffs in a project | | validate_handoff.py <file> | Check completeness, quality, and security | | check_staleness.py <file> | Assess if handoff context is still current |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 12,334 | 5,851 | -53% | 1 | 1 | 0% | 2,141 | 1,762 | -18% | 0 | 0 | — |
case-02 | fail→fail | 5,373 | 3,194 | -41% | 1 | 1 | 0% | 229 | 1,826 | +697% | 0 | 0 | — |
case-03 | fail→fail | 13,870 | 7,046 | -49% | 1 | 1 | 0% | 2,619 | 1,828 | -30% | 0 | 0 | — |
case-04 | pass→fail | 6,666 | 3,914 | -41% | 1 | 1 | 0% | 1,080 | 2,201 | +104% | 0 | 0 | — |
case-05 | pass→pass | 14,304 | 10,627 | -26% | 1 | 1 | 0% | 2,267 | 2,993 | +32% | 0 | 0 | — |
case-06 | pass→pass | 11,419 | 23,002 | +101% | 1 | 1 | 0% | 1,896 | 3,306 | +74% | 0 | 0 | — |
case-07 | pass→pass | 7,962 | 5,237 | -34% | 1 | 1 | 0% | 1,212 | 2,329 | +92% | 0 | 0 | — |
case-12 | fail→pass | 5,831 | 2,976 | -49% | 1 | 1 | 0% | 864 | 1,911 | +121% | 0 | 0 | — |
case-08 | pass→pass | 8,098 | 4,689 | -42% | 1 | 1 | 0% | 1,317 | 2,316 | +76% | 0 | 0 | — |
case-09 | fail→pass | 9,120 | 3,022 | -67% | 1 | 1 | 0% | 1,345 | 1,977 | +47% | 0 | 0 | — |
case-10 | pass→pass | 4,828 | 4,267 | -12% | 1 | 1 | 0% | 811 | 2,017 | +149% | 0 | 0 | — |
case-11 | fail→pass | 9,526 | 1,802 | -81% | 1 | 1 | 0% | 1,488 | 1,657 | +11% | 0 | 0 | — |
case-13 | pass→pass | 5,416 | 2,519 | -53% | 1 | 1 | 0% | 873 | 1,805 | +107% | 0 | 0 | — |
case-14 | pass→pass | 5,042 | 2,577 | -49% | 1 | 1 | 0% | 790 | 1,811 | +129% | 0 | 0 | — |
case-15 | pass→pass | 11,634 | 2,892 | -75% | 1 | 1 | 0% | 1,762 | 1,779 | +1% | 0 | 0 | — |
case-16 | pass→pass | 10,069 | 2,545 | -75% | 1 | 1 | 0% | 1,624 | 1,837 | +13% | 0 | 0 | — |
case-17 | fail→pass | 9,288 | 2,435 | -74% | 1 | 1 | 0% | 1,514 | 1,802 | +19% | 0 | 0 | — |
case-18 | pass→pass | 9,679 | 5,126 | -47% | 1 | 1 | 0% | 1,558 | 2,198 | +41% | 0 | 0 | — |
case-19 | pass→pass | 6,093 | 6,628 | +9% | 1 | 1 | 0% | 821 | 1,783 | +117% | 0 | 0 | — |
case-20 | fail→pass | 11,475 | 15,281 | +33% | 1 | 1 | 0% | 1,806 | 3,159 | +75% | 0 | 0 | — |
case-21 | pass→pass | 15,759 | 10,117 | -36% | 1 | 1 | 0% | 2,402 | 3,170 | +32% | 0 | 0 | — |
case-22 | pass→pass | 4,587 | 2,334 | -49% | 1 | 1 | 0% | 632 | 1,718 | +172% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +18 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.