OH
On-Call Handoff
🔵 Stable🕐 updated 2026-07-19
🔷 SkillSpec L3
pm-engineering
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.
🗣 Say this to your agent
“Write an on-call handoff for this week”“Draft my SRE handover note”“Handoff pager to <name>”“End of shift summary”“Weekly on-call handover”
What to give it
▸Rotation & window — which rotation, dates and timezone of the shift ending, and dates of the shift starting.
▸Open incidents — for each: ticket ID, severity, one-line status, next step, owner.
▸Silenced / flapping alerts — alert name, why silenced, when the silence expires.
▸In-flight investigations — hypotheses not yet closed out, where the notes live.
▸Recent risky changes — deploys, feature flag flips, config rollouts in the last ~72h that might still bite.
▸Upcoming risky events — planned deploys, freezes, marketing pushes, load tests.
▸Runbook or dashboard drift — anything you touched that the runbook doesn't reflect yet.
✅ The bar it holds itself to
Every skill in this library self-verifies — these are this skill's own quality checks, straight from its definition.
✓Every "open incident" row has a **next step** and an **owner** — a handoff without those is just a status page.
✓Every silenced/flapping alert has an **expiry** or a **condition** for when it should stop being silenced — otherwise it will be silenced forever.
✓Every "recent risky change" has a **rollback path** (command, PR revert link, or the person who knows how).
✓Timestamps carry a timezone. "Tomorrow morning" is not a timestamp.
✓TL;DR is readable standalone — the incoming on-call should be able to act on it before they finish coffee.
✓No links or IDs are invented. Unknown values are marked "unknown — confirm on takeover", not fabricated.
⚠️ What it refuses to do
Do not write a chronological journal of the outgoing shift. The incoming engineer doesn't need your Tuesday afternoon; they need the state at 09:00 today.
Do not bury the buried lede. A P1 belongs in TL;DR, not on line 47.
Do not hand off "everything is fine" without saying what "fine" means — name the top three services you actively looked at and their SLO status.
Do not include war stories, praise, or vent. This is a working document, not a retro.
Do not close out an investigation with "resolved itself" — either name the fix, or move it to the watchlist with a trigger for re-opening.
Install
npx pm-claude-skills add --agent claude # or codex · cursor · gemini · hermes
# or one-line MCP (every skill, any client):
claude mcp add pm-skills -- npx -y pm-claude-skills-mcp
Start with
Related skills
🔌 Embed this skill
Drop this on your blog, docs, or site — it renders a "Run this skill" card:
<div data-pm-skill="oncall-handoff"></div>
<script src="https://mohitagw15856.github.io/pm-claude-skills/embed.js" async></script>
💬 Discussion
On-Call Handoff is one of 750 open-source professional AI agent skills — all SkillSpec L3.
Try them all in the browser · ⭐ Star on GitHub · Browse the full catalog