Skip to content
Back to skills

Incident Response

ASecurity

Discipline for the full incident lifecycle, declaring and sizing an incident by severity, separating the incident-commander/comms/ops roles, mitigating before root-causing, and writing a blameless postmortem that investigates the system rather than a person. Use when a production incident is happening or just resolved, when the user asks to declare an incident, run an incident response, write a postmortem, or asks who's in charge during an outage.

  • 18 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added August 31, 2026
ai-agentsgodebugging

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned August 31, 2026

npx -y skills add aethrox/doctrine --skill incident-response --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Incident Response?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Incident Response
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aethrox-incident-response/badge)](https://www.skillsdirectory.com/skills/aethrox-incident-response)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: incident-response
description: Discipline for the full incident lifecycle, declaring and sizing an incident by severity, separating the incident-commander/comms/ops roles, mitigating before root-causing, and writing a blameless postmortem that investigates the system rather than a person. Use when a production incident is happening or just resolved, when the user asks to declare an incident, run an incident response, write a postmortem, or asks who's in charge during an outage.
---

# Incident Response

An incident is a sequence of distinct phases, each with a different job; declaring it is not the same task as fixing it, and fixing it is not the same task as understanding why it happened. The postmortem investigates **the system**, never a person: "who broke it" is the wrong question; "what condition in the system allowed this to break, and how do we change that condition" is the right one. This builds on `observability`'s alert/runbook phase (that's how an incident gets detected and where the first response steps live) but covers the incident's lifecycle after that point.

## Phase 1: Detect and declare

- Assign a **severity** at declaration time, sized to actual user impact, not to how alarming the alert sounds: SEV1 (full outage or data loss, all hands, immediate), SEV2 (significant degradation, a subset of users or a non-critical path), SEV3 (minor, workaround exists, no active user harm). The severity gates how much process kicks in; a SEV3 doesn't need the full incident-commander machinery below.
- Bias toward declaring early. A cheap early declaration that turns out to be a false alarm costs a few minutes; a real incident left undeclared because "it might resolve itself" costs the response time that could have started sooner.
- Anyone who spots the signal can declare; don't gate declaration behind a single role being available, or the incident sits unacknowledged while that person is found.

## Phase 2: Roles

For anything above the smallest severity, split the response into roles so one person isn't simultaneously debugging, fielding questions, and deciding what to tell stakeholders:

- **Incident commander (IC).** Owns the response's shape: coordinates who's doing what, makes the call on mitigation actions, decides when to escalate or de-escalate. The IC does not have to be the most senior engineer in the room or the one who best understands the failing system: the IC's job is coordination, not diagnosis.
- **Ops / subject-matter responder(s).** Actually investigates and mitigates, reporting status to the IC rather than making unilateral calls that change the incident's shape.
- **Communications lead** (above the smallest severity). Keeps stakeholders and status pages updated on a cadence, so the ops responders aren't interrupted every few minutes for a status update they don't have time to give.

A single person can hold more than one role on a small incident; the point is that these are distinct **functions**, assigned deliberately, not that every incident needs three separate humans.

## Phase 3: Mitigate before root-causing

The immediate goal is restoring service, not understanding the failure; those are sequential, not simultaneous, goals:

- Reach for the fastest safe mitigation first: roll back (see `safe-deployment`'s rollback trigger discipline), fail over, disable the offending feature flag, shed load. A full root-cause diagnosis (the `diagnosing-bugs` loop) starts **after** service is restored or stably mitigated, not instead of restoring it.
- Log the mitigation timeline as it happens (what was tried, when, what changed); this becomes the postmortem's timeline verbatim; reconstructing it from memory afterward loses precision exactly where precision matters most.
- Declare the incident mitigated (not necessarily resolved) once user impact stops, and only close it out once the underlying cause has an owner and a plan, even if that plan is a follow-up postmortem action item.

## Phase 4: Blameless postmortem

Required for SEV1 always, abbreviated for SEV2, optional brief summary for SEV3. Write the postmortem without em dashes, using a comma, colon, period, or a reworded sentence instead. Structure:

1. **Summary**: one paragraph: what happened, user impact, how it was resolved.
2. **Impact**: duration and scope (which users/systems), quantified where possible (requests failed, revenue/SLA impact; reuse the `observability` SLO/error-budget numbers if the service tracks them).
3. **Timeline**: chronological, from first signal to full resolution, built from Phase 3's running log.
4. **Root cause**: the technical cause, traced with the same rigor as `diagnosing-bugs`' hypothesis-and-verification discipline, not a guess written after the fact.
5. **Contributing factors**: the process or system gaps that let the root cause turn into user-facing impact: a missing test, an ambiguous runbook, an alert that didn't fire, unclear ownership. This is where the blameless framing does its real work; reframe every "X forgot to Y" as "the system allowed Y to be skipped," and fix the system.
6. **What went well**: the parts of the response worth keeping (fast detection, an accurate runbook, a mitigation that worked). A postmortem that only lists failures teaches half the lesson.
7. **Action items**: each with a named owner and a tracked ticket, not a bullet list that ends the document and gets forgotten. An action item with no owner is a wish, not a fix.

Never name an individual as the cause in the document. If a specific action (a deploy, a config change, a command) triggered the incident, describe the action and the system condition that let it cause harm, not who performed it.

## Done when

- [ ] The incident was declared with a severity matching real user impact, not the loudest alert.
- [ ] Roles were assigned above the smallest severity, so diagnosis and coordination didn't collapse onto one person.
- [ ] Mitigation restored service before root-causing started.
- [ ] The postmortem exists at the tier its severity requires, investigates the system rather than a person, and every action item has a named owner and a tracked ticket.

Files in this skill

  • SKILL.md6 KB
  • agents/openai.yaml124 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.