Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Given an alert definition (or a postmortem), produce a runbook entry — symptom, first 5 actions, escalation. Use when an alert lacks a response procedure or a postmortem action item calls for one.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 14% | 0% |
Turn an alert definition (a Prometheus rule, a Datadog monitor, a PagerDuty service config) OR a postmortem into a runbook entry the on-call engineer can follow at 3am. Used by the sre agent. The output is a single-page runbook stub the on-call edits as needed — not a final doc, but a structured starting point that prevents the "blank page at 3am" problem.
*.rules.yaml, Datadogmonitor JSON export, generic YAML with name + query)
postmortems/YYYY-MM-DD-*.md)--out (defaultrunbooks/<alert-name>.md).
the file themselves.
text, not a script.
runbook for the disk-full alert").
alerts that exist but lack docs.
is not a first action. If the team doesn't know the symptom-to- cause mapping yet, run a game-day or shadow an incident first.
if every step is a script, the work belongs in code, not docs.
what to do; the SLO tells them whether to wake up.
sh if [ -n "${ALERT:-}" ]; then mode=alert elif [ -n "${POSTMORTEM:-}" ]; then mode=postmortem else echo "pass --alert or --postmortem" >&2; exit 2 fi
alert mode — pull name, expr/query, for, severity, summary annotation, runbook_url annotation if already set. sh yq '.groups[].rules[] | select(.alert)' "$ALERT"
postmortem mode — pull title, root cause section, detection section, mitigation steps, action items.
order — the on-call's eye expects the same order on every entry:
markdown # Runbook: <alert name>
Severity: sev-1 | sev-2 | sev-3 Owner team: <team> Pages: yes | no SLO impact: <which SLO budget this burns>
## Symptom What the alert means in one sentence. What the user sees, not the metric.
## First 5 actions
## If the first 5 don't help Escalate to <secondary on-call / team lead>. Page <service-owner> if the symptom is still active after <N> minutes.
## Known false positives
## Related
summary annotation; populate First 5 actions with stubs:
kubectl rollout history / equivalent)These are STUBS — the operator overwrites them with the real symptom-specific actions. The skill marks them with a <!-- TODO: replace --> comment to make that obvious.
postmortem's mitigation section. If the postmortem has 8 mitigation steps, take the first 5 and list the rest under "If the first 5 don't help."
--out (orrunbooks/<slug-of-alert-name>.md). Refuse to overwrite if the path exists; require --force.
For a one-off entry, the operator copies the template above into a new file and fills it in. Five sections, ordered. The point of the skill is consistency across runbooks, not novel content per entry.
is the operator commits the skill output without replacing the TODOs. The skill emits the file with a banner at the top: > [!WARNING] This runbook contains TODO stubs. Replace before on-call relies on it. The CI lint step in the runbooks repository should reject files with <!-- TODO: replace --> still present.
the repo, but the alert needs annotations.runbook_url pointing at the rendered page (e.g., a generated GitHub Pages URL). The skill does NOT update the alert def — that's a separate edit. Easy to forget; the runbook is useless if the on-call can't find it from the page.
If the on-call needs 12 steps, the alert is too coarse — split it into multiple alerts each with a tighter symptom. Resist the urge to bullet-list 14 items.
from a 2024 postmortem describes the 2024 architecture. Re- validate runbooks during on-call shadowing; mark stale ones with a Last reviewed: trailer.
if every alert pages, the team is at burnout risk. The skill does not enforce this — it's a culture call — but the runbook's Pages: field surfaces the count.
troubleshooting).
lib/skills/postmortem-write/SKILL.md — companion: producesthe postmortem this skill can read.
runbooks/ — project-level runbook directory.Other measured skills in the registry, with their headline benchmark lift.