Incident Response
$fw:incident is Flywheel's incident-first workflow.
Use it when the work starts from a live or recently live problem and the first
question is:
- what is affected right now?
- should we mitigate, roll back, patch, or observe a little longer?
- what evidence must be preserved before the tree changes?
This skill is not a full SRE handbook. It is the shortest honest path from
runtime evidence to the right next Flywheel stage.
Interaction Method
Follow ../references/host-interaction-contract.md.
Call the exact host question tool named in
../references/host-interaction-contract.md when that tool is available. Do
not ask for raw 1/2/3 replies when the host already offers a choice surface.
When the workflow spans multiple material steps, use the host task-tracking
tool named in ../references/host-interaction-contract.md to create and
maintain a short task list.
Ask one question at a time. When multiple response paths are viable, present
the recommended label first and rely on the host's native freeform final path
when it exists.
Input
#$ARGUMENTS
Interpret the input as:
- an alert, page, or on-call summary
- logs, traces, metrics, or runtime symptoms
- a production bug or customer-impact report
- a blank request to inspect current runtime evidence and determine the next
move
Reference Loading Map
Do not preload every reference. Load only what the current phase needs:
- Read
references/incident-template.md when producing the local incident
handoff artifact.
- Read
references/decision-matrix.md when choosing mitigation, rollback,
patch, or observe posture.
- Read
../observability/references/service-readiness-matrix.md when the
incident crosses contracts, state, retries, queues, or other blast-radius-
sensitive boundaries.
- Read
../commit/references/evidence-bundle.md when incident evidence should
feed later debug, rollout, or commit work.
Core Principles
- Start from runtime evidence - logs, traces, metrics, alerts, and live
symptoms outrank guessed fixes.
- Stabilize before polishing - the first job is to reduce harm and bound
blast radius, not to produce a perfect root-cause writeup.
- Separate mitigation, rollback, and patch - these are different decisions
with different risks.
- Preserve the evidence trail - later debug and rollout work should not
depend on memory or chat alone.
- Route as soon as the next job is clear - use
$fw:debug, $fw:rollout,
$fw:plan, $fw:work, or $fw:commit once the incident posture is decided.
Workflow
Phase 1: Touch Grass
Ground the incident in current truth:
- read the incident report, alert, issue, or user report in full
- inspect logs, traces, metrics, dashboards, queue state, error trackers, and
rollout artifacts for the affected surface
- read
AGENTS.md, CLAUDE.md, nearby runbooks, and relevant entries from the
active repo's docs/solutions/
- inspect
.flywheel/config.local.yaml when present for repo-local bug-fix or
runtime gates
- inspect the latest review, rollout, commit, or evidence-bundle artifacts if
the incident likely ties back to a recent change
Capture:
- current symptom
- affected runtime surface
- likely blast radius
- current mitigation or rollback levers
- what evidence still needs to be preserved before code changes begin
Phase 2: Frame The Incident
State, as concretely as possible:
- what is failing or degraded
- who or what is affected
- whether the issue appears ongoing, contained, or historical
- whether the likely next move is mitigation, rollback, patch, or more
evidence-gathering
If the incident crosses contracts, state, retries, queues, or other recovery-
heavy boundaries, read
../observability/references/service-readiness-matrix.md so the blast radius
and recovery frame stay concrete.
Phase 3: Choose The Immediate Path
Read references/decision-matrix.md.
Choose one of:
- Mitigate in place - disable, rate-limit, degrade, or isolate the bad
path while keeping service up
- Roll back - revert or disable the recent change when a rollback lever is
safer than patching live
- Patch now - route into
$fw:debug when a quick local causal proof
and fix path is realistic
- Observe briefly - only when impact is low or confidence is too low for a
stronger move, and only with an explicit time box
- Freeform path when the incident needs a different response
State why the recommended path is best given impact, confidence, rollback
levers, and time-to-recovery.
Phase 4: Produce The Handoff
Read references/incident-template.md.
Prefer a local incident artifact at:
.context/flywheel/incident/<run-id>/incident.md
Also create or update the shared evidence bundle under:
.context/flywheel/evidence/<bundle-id>/
Preserve only what later stages need:
- incident summary
- runtime evidence references
- chosen immediate path
- mitigation or rollback lever
- next handoff stage
Then route cleanly:
- mitigate or patch ->
$fw:debug
- rollback or staged disablement ->
$fw:rollout or $fw:commit
- design-level follow-up after stabilization ->
$fw:plan or
$fw:brainstorm
Output Contract
Return a concise incident brief:
- Incident surface - what is failing or degraded
- Current evidence - the logs, traces, metrics, alerts, or runtime facts
- Blast radius - who or what is affected
- Recommended immediate path - mitigate, roll back, patch, or observe
- Artifact paths - incident artifact path and shared evidence-bundle path
when created
- Next handoff -
$fw:debug, $fw:rollout, $fw:plan, $fw:work, or
$fw:commit
Included References
@./references/incident-template.md
@./references/decision-matrix.md
@../observability/references/service-readiness-matrix.md
@../commit/references/evidence-bundle.md
1---2name: incident3description: Handle runtime incidents from live evidence. Use to bound blast radius and choose mitigation, rollback, or patch.4---56# Incident Response78`$fw:incident` is Flywheel's incident-first workflow.910Use it when the work starts from a live or recently live problem and the first11question is:1213- what is affected right now?14- should we mitigate, roll back, patch, or observe a little longer?15- what evidence must be preserved before the tree changes?1617This skill is not a full SRE handbook. It is the shortest honest path from18runtime evidence to the right next Flywheel stage.1920## Interaction Method2122Follow `../references/host-interaction-contract.md`.2324Call the exact host question tool named in25`../references/host-interaction-contract.md` when that tool is available. Do26not ask for raw `1/2/3` replies when the host already offers a choice surface.2728When the workflow spans multiple material steps, use the host task-tracking29tool named in `../references/host-interaction-contract.md` to create and30maintain a short task list.3132Ask one question at a time. When multiple response paths are viable, present33the recommended label first and rely on the host's native freeform final path34when it exists.3536## Input3738<incident_input> #$ARGUMENTS </incident_input>3940Interpret the input as:4142- an alert, page, or on-call summary43- logs, traces, metrics, or runtime symptoms44- a production bug or customer-impact report45- a blank request to inspect current runtime evidence and determine the next46 move4748## Reference Loading Map4950Do not preload every reference. Load only what the current phase needs:5152- Read `references/incident-template.md` when producing the local incident53 handoff artifact.54- Read `references/decision-matrix.md` when choosing mitigation, rollback,55 patch, or observe posture.56- Read `../observability/references/service-readiness-matrix.md` when the57 incident crosses contracts, state, retries, queues, or other blast-radius-58 sensitive boundaries.59- Read `../commit/references/evidence-bundle.md` when incident evidence should60 feed later debug, rollout, or commit work.6162## Core Principles63641. **Start from runtime evidence** - logs, traces, metrics, alerts, and live65 symptoms outrank guessed fixes.662. **Stabilize before polishing** - the first job is to reduce harm and bound67 blast radius, not to produce a perfect root-cause writeup.683. **Separate mitigation, rollback, and patch** - these are different decisions69 with different risks.704. **Preserve the evidence trail** - later debug and rollout work should not71 depend on memory or chat alone.725. **Route as soon as the next job is clear** - use `$fw:debug`, `$fw:rollout`,73 `$fw:plan`, `$fw:work`, or `$fw:commit` once the incident posture is decided.7475## Workflow7677### Phase 1: Touch Grass7879Ground the incident in current truth:8081- read the incident report, alert, issue, or user report in full82- inspect logs, traces, metrics, dashboards, queue state, error trackers, and83 rollout artifacts for the affected surface84- read `AGENTS.md`, `CLAUDE.md`, nearby runbooks, and relevant entries from the85 active repo's `docs/solutions/`86- inspect `.flywheel/config.local.yaml` when present for repo-local bug-fix or87 runtime gates88- inspect the latest review, rollout, commit, or evidence-bundle artifacts if89 the incident likely ties back to a recent change9091Capture:9293- current symptom94- affected runtime surface95- likely blast radius96- current mitigation or rollback levers97- what evidence still needs to be preserved before code changes begin9899### Phase 2: Frame The Incident100101State, as concretely as possible:102103- what is failing or degraded104- who or what is affected105- whether the issue appears ongoing, contained, or historical106- whether the likely next move is mitigation, rollback, patch, or more107 evidence-gathering108109If the incident crosses contracts, state, retries, queues, or other recovery-110heavy boundaries, read111`../observability/references/service-readiness-matrix.md` so the blast radius112and recovery frame stay concrete.113114### Phase 3: Choose The Immediate Path115116Read `references/decision-matrix.md`.117118Choose one of:119120- **Mitigate in place** - disable, rate-limit, degrade, or isolate the bad121 path while keeping service up122- **Roll back** - revert or disable the recent change when a rollback lever is123 safer than patching live124- **Patch now** - route into `$fw:debug` when a quick local causal proof125 and fix path is realistic126- **Observe briefly** - only when impact is low or confidence is too low for a127 stronger move, and only with an explicit time box128- Freeform path when the incident needs a different response129130State why the recommended path is best given impact, confidence, rollback131levers, and time-to-recovery.132133### Phase 4: Produce The Handoff134135Read `references/incident-template.md`.136137Prefer a local incident artifact at:138139```text140.context/flywheel/incident/<run-id>/incident.md141```142143Also create or update the shared evidence bundle under:144145```text146.context/flywheel/evidence/<bundle-id>/147```148149Preserve only what later stages need:150151- incident summary152- runtime evidence references153- chosen immediate path154- mitigation or rollback lever155- next handoff stage156157Then route cleanly:158159- **mitigate or patch** -> `$fw:debug`160- **rollback or staged disablement** -> `$fw:rollout` or `$fw:commit`161- **design-level follow-up after stabilization** -> `$fw:plan` or162 `$fw:brainstorm`163164## Output Contract165166Return a concise incident brief:1671681. **Incident surface** - what is failing or degraded1692. **Current evidence** - the logs, traces, metrics, alerts, or runtime facts1703. **Blast radius** - who or what is affected1714. **Recommended immediate path** - mitigate, roll back, patch, or observe1725. **Artifact paths** - incident artifact path and shared evidence-bundle path173 when created1746. **Next handoff** - `$fw:debug`, `$fw:rollout`, `$fw:plan`, `$fw:work`, or175 `$fw:commit`176177---178179## Included References180181@./references/incident-template.md182@./references/decision-matrix.md183@../observability/references/service-readiness-matrix.md184@../commit/references/evidence-bundle.md