handoff
Write the weekly on-call handoff: everything the incoming on-call needs, triage-ready, posted to the channel at shift boundary. Use when the weekly routine fires, or when someone asks for a handoff / shift summary / "catch the next on-call up".
- License 许可
- Apache-2.0
- 最近更新
- 2026-08-07
- Stars
- ★ 273
- Forks
- 26
01 前言 Front Matter
- name
- handoff
- description
- Write the weekly on-call handoff: everything the incoming on-call needs, triage-ready, posted to the channel at shift boundary. Use when the weekly routine fires, or when someone asks for a handoff / shift summary / "catch the next on-call up".
03 SKILL.md 正文
<!-- Copyright 2026 Anthropic PBC --> <!-- SPDX-License-Identifier: Apache-2.0 -->
Handoff
Standing rules in CLAUDE.md apply — especially rules 10 and 11: fresh
reader, lead with what to do. The incoming on-call missed everything; this
document is their entire week's context, and it must arrive as work they
can start, not "here's what happened".
Sources — sweep all of them
Fan out across every capability in STACK.md for the shift window
(default: the week since the last handoff):
pager— every page and incident: state, severity, resolutionalert-channels— what fired, what people said, what never got a threadcode— merges/PRs touching on-call-relevant paths; reverts; deploysmetrics— week-over-week trend of the health signals inONCALL.mdlessons.md— every entry appended this shift- each incident record's history over the shift window
Cross-reference: an alert with no thread, a lessons entry with no incident, a metric trending wrong with no alert — these orphans are usually the "watch this week" items.
Format
Post to the channel as a message with the exec summary, full doc attached or linked:
📋 On-call handoff — week of {{date}}
Exec summary: N incidents (n resolved, n monitoring). N pages. Anything systemic in one clause. On-call health: the required weekly metric — incidents and pages vs. last week, split by business-hours / off-hours, false pages, the rubber-stamp fraction (diagnoses acted on with no recorded verification step — the early warning that humans stopped cross-examining; see eval/replay.md), and whether the trend is up or down. This section is how the whole setup is measured over time (see eval/replay.md), so never omit it and never soften it. Intake health: median and worst time from symptom onset to incident declared this week (onset from the alert/thread timeline; declaration from the incident record). If incidents routinely run 40 minutes before anyone declares one, that's the process finding of the week — you can't fix an intake path you don't measure. Watch this week: the 1–3 things most likely to page you, each with why and a link to its pattern (
lessons.mdtag or reference file). Start here: the single highest-priority open item, with its current state and next action. Full doc: [link] · New to this channel? ReadONBOARD.md— how to read a diagnosis, challenge one, or silence a routine.
The full doc, per incident: what happened (one fresh-reader sentence, links) · what it means (pattern or one-off? systemic risk?) · what you should do (nothing / monitor / action, with the action named).
Then: open items ranked by "will this page you?", not by age. Preventable repeats called out as playbook gaps with proposed reference-file amendments (rule 9 — fix the playbook, not just the incident).
Drift check (required section)
The ground moves between incidents; this is where the kit notices. Each week, flag:
- any
STACK.mdbinding that failed or 403'd during the week's work - any reference file whose first-checks cite a tool or query that no longer responds
- anything in the
deploysfeed or announcement channels suggesting the infrastructure changed under the playbooks — a migration completed, a tool replaced, a service renamed - the routine registry vs. reality: does the "Standing work" canvas match the channel's actual routines? Fix the registry; flag any routine that exists but was never registered
- open incidents with no update in >{{72h}} — the zombie list, each with its three-leg staleness evidence per ONCALL.md's lifecycle section, framed as "close it or update it", never closed by Claude (rule 2)
Each flag arrives as a proposal, never an edit (rule 9): "re-run Discover for this binding," a reference-file amendment PR, or "re-run the replay against post-change incidents" (see eval/replay.md's re-validation triggers). A quiet week with no drift gets one line: "no drift detected."
Discipline
- "Here's what happened" without "start here" is a diary, not a handoff — the priorities are the point.
- Never soften a preventable repeat. Write it plainly: "2 auto-reverts, both preventable."
- If the week was quiet, say so in two lines and stop. Padding a quiet week erodes trust in loud ones.
04 同仓库更多 Skills
weather
The optional standing status report ("the weather"): compile open incidents, build health, merge-queue stats, and deploy lag into one always-current report page, and post to the channel only when a defined event fires. Use when the weather routine fires, or when someone asks to run/update the weather report.
triage
Investigate an alert or incident in this channel: classify the symptom, load the matching triage reference, check lessons.md for known causes, and post a grounded first-pass diagnosis with evidence links and a proposed (never executed) fix. Use when an alert fires, a routine detects a new anomaly, or someone reports something broken ("tests aren't running", "deploys look stuck", "is CI down?").
oncall-setup
Bootstrap a Claude-assisted on-call for this channel/repo: discover the available connectors, mine incident history into draft triage playbooks, interview the human for policy, validate against held-out incidents, and install the scheduled routines. Use when the user wants to "set up on-call", "bootstrap the on-call kit", "onboard this channel", or has just installed the oncall-kit plugin. Five gated phases — never run more than one phase per turn, and never activate anything before Phase 4 sign-off.