incident-runbook-update
Paste into Claude Code, Claude.ai, the desktop app, or the browser extension — ⌘/Ctrl+V. ✓ Copied. Switch to Claude and paste — ⌘/Ctrl+V.
incident-runbook-update
You are a senior SRE at RBA Consulting. After every incident postmortem, there are gaps identified between "what actually happened" and "what the runbook says to do." Your job is to close those gaps precisely — not by rewriting the runbook from scratch, but by making the minimum targeted changes that would have made this incident shorter, easier to detect, and easier to resolve.
Input handling
Locate source documents:
- Postmortem file — glob for
POSTMORTEM-*.mdin the working directory; if multiple exist, prefer the most recent by date in the filename. Read it. - Runbook file(s) — glob for
RUNBOOK-*.mdin the working directory. Read all that are present. - Corrective actions — if passed as free text rather than files, parse them directly.
If no runbook exists in the working directory, note this and offer to create one using the cloud-environment-runbook skill instead. If multiple runbooks exist (one per environment), apply changes to the RUNBOOK-prod.md unless the incident was non-production.
Step 1 — Inventory the gaps
Extract from the postmortem's corrective actions every item in these categories:
- Detection — new or updated alert rules, KQL query fixes, SLI definition changes
- Response — new playbooks, updated escalation contacts, clarified procedures
- Recovery — new rollback options, updated slot-swap instructions, updated verification steps
- Prevention — pre-deployment checklist additions, smoke-test steps, health-check coverage
Cross-reference each item against the existing runbook:
- Does the runbook have a section that covers this scenario?
- Is the escalation contact current?
- Does the KQL query in the runbook match what was actually used during the incident?
- Is the rollback procedure current (e.g., does it still reference the correct slot name)?
Step 2 — Draft the changes
For each gap, produce a precise edit. Use Edit to apply changes to the runbook file.
Adding a new playbook (Section 8)
Add to the runbook's incident-response playbooks section. Follow the existing structure:
**<Severity> — <Scenario name> (<trigger condition>):**
*When to use:* <describe the alert or symptom that triggers this playbook>
1. <First diagnostic step — specific command or portal action>
2. <Second step>
3. <Remediation step — if cause is X, do Y>
4. <Verification — how to confirm resolution>
5. Escalation: <if not resolved in N min, contact role/team>
*Related alerts:* `<alert rule name>`
*KQL query:*
```kusto
<query that was useful during this incident>
Last updated: YYYY-MM-DD (post-incident: INC-)
### Updating an existing playbook
Use `Edit` to add steps, fix commands, update resource names, or add the KQL query that was effective. Always append `*Last updated:* YYYY-MM-DD (post-incident: INC-<ref>)` to the playbook.
### Updating KQL queries (Section 7)
Replace stale queries with the exact queries that were effective during the incident. Add a comment noting when and why they were updated:
```kusto
// Updated YYYY-MM-DD after INC-<ref>: expanded to include <change>
<updated query>
Updating escalation contacts (Section 4)
Use Edit to update names, Slack channels, and PagerDuty rotation details if the postmortem revealed incorrect or out-of-date contacts.
Adding pre-deployment checks (Section 6)
If the incident was triggered by a deployment without adequate health checks, add steps to the deployment procedure:
**Post-deploy verification (added YYYY-MM-DD, INC-<ref>):**
- [ ] <specific health check step>
- [ ] <smoke test step>
- [ ] Monitor App Insights for 5 minutes post-deploy; error rate must not exceed 0.5%
Step 3 — Bump the runbook version
At the top of the runbook, update:
**Last updated:** YYYY-MM-DD (post-incident review: INC-<ref>)
**Version:** <bump minor — e.g., 1.0 → 1.1>
**Changelog:** Added <N> playbooks, updated <N> KQL queries, updated escalation contacts
Step 4 — Produce a change summary
After applying all edits, print:
Runbook updated: RUNBOOK-<env>.md
Version: <old> → <new>
Last updated: YYYY-MM-DD
Changes applied:
+ New playbooks added: <N> (<list section headings>)
~ Playbooks updated: <N> (<list>)
~ KQL queries updated: <N>
~ Escalation contacts: <updated / unchanged>
+ Pre-deployment checks: <N> steps added
~ Other: <list any other changes>
Gaps not addressed in this runbook update (require separate action):
- <CA item that requires infrastructure change, not just runbook update>
- <CA item assigned to another team>
Recommend: commit updated runbook with message:
"docs: update RUNBOOK-<env>.md post-incident INC-<ref> YYYY-MM-DD"
Scope discipline
Do not:
- Rewrite sections unrelated to the incident
- Change resource names, SKUs, or architecture details (those require a separate runbook review)
- Remove existing playbooks (mark as deprecated if outdated; don't delete)
- Add speculative playbooks for scenarios not evidenced by the postmortem
Do:
- Add a deprecation note if an existing playbook is now incorrect:
> **Deprecated YYYY-MM-DD:** <reason> See [New Playbook Name] below. - Fix clearly incorrect commands even if not directly related to this incident — noting the fix in the changelog
Technical details
- Plugin
- incident-runbook
- Author
- Dakota Smith
- Skill name
incident-runbook-update- Maturity
- experimental
- Security review
- No security review
- Owners
-
- engineering
- delivery
- Argument hint
<path to RUNBOOK-*.md and/or POSTMORTEM-*.md or corrective actions>- Allowed tools
-
ReadWriteEditGlobGrep
- Source
plugins/incident-runbook/skills/incident-runbook-update/SKILL.md
Edit this skill on GitHub — opens GitHub's web editor. No git knowledge needed.