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.
npx skills add uqeu/estelle-cli --skill incident-rcagit clone --depth 1 https://github.com/uqeu/estelle-cliWrote 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.
[](https://agentmods.dev/skills/uqeu/estelle-cli/incident-rca)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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
- 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. - Recall similar past incidents first. Query temporal
facts/historyandExperienceStore.recallfor 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. - 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. - 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.
- Dimension-isolate to the code. Map the failing signal to its module, then run the CodeGraph:
references/definition_sitesto land on the exact symbol,blast_radiusto bound which downstream flows the fault reaches, andcentral_files/betweenness_centralityto check whether a chokepoint amplified it. This is where a metric dashboard stops and structural localization begins. - 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/factsso the decision trail is auditable and supersedable, exactly as the DrP loop demands. - 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_diffsecret/SAST/CVE) must returnmerge=true, andrun_and_repair_suitemust 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. - 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 topostmortem. The live triage ends; the retrospective is a separate skill.
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.
- 1mo ago First seen · 57 lines · 0 tokens per session scan A a147f56ba4ec
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.
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…
autofix
Review and repair current local changes until they converge, or run Qwen Code Autofix issue and review workflows from GitHub Actions.
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…
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.
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.
fix
Resolve blocking review gaps through bounded repairs and independent re-review; diagnose stalled attempts without expanding scope.