Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write a structured end-of-shift on-call handoff so the incoming engineer inherits state, not surprises. Use when asked to write an on-call handoff, oncall handover, shift handoff, pager handoff, or end-of-week SRE summary. Produces a handoff note with open incidents, watchlist alerts, in-flight investigations, recent changes, and one-line asks.
.claude/skills/mohitagw15856-oncall-handoff/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 55% | 0% |
Produces a compact end-of-shift handoff the incoming on-call can read in under two minutes and act on for the next seven days. The single job: transfer state and attention, not a novel.
Deliver the full handoff even from a thin brief — infer and label assumptions (never invent incident IDs, timestamps, service names, or dashboard URLs). If the outgoing engineer hasn't listed something, ask once, then move on with "unknown — confirm on takeover" placeholders.
Ask for (if not already provided), else label as unknown:
markdown# On-Call Handoff — <rotation> **Outgoing:** <name> · **Incoming:** <name> · **Window handed over:** <YYYY-MM-DD HH:MM TZ → YYYY-MM-DD HH:MM TZ> ## TL;DR (read this if nothing else) - <3–5 bullets: the state of the world, what's smoking, what's calm> ## 🔴 Open incidents | ID | Sev | Service | Status (one line) | Next step | Owner | |---|---|---|---|---|---| | <INC-…> | <S1/S2/S3> | <svc> | <what's happening now> | <what to do next> | <person> | ## 🟡 Watchlist (silenced / flapping / near-threshold) - **<alert name>** — silenced until <ts>. Reason: <one line>. If it fires after that, do <X>. ## 🔎 In-flight investigations (no incident yet) - **<Hypothesis in one sentence>** — evidence so far in <link>. Next probe: <one line>. ## 🚀 Recent risky changes (last 72h) - <deploy / flag / config> — <what shipped, blast radius, rollback command or link>. ## 📅 Upcoming this shift - <planned deploy / freeze / launch / load test> — <when, who to page if it goes sideways>. ## 🧭 Runbook / dashboard drift - <thing the runbook still says vs. what's actually true>. Owner to fix: <person>. ## Asks of the incoming on-call 1. <one thing to check within the first hour> 2. <one thing to confirm before end-of-week> ## Contacts - Escalation: <person / group>. Vendor tickets in play: <list>. Slack channels to lurk: <#…>. --- _Not an incident report — for full context on any open item, follow the linked ticket._
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 10,111 | 8,784 | -13% | 1 | 1 | 0% | 1,921 | 3,064 | +60% | 0 | 0 | — |
case-02 | fail→fail | 8,110 | 8,096 | -0% | 1 | 1 | 0% | 1,499 | 2,810 | +87% | 0 | 0 | — |
case-03 | fail→pass | 8,245 | 7,048 | -15% | 1 | 1 | 0% | 1,454 | 2,601 | +79% | 0 | 0 | — |
case-04 | pass→pass | 21,567 | 18,537 | -14% | 1 | 1 | 0% | 3,818 | 4,511 | +18% | 0 | 0 | — |
case-05 | pass→pass | 22,362 | 17,255 | -23% | 1 | 1 | 0% | 4,372 | 4,520 | +3% | 0 | 0 | — |
case-06 | fail→fail | 19,099 | 13,991 | -27% | 1 | 1 | 0% | 3,610 | 3,763 | +4% | 0 | 0 | — |
case-07 | fail→fail | 5,255 | 7,560 | +44% | 1 | 1 | 0% | 1,054 | 2,704 | +157% | 0 | 0 | — |
case-08 | fail→pass | 9,882 | 7,247 | -27% | 1 | 1 | 0% | 1,715 | 2,807 | +64% | 0 | 0 | — |
case-09 | fail→pass | 5,294 | 6,262 | +18% | 1 | 1 | 0% | 1,077 | 2,651 | +146% | 0 | 0 | — |
case-10 | pass→pass | 8,639 | 8,480 | -2% | 1 | 1 | 0% | 1,594 | 2,983 | +87% | 0 | 0 | — |
case-11 | pass→fail | 12,007 | 10,338 | -14% | 1 | 1 | 0% | 1,900 | 3,113 | +64% | 0 | 0 | — |
case-12 | pass→pass | 15,792 | 8,334 | -47% | 1 | 1 | 0% | 2,617 | 2,698 | +3% | 0 | 0 | — |
case-13 | pass→pass | 7,372 | 11,653 | +58% | 1 | 1 | 0% | 1,413 | 3,408 | +141% | 0 | 0 | — |
case-14 | pass→fail | 11,830 | 6,091 | -49% | 1 | 1 | 0% | 2,373 | 2,540 | +7% | 0 | 0 | — |
case-15 | fail→pass | 11,580 | 9,489 | -18% | 1 | 1 | 0% | 1,895 | 2,937 | +55% | 0 | 0 | — |
case-16 | pass→pass | 9,242 | 6,856 | -26% | 1 | 1 | 0% | 1,746 | 2,584 | +48% | 0 | 0 | — |
case-17 | pass→pass | 5,027 | 2,699 | -46% | 1 | 1 | 0% | 896 | 1,737 | +94% | 0 | 0 | — |
case-18 | fail→pass | 6,320 | 4,479 | -29% | 1 | 1 | 0% | 1,235 | 2,021 | +64% | 0 | 0 | — |
case-19 | pass→pass | 8,934 | 6,967 | -22% | 1 | 1 | 0% | 1,603 | 2,610 | +63% | 0 | 0 | — |
case-20 | pass→pass | 4,811 | 7,343 | +53% | 1 | 1 | 0% | 1,029 | 2,759 | +168% | 0 | 0 | — |
case-21 | fail→pass | 11,208 | 8,385 | -25% | 1 | 1 | 0% | 1,830 | 2,654 | +45% | 0 | 0 | — |
case-22 | pass→pass | 9,028 | 4,846 | -46% | 1 | 1 | 0% | 1,512 | 1,991 | +32% | 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 +23 percentage points is the difference between those two pass rates over the 22 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.