agentleFS
AllThingsSmittyAllThingsSmitty/proven-skills/skills/incident/SKILL.md

incident

Skill1 starsChanged 27 days agoMITView on GitHub

Guide incident response for production outages, degradations, and failures. Always use this skill when a production system is down or degraded, an alert fired, users are impacted, or when the user says "we have an incident", "production is down", "the site is down", "errors are spiking", "PagerDuty fired", "help me triage this", "what's the blast radius", or when walking through a post-mortem. Also use when designing runbooks or on-call procedures. Use immediately. Do not attempt to triage without reading this skill first.

We split this skill into the rules it gives an agent

10 rules. 0 are common, 10 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Don't skip steps, but don't let process slow down mitigation either.

    line 10
  2. Distinctive:

    Look at your error rate and latency graphs and find the inflection point

    line 30
  3. Distinctive:

    Update on a cadence (every 15–30 minutes for SEV1) even if nothing has changed.

    line 52
  4. Distinctive:

    Feature flags: if the affected feature can be disabled, disable it.

    line 66
  5. Distinctive:

    Scale up (if appropriate): if load is the cause, throw more capacity at it while you investigate the root cause.

    line 70
  6. Distinctive:

    Prioritize mitigation actions that are fast and reversible: Don't apply a surgical fix that takes 2 hours to develop when a rollback takes …

    line 72
  7. Distinctive:

    Narrow with binary search: if you don't have a clear suspect, find the boundary between healthy and broken.

    line 91
  8. Distinctive:

    Logs and traces: search for errors at or just before the incident start time.

    line 93
  9. Distinctive:

    Write one for every SEV1 and SEV2.

    line 116
  10. Distinctive:

    Five whys: keep asking "why" until you reach an organizational or process factor, not just a technical one.

    line 122

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Incident

An incident is a time-compressed debugging problem with real users impacted. The goals in order: restore service, limit blast radius, understand what happened, prevent recurrence.

Don't skip steps, but don't let process slow down mitigation either. Move fast on what you know; be explicit about what you don't.

Phase 1: Triage (first 5 minutes)

Establish the facts before taking action:

What is broken?

  • Is it a total outage (nothing works) or degradation (some things work, some don't)?
  • Which services, endpoints, or features are affected?
  • Are errors specific to a region, user segment, or data condition?

What is the blast radius?

  • How many users are impacted? All users, a percentage, a specific cohort?
  • What is the business impact? (Revenue, SLA breach, data loss risk?)
  • Is it getting worse, stable, or recovering on its own?

When did it start?

  • Look at your error rate and latency graphs and find the inflection point
  • What changed around that time? Deploys, config changes, traffic patterns, cron jobs, dependency updates?

Set an initial severity. Be explicit; it determines communication expectations and who needs to be involved:

  • SEV1: customer-facing, widespread impact, revenue or data at risk; all hands
  • SEV2: significant degradation, partial impact; engineering and product engaged
  • SEV3: minor degradation, workaround exists; engineering only

Phase 2: Communicate early

Notify before you've fixed it. Stakeholders need to know something is happening, even if you don't know why yet.

Initial message (Slack/PagerDuty/status page) format:

[SEV1] [IMPACT] — What users are experiencing, in plain language
Started: ~HH:MM UTC
Affected: [what]
Status: Investigating. Next update in 15 minutes.

Update on a cadence (every 15–30 minutes for SEV1) even if nothing has changed. "Still investigating" is a valid update. Silence is not.

Assign roles explicitly if multiple people are engaged:

  • Incident commander: owns the process, drives communication, makes escalation calls
  • Primary responder: hands on the keyboard, investigating and mitigating
  • Comms lead (for large incidents): writes status page and stakeholder updates

Phase 3: Mitigate first, investigate second

Your first goal is to stop the bleeding, not to understand why it's bleeding.

Rollback the most recent change. If something deployed in the last 2 hours, roll it back; don't investigate whether it caused the problem, just roll back. If the incident resolves, you have your answer. If it doesn't, you've ruled out the most likely cause and can continue investigating with a clean baseline.

Feature flags: if the affected feature can be disabled, disable it. A degraded-but-functional service is better than a broken one.

Traffic controls: rate limit, circuit break, or shed load if the system is overwhelmed. Partial service is better than no service.

Scale up (if appropriate): if load is the cause, throw more capacity at it while you investigate the root cause. Don't let a temporary capacity shortfall become a full outage.

Prioritize mitigation actions that are fast and reversible. Don't apply a surgical fix that takes 2 hours to develop when a rollback takes 5 minutes. You can fix it properly after service is restored.

Phase 4: Root cause investigation

Once you've mitigated (or if you've ruled out quick mitigations), investigate:

Observe the signals:

  • Error rates by endpoint, service, and dependency
  • Latency percentiles (p50, p95, p99): a p99 spike with p50 stable often points to a subset of requests or a resource contention issue
  • Saturation metrics: CPU, memory, connection pool usage, queue depth
  • Dependency health: are upstream services healthy? Are downstream consumers backed up?

Correlate with changes:

  • What deployed recently? (Code, config, infrastructure, dependencies)
  • Did traffic patterns change? (Load spike, new bot traffic, geographic shift)
  • Did any scheduled jobs or maintenance run recently?

Narrow with binary search: if you don't have a clear suspect, find the boundary between healthy and broken. Which requests succeed and which fail? Which data conditions trigger the problem? Which region or instance shows it first?

Logs and traces: search for errors at or just before the incident start time. Distributed traces are especially useful for pinpointing which service in a call chain is the slow or failing one.

Phase 5: Resolve and verify

Once you believe you have a fix:

  1. Apply it to a subset of traffic first if possible
  2. Watch error rates and latency return to baseline: not just "no new errors," but back to normal
  3. Confirm with real user reports if available
  4. Declare the incident resolved only when metrics confirm recovery, not when the fix is applied

Post-resolution message:

[RESOLVED] [IMPACT] — Incident is resolved as of HH:MM UTC.
Duration: X hours Y minutes
Root cause: [brief description]
Fix applied: [what was done]
Post-mortem: [date/link]

Post-mortem

Write one for every SEV1 and SEV2. The goal is learning, not blame.

Timeline: reconstruct the sequence of events with timestamps. When did the incident start? When was it detected? When were key actions taken? How long until mitigation? Until resolution?

Root cause: what specific condition caused the failure? Don't stop at the proximate cause ("the server ran out of memory"); find the contributing factors ("the server ran out of memory because a new feature loaded entire dataset into memory, which was safe on small datasets but not at production scale, and there was no load test that caught it").

Five whys: keep asking "why" until you reach an organizational or process factor, not just a technical one.

Action items: each action item needs an owner and a deadline. Categories:

  • Detection: how do we catch this faster next time? (Alert tuning, better dashboards)
  • Response: how do we respond better? (Runbook improvement, on-call training)
  • Prevention: how do we stop this from happening? (Code change, process change, architectural improvement)

Blameless means the post-mortem focuses on systems and processes, not on who made a mistake. People make mistakes in proportion to the systems that allow them to.

Runbook template

For known failure modes, write a runbook:

## [Service/Scenario Name]

**Symptoms**: What you'll see in alerts and dashboards
**Blast radius**: Who/what is affected
**Likely causes**: Ordered by probability

### Investigation

1. Check [metric/log] for [what to look for]
2. Run [command] to [determine X]

### Mitigation options

- **Option A (fast)**: [steps], [expected outcome], [caveats]
- **Option B (thorough)**: [steps], [expected outcome]

### Escalation

If [condition], page [team/person].

Download now (ZIP)

  • Other versions20 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 20

    1. AsiaOstrich/universal-dev-standards★ 82same name
    2. DataWithBaraa/claude-code-data-engineering-skills★ 52same name
    3. manusco/resonance★ 38same name
    4. ulises-jeremias/agent-toolkit★ 19same name
    5. lalulali/vespyr★ 11same name
    6. NotHarshhaa/devops-skills★ 8same name
    7. greglas75/zuvo★ 7same name
    8. gonimar/claude-web-studio★ 4same name
    9. umararshad4/honey-stack★ 4same name
    10. gufranco/claude-engineering-rules★ 3same name

    10 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use runbook, handover and 8 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • AnthropicSkill

      runbook

      Create or update an operational runbook for a recurring task or procedure. Use when documenting a task that on-call or ops needs to run repeatably, turning tribal knowledge into exact step-by-step commands, adding troubleshooting and rollback steps to an existing procedure, or writing escalation paths for when things go wrong.

      Also in 3 projects that use this

    • anujdutt9Skill

      handover

      Also in 3 projects that use this

    • OpenAISkill

      observability

      Vercel Observability expert guidance — Drains (logs, traces, speed insights, web analytics), Web Analytics, Speed Insights, runtime logs, custom events, OpenTelemetry integration, and monitoring dashboards. Use when instrumenting, debugging, or optimizing application performance and user experience on Vercel.

      Also in 3 projects that use this

    • VercelSkill

      deploy

      Deploy applications to Vercel. Use when the user says "deploy", "deploy to Vercel", "push to production", "deploy my app", or "go live".

      Also in 6 projects that use this

    • tuistSkill

      migrate

      Migrates existing Xcode projects to Tuist generated workspaces with build and run validation, external dependency mapping, and migration checklists. Use when adopting Tuist for an existing app or converting a hand-edited Xcode project to generated projects.

      Also in 3 projects that use this

    • AWSSkill

      retro

      Conduct a retrospective on a coding session.

      Also in 5 projects that use this

  • In this repository25 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.