Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write compact caller-authored session
.claude/skills/boshu2-handoff/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 177% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 817% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 482% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-19 | ✗→✓ | ▲ Improved | -41% | 0% |
A handoff works because the next context can act on exact paths and facts without trusting the author's memory; any line the reader cannot verify from the artifact itself is decoration, not handoff.
Write a factual session artifact that another context can read. Include:
Do not infer a next action, select work, assign ownership, consume the artifact, change tracker or Git state, classify a verdict, govern retries, or restart a runtime. Reading a handoff must not mutate it.
Named failure mode — optimistic closure: writing "done" for work whose evidence path does not exist, so the next context builds on a phantom.
Anti-pattern: narrating the session chronologically ("first I tried…, then…"). Corrective: record end-state facts — artifacts, paths, unresolved risks — and drop the journey.
Write the artifact to the caller-owned handoff location when the caller names one; otherwise it is explicit requested proof under .agents/ao/handoff/. There is no permanent generic handoff store — an artifact nobody consumes is scratch, not evidence.
The ao session handoff and ao session rehydrate commands implement the same boundary for JSON artifacts under .agents/ao/handoff/. The skill may write Markdown when that better serves a human, but the content semantics remain identical.
JSON artifacts already stored under .agents/handoff/ remain read-only evidence. ao session handoff writes new JSON to .agents/ao/handoff/, while ao session rehydrate searches both directories and selects the newest lexical handoff id; if an identical filename exists in both, the canonical .agents/ao/handoff/ copy wins. No command moves or deletes the legacy files. Human-authored Markdown consumers receive the exact path, so they do not need to scan either default. This owning skill contract is the compatibility authority; no separate migration artifact is required.
Return the artifact path and stop.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 8,781 | 8,717 | -1% | 1 | 1 | 0% | 1,352 | 869 | -36% | 0 | 0 | — |
case-02 | fail→fail | 9,615 | 12,966 | +35% | 1 | 1 | 0% | 1,657 | 2,025 | +22% | 0 | 0 | — |
case-03 | fail→fail | 10,780 | 7,322 | -32% | 1 | 1 | 0% | 2,240 | 777 | -65% | 0 | 0 | — |
case-04 | fail→fail | 9,794 | 8,967 | -8% | 1 | 1 | 0% | 1,393 | 2,038 | +46% | 0 | 0 | — |
case-05 | fail→pass | 7,043 | 13,772 | +96% | 1 | 1 | 0% | 1,145 | 3,174 | +177% | 0 | 0 | — |
case-06 | pass→pass | 9,180 | 17,849 | +94% | 1 | 1 | 0% | 1,707 | 3,175 | +86% | 0 | 0 | — |
case-07 | fail→fail | 17,838 | 4,831 | -73% | 1 | 1 | 0% | 3,550 | 1,247 | -65% | 0 | 0 | — |
case-08 | pass→pass | 14,423 | 3,305 | -77% | 1 | 1 | 0% | 1,327 | 1,030 | -22% | 0 | 0 | — |
case-09 | fail→pass | 19,922 | 12,869 | -35% | 1 | 1 | 0% | 333 | 3,054 | +817% | 0 | 0 | — |
case-18 | pass→fail | 4,279 | 6,896 | +61% | 1 | 1 | 0% | 692 | 853 | +23% | 0 | 0 | — |
case-10 | fail→fail | 9,133 | 11,920 | +31% | 1 | 1 | 0% | 1,399 | 1,442 | +3% | 0 | 0 | — |
case-11 | fail→pass | 9,755 | 7,684 | -21% | 1 | 1 | 0% | 323 | 1,879 | +482% | 0 | 0 | — |
case-12 | fail→pass | 14,406 | 6,320 | -56% | 1 | 1 | 0% | 2,082 | 1,609 | -23% | 0 | 0 | — |
case-13 | pass→pass | 4,866 | 14,073 | +189% | 1 | 1 | 0% | 782 | 2,490 | +218% | 0 | 0 | — |
case-19 | fail→pass | 8,605 | 1,414 | -84% | 1 | 1 | 0% | 1,219 | 724 | -41% | 0 | 0 | — |
case-14 | fail→pass | 10,679 | 7,718 | -28% | 1 | 1 | 0% | 1,876 | 1,923 | +3% | 0 | 0 | — |
case-15 | pass→pass | 6,625 | 3,348 | -49% | 1 | 1 | 0% | 1,176 | 1,150 | -2% | 0 | 0 | — |
case-16 | fail→pass | 10,641 | 1,222 | -89% | 1 | 1 | 0% | 1,597 | 692 | -57% | 0 | 0 | — |
case-17 | pass→pass | 12,926 | 10,709 | -17% | 1 | 1 | 0% | 1,972 | 2,295 | +16% | 0 | 0 | — |
case-20 | fail→fail | 4,292 | 13,575 | +216% | 1 | 1 | 0% | 587 | 3,311 | +464% | 0 | 0 | — |
case-21 | fail→fail | 2,057 | 6,367 | +210% | 1 | 1 | 0% | 335 | 752 | +124% | 0 | 0 | — |
case-22 | pass→fail | 4,874 | 19,159 | +293% | 1 | 1 | 0% | 752 | 3,082 | +310% | 0 | 0 | — |
case-23 | fail→fail | 5,688 | 10,732 | +89% | 1 | 1 | 0% | 934 | 2,429 | +160% | 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. 23 cases were attempted, and 16 counted toward the lift figure. The other 7 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 +22 percentage points is the difference between those two pass rates over the 16 comparable cases. 2 cases got worse with the skill loaded, and they are 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.