Install any skill in seconds. Free to start, no credit card required.
Get Started Free →This skill should be used when the user asks to "write a handoff", "hand this off", "package this work for someone else", "summarize where we are so another person/agent can continue", or "create a context doc before I switch off this task".
.claude/skills/borghei-handoff/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 9% | 0% |
A handoff is a self-contained context package that lets a different person — or a fresh AI agent — pick up in-progress work without re-deriving everything. Most delegation fails not because the next person lacks skill, but because the context in the originator's head never got written down: what's done, what's half-done, why a path was abandoned, and what to do next. This skill produces a structured handoff document that captures exactly that, so the receiver can be productive on their first action instead of their tenth.
Use it across any domain in this library — engineering work, a PM initiative, a compliance audit, a draft document — wherever work outlives a single working session.
Before writing the handoff, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the handoff.
bash# Gather objective state (git branch, recent commits, changed/untracked files) to seed the handoff python scripts/handoff_context.py --repo . --format markdown
handoff_context.py to capture the objective state (git status, recent commits, changed files).assets/handoff_template.md) — lead with goal + current state, not history.| Section | What it answers | Keep it to | |---------|-----------------|-----------| | Goal & done-state | Where are we headed and how do we know we're done? | 2-3 sentences | | Current state | What's done / in-progress / untouched right now? | A checklist | | Next steps | What should the receiver do, in order? | Ranked, actionable | | Decisions made | What's already settled (don't relitigate)? | Bullets + one-line why | | Abandoned paths | What was tried and ruled out, and why? | Bullets + reason | | Open questions / risks | What's unresolved or could bite? | Bullets, flag owner | | Key locations | Files, branches, dashboards, tickets, people | Links/paths |
auth.py:42 to the new token endpoint; expect a 200 with a JWT" is.In Scope: Producing a structured, self-contained handoff document for in-progress work in any domain; capturing objective repo state via the helper script; making open work actionable for the receiver.
Out of Scope: Project status reporting to stakeholders (project-management/execution/status-update-generator/); incident post-mortems (project-management/execution/post-mortem/); onboarding a new hire to a whole role (hr-operations/, project-management/career/pm-onboarding/). A handoff is about one body of in-flight work, not a person's full ramp-up.
assets/handoff_template.md — fill-in-the-blanks handoff document.scripts/handoff_context.py — captures git branch, recent commits, and changed/untracked files as a seed block.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 11,968 | 11,308 | -6% | 1 | 1 | 0% | 1,827 | 2,866 | +57% | 0 | 0 | — |
case-01 | fail→pass | 12,455 | 13,185 | +6% | 1 | 1 | 0% | 1,826 | 3,245 | +78% | 0 | 0 | — |
case-02 | fail→pass | 13,516 | 9,093 | -33% | 1 | 1 | 0% | 2,051 | 2,649 | +29% | 0 | 0 | — |
case-03 | fail→pass | 11,460 | 5,847 | -49% | 1 | 1 | 0% | 1,690 | 2,063 | +22% | 0 | 0 | — |
case-04 | fail→pass | 9,123 | 10,302 | +13% | 1 | 1 | 0% | 1,360 | 2,641 | +94% | 0 | 0 | — |
case-06 | pass→pass | 11,129 | 9,639 | -13% | 1 | 1 | 0% | 1,602 | 2,604 | +63% | 0 | 0 | — |
case-07 | fail→pass | 8,402 | 2,580 | -69% | 1 | 1 | 0% | 1,496 | 1,627 | +9% | 0 | 0 | — |
case-08 | fail→pass | 9,891 | 8,869 | -10% | 1 | 1 | 0% | 1,444 | 2,593 | +80% | 0 | 0 | — |
case-09 | pass→pass | 9,397 | 11,458 | +22% | 1 | 1 | 0% | 1,293 | 2,953 | +128% | 0 | 0 | — |
case-10 | fail→fail | 10,375 | 15,502 | +49% | 1 | 1 | 0% | 1,476 | 3,433 | +133% | 0 | 0 | — |
case-11 | fail→pass | 9,309 | 9,623 | +3% | 1 | 1 | 0% | 1,365 | 2,714 | +99% | 0 | 0 | — |
case-12 | fail→pass | 6,685 | 11,572 | +73% | 1 | 1 | 0% | 1,117 | 2,974 | +166% | 0 | 0 | — |
case-13 | fail→pass | 10,318 | 1,524 | -85% | 1 | 1 | 0% | 1,616 | 1,358 | -16% | 0 | 0 | — |
case-14 | fail→pass | 11,629 | 9,566 | -18% | 1 | 1 | 0% | 1,813 | 2,759 | +52% | 0 | 0 | — |
case-15 | fail→fail | 13,144 | 5,823 | -56% | 1 | 1 | 0% | 1,994 | 2,096 | +5% | 0 | 0 | — |
case-16 | fail→fail | 18,624 | 21,353 | +15% | 1 | 1 | 0% | 2,828 | 4,499 | +59% | 0 | 0 | — |
case-17 | fail→fail | 19,667 | 13,118 | -33% | 1 | 1 | 0% | 3,098 | 3,190 | +3% | 0 | 0 | — |
case-18 | fail→pass | 11,685 | 4,297 | -63% | 1 | 1 | 0% | 1,869 | 1,776 | -5% | 0 | 0 | — |
case-19 | fail→pass | 8,887 | 4,164 | -53% | 1 | 1 | 0% | 1,455 | 1,780 | +22% | 0 | 0 | — |
case-20 | pass→fail | 11,653 | 9,229 | -21% | 1 | 1 | 0% | 1,751 | 2,615 | +49% | 0 | 0 | — |
case-21 | pass→pass | 7,211 | 9,706 | +35% | 1 | 1 | 0% | 1,026 | 2,451 | +139% | 0 | 0 | — |
case-22 | pass→pass | 9,537 | 10,104 | +6% | 1 | 1 | 0% | 1,554 | 2,788 | +79% | 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. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 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.