PlaygroundCatalog › On-Call Handoff
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.

▶ Run it free — no key needed 📝 Grade your existing draft View SKILL.md ↗

🗣 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