incident-rca

incident-rca is a skill for Claude Code from uqeu/estelle-cli. It costs 0 tokens per session (1,105 once invoked), scanned A, original, Apache-2.0.

A procedure for investigating a live production incident while an alert or serious failure is happening. It uses the incident's data and past incidents to identify the faulty part and produce a mitigation change.

In plain words
What is it for?
Use it when an alert, service-level objective breach, error spike, or other severe production problem occurs. It helps isolate the fault and prepare a change to reduce its impact.
Why use it?
During an incident, guessing where to look wastes time while users are affected. This separates immediate mitigation from a later post-incident review and focuses on stopping the active failure.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the estelle plugin — 26 skills, 4 agents, 9 hooks shipped together

Good fit Use it when an alert, service-level objective breach, error spike, or other severe production problem occurs. It helps isolate the fault and prepare a change to reduce its impact.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/uqeu/estelle-cli/incident-rca
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add uqeu/estelle-cli --skill incident-rca
Clone the repo
git clone --depth 1 https://github.com/uqeu/estelle-cli

Made for: Claude Code.

Or install estelle, the plugin that ships this one along with the rest of its 26 skills, 4 agents, 9 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for incident-rca

README.md
[![agentmods](https://agentmods.dev/badge/skills/uqeu/estelle-cli/incident-rca/github.svg)](https://agentmods.dev/skills/uqeu/estelle-cli/incident-rca)
Your own site
<a href="https://agentmods.dev/skills/uqeu/estelle-cli/incident-rca"><img src="https://agentmods.dev/badge/skills/uqeu/estelle-cli/incident-rca/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for incident-rca

Your own site · 80×15
<a href="https://agentmods.dev/skills/uqeu/estelle-cli/incident-rca"><img src="https://agentmods.dev/badge/skills/uqeu/estelle-cli/incident-rca.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,105 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.01105
Opus 5.5 $0.00000 $0.00442
Sonnet 5.5 $0.00000 $0.00221
Haiku 4.5 $0.00000 $0.00111

Measured 1mo ago against content hash a147f56ba4ec, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

incident-rca scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

estelle-plugin/skills/incident-rca/SKILL.md · 57 lines

How it starts

The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.

incident-rca

Estelle's live-incident analyzer. This is not the retrospective (postmortem) and not local dev debugging (root-cause-loop / bug-hunt) — it is the triage that runs while the incident is burning, auto-triggered by an alert, to find the cause and ship the stop. It walks a typed investigation decision-tree (Meta's DrP, arXiv 2512.04250: anomaly-detect → time-series correlate → dimension-isolate; grounded in the Google SRE workbook's discipline), recalls similar past incidents from temporal facts and the Reflexion ExperienceStore, isolates the fault to an exact symbol with the CodeGraph (references, definition_sites, blast_radius), and emits a machine-readable root cause plus a mitigation PR that clears the deterministic merge gate. The retrospective comes later; this produces the stop.

When to run

The instant an alert fires — a SEV page, an SLO burn, an error-rate spike — while the timeline is still live and the change window is still recoverable. Auto-triggered on the alert, not run by hand after the fact. When the incident is mitigated, hand off to postmortem for the blameless retrospective; this skill's job is over once the stop is shipped.

Procedure

  1. Ingest the alert and open a typed investigation. Auto-trigger on the pager: capture the firing signal (metric, threshold, timestamp) as the root of a typed DrP-style decision tree, and record the incident as an OPEN temporal fact (remember_fact / POST /fact) so its state is queryable "as of now" while it burns — the incident is memory from minute one, not a Slack thread.
  2. Recall similar past incidents first. Query temporal facts / history and ExperienceStore.recall for prior incidents on this signal or module — "this alert fired before; the cause was X" — so triage starts from the team's memory instead of a blank page. A repeat incident should be diagnosed in seconds.
  3. Anomaly-detect: bracket the change window. Correlate the alert timestamp against RunHistory.recent — what shipped or which agent-run landed just before the signal broke. The prime suspect is the change whose timing brackets the anomaly; deploys are the single most common incident cause, so pin the window before hypothesizing.
  4. Time-series correlate across signals. Walk the tree's correlate branch: which metrics moved together with the firing signal (latency + error rate + a saturated dependency), narrowing "something is wrong" to "these signals co-move." Confirm each branch with a log or a cheap probe before descending — an unconfirmed branch is a guess.
  5. Dimension-isolate to the code. Map the failing signal to its module, then run the CodeGraph: references / definition_sites to land on the exact symbol, blast_radius to bound which downstream flows the fault reaches, and central_files / betweenness_centrality to check whether a chokepoint amplified it. This is where a metric dashboard stops and structural localization begins.
  6. Emit the machine-readable root cause. Not prose — a typed record: {signal, change_window, suspect_symbol, blast_radius, confirming_evidence}. Each hypothesis and its confirm/refute result is written to /facts so the decision trail is auditable and supersedable, exactly as the DrP loop demands.
  7. Ship the gated mitigation PR. The fastest safe stop — revert, flag-off, or a targeted patch — proposed as a gated change: _gate_verdict (grounding against the real symbol graph + scan_diff secret/SAST/CVE) must return merge=true, and run_and_repair_suite must leave the repo's real suite green. A mitigation that fails the gate is not shipped, even under pressure — the stop must not become the next incident.
  8. Close the incident into memory and hand off. Record the resolution as a temporal fact (superseding the open one, not erasing it), distil the confirmed cause into a Reflexion lesson (ExperienceStore.record / learn_from_gate) keyed on the signal so the next firing recalls it, and hand the reconstructed timeline to postmortem. The live triage ends; the retrospective is a separate skill.

Read the full file on GitHub · 57 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 57 lines · 0 tokens per session scan A a147f56ba4ec

Subscribe to this mod's changes

incident-rca is a skill published in the GitHub repository uqeu/estelle-cli (0 stars, last pushed 14d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,105 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-12.

Related

Other skills, from other repositories

printing-press-output-review

Internal sub-skill: agentic review of a printed CLI's sampled command output for plausibility issues that rule-based checks can't encode (substring-match relevance, format bugs, silent source drops, ranking failures). Invoked via the Skill tool by the main printing-press skill at Phase 4.85 and printing-press-polish…

mvanhorn/cli-printing-press · 102 tokens

autofix

Review and repair current local changes until they converge, or run Qwen Code Autofix issue and review workflows from GitHub Actions.

QwenLM/qwen-code · 30 tokens

tilth

Use the tilth CLI for code reading, outlining, search, callers, blast-radius deps, and structural diffs. Activate when the user asks to explore a repo, find a symbol, trace callers, read a file, view a diff, or analyze impact. Prefer tilth over grep/cat/find/ls — one invocation returns AST-aware outlines, definitions…

jahala/tilth · 95 tokens

audit

Fast quality gate — detects stack, runs static analysis, checks cross-layer consistency, fixes issues. Run between every pipeline phase, before every commit push, after every feature batch. Lighter than /analyze but catches the same critical issues.

skillmds/skillmd · 50 tokens

logic-lens

AI-powered Claude Code skill that performs deep code review using formal logic and reasoning frameworks to detect bugs, anti-patterns, and security risks beyond what linters catch.

skillmds/skillmd · 37 tokens

fix

Resolve blocking review gaps through bounded repairs and independent re-review; diagnose stalled attempts without expanding scope.

automagik-dev/genie · 21 tokens