agentleFS
drvossdrvoss/everything-copilot-cli/skills/workflow/incident-response/SKILL.md

incident-response

Skill49 starsChanged 21 days agoMITView on GitHub

Use when production users are affected or data integrity is at risk and someone must run the response — declare severity and roles, keep one timeline, separate mitigation from root cause, post status on a fixed cadence, and close with a blameless review whose actions have owners.

83 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use dora-metrics, background-jobs and 10 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.
  • jholhewresSkill

    dora-metrics

    Calculate DORA metrics from git + deploy logs

    Also in 3 projects that use this

  • YepAPISkill

    background-jobs

    Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

    Also in 4 projects that use this

  • MicrosoftSkill

    data-modeling

    Use when the app needs to store or read data — records, a database, entities, CRUD, lists, "save/remember X", or per-user data with row-level security. This app's data layer is Rayfin's: you declare entities as TypeScript classes with decorators in rayfin/data/, register them in the schema, and read/write them through the typed rayfin-client. Covers: defining an @entity, field decorators, registering it, per-entity access with @role, owner-only row-level security, and the client query/mutation API. Triggers: data, database, model, entity, schema, table, record, CRUD, create, read, update, delete, list, store, save, persist, per-user, row-level security, RLS, access control, ownership.

    Also in 7 projects that use this

  • YepAPISkill

    data-pipelines

    ETL patterns, cron scheduling, queue-based processing, and batch jobs with Inngest/BullMQ.

    Also in 4 projects that use this

  • mmondoraSkill

    infrastructure-as-code

    Infrastructure as Code with Terraform and Pulumi. State management, modularity, drift detection, secrets handling. Use when provisioning cloud resources, writing Terraform/Pulumi modules, or managing infrastructure configuration.

    Also in 5 projects that use this

  • csiddhant796-blipSkill

    threat-detection

    Use when hunting for threats in an environment, analyzing IOCs, or detecting behavioral anomalies in telemetry. Covers hypothesis-driven threat hunting, IOC sweep generation, z-score anomaly detection, and MITRE ATT&CK-mapped signal prioritization.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 70 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    After recovery, to run the post-incident review and record follow-up actions

    line 23
  2. Distinctive:

    Stop the user impact first, with the least risky reversible action:

    line 77
  3. Distinctive:

    If recovery checks fail after a mitigation, reopen the response at step 3 with the next mitigation rather than declaring partial success.

    line 128
  4. Very specific:

    Use the review actions as input to deployment-canary rollback triggers for the next release

    line 135

“Common” is measured: kept by at least 6 in 10 of the 70 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 Response

An incident is a coordination problem before it is a debugging problem. Several people (and agents) act at once, facts arrive out of order, and users want to know what is happening. This skill gives the response a shape: one severity, named roles, one timeline, mitigation first, and a review that turns the outage into tracked work.

When to Use

  • An alert, support report, or monitor shows users are failing, data is wrong, or a security boundary may be breached
  • A deploy, migration, or config change is suspected of causing live harm
  • More than one person or agent is already working the problem and nobody owns coordination
  • After recovery, to run the post-incident review and record follow-up actions

When NOT to Use

Instead of incident-responseUse
Watching a release that is still healthy behind a canarydeployment-canary
Finding the root cause once users are no longer affectedsystematic-debugging
A failing test or CI job with no user impactactions-debugging or fix-build-errors
A suspected vulnerability with no evidence of exploitationsecurity-scan or threat-model-analyst

Prerequisites

  • A place everyone can read: an incident issue, a chat channel, or a shared document
  • Access to the signals that show user impact (dashboards, logs, error tracker, status checks)
  • Knowledge of the rollback or failover paths for the affected system

Workflow

1. Declare and Assign Roles

Declare the incident as soon as impact is likely; downgrading later is cheap, declaring late is not. Record a severity using the team's scale, or this default:

SeverityMeaning
SEV1Core workflow down or data loss/exposure for many users
SEV2Major feature degraded, workaround exists, or a subset of users affected
SEV3Minor impact, no urgency beyond business hours

Name three roles, even if one person holds two:

  • Incident lead — owns decisions and priorities; does not debug
  • Operations lead — runs the technical investigation and changes
  • Communications — writes status updates and keeps the timeline

Open the record with the GitHub CLI when the team tracks incidents as issues (the incident label must already exist — create it once with gh label create incident):

gh issue create --title "SEV2: checkout errors after 14:05 deploy" --label incident `
  --body "Lead: @a  Ops: @b  Comms: @c  Status: investigating"

2. Keep One Timeline

Append every observation and action with a timestamp in one place. Write facts, not conclusions: "14:12 error rate 8% on /checkout (dashboard X)" rather than "14:12 DB is overloaded". When an agent runs commands, record the command, the time, and the output that drove a decision. Redact credentials, personal data, and customer data; keep large raw output in an access-controlled place and link to it from the timeline.

3. Mitigate Before You Diagnose

Stop the user impact first, with the least risky reversible action:

  1. Roll back the suspected change, or turn off its feature flag
  2. Fail over, shed load, or scale the saturated component
  3. Block the abusive or malformed traffic

Each mitigation is a change: state it in the timeline before running it, and say how you will know whether it worked. Root-cause work starts once impact is contained — hand it to systematic-debugging with the timeline attached.

4. Communicate on a Fixed Cadence

Post status at a fixed interval (for example every 30 minutes for SEV1, 60 for SEV2), even when nothing changed. Each update states: current impact, what is being done, and the time of the next update. Do not speculate about cause in external updates.

5. Resolve and Review

Close the incident only after the recovery checks below pass. Within a few days, run a blameless review:

  • Timeline of detection, mitigation, and recovery, with times
  • What made detection or mitigation slow
  • Contributing causes (usually several), not a single culprit
  • Actions, each with an owner and a due date, filed as issues

Common Rationalizations

RationalizationReality
"It's probably nothing, let's look first"Late declaration is the most common reason incidents run long
"I'll fix the root cause, that's faster than rolling back"A fix under pressure is an untested change; roll back first
"No new information, so no update"Silence reads as abandonment; "no change, next update 15:30" is an update
"We know whose change caused it"Blame stops people reporting; contributing causes stop recurrence

Red Flags

  • Nobody can say who the incident lead is
  • Several people are making production changes without writing them down
  • The status update promises a cause or an ETA the team does not have
  • The review produces "be more careful" instead of owned, dated actions

Verification

  • The user-facing signal that showed the impact is back to its baseline, not just a component health check
  • The mitigation's side effects are checked (rolled-back data, disabled features, queued work)
  • Any data written during the incident is confirmed correct, or a repair action is filed
  • The timeline is complete enough for someone absent to follow the response
  • Every review action has an owner, a due date, and an issue

If recovery checks fail after a mitigation, reopen the response at step 3 with the next mitigation rather than declaring partial success.

Tips

  • Agents are useful as scribes and investigators: give one the timeline role and others bounded read-only investigations, and keep production changes with the operations lead
  • Use the review actions as input to deployment-canary rollback triggers for the next release

Download now (ZIP)

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.