agentleFS
dream-horizon-orgdream-horizon-org/pulse/.agents/skills/fatal-five/SKILL.md

fatal-five

Skill44 starsChanged 5 months agoApache-2.0View on GitHub

Fatal Five — triages large-scale production failures by grounding hypotheses in repository code, ranking the top five failure modes by likelihood (P×I×E) with evidence and disconfirmers. Use when production is degraded at scale, SEV/incident response, post-incident review, outage, spike, or widespread regression; also when the user says Fatal Five or fatal-five.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Follow project .cursor/rules/caveman.mdc: terse, high signal, no filler.

    line 17
  2. Distinctive:

    If unknown, state assumptions explicitly and mark hypotheses speculative.

    line 28
  3. Distinctive:

    Search and read with intent:

    line 42
  4. Very specific:

    Prefer citations to repo (path + symbol or line range).

    line 50
  5. Distinctive:

    No hand-wavy “maybe database” without which query/path and why scale triggers it.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Fatal Five (code-grounded production triage)

When to use

  • Symptom is production, at scale (many users/tenants/requests), or high blast radius.
  • User wants code-linked reasons, not generic advice.
  • Goal: exactly five ranked hypotheses with a repeatable scoring rubric.

Communication

Follow project .cursor/rules/caveman.mdc: terse, high signal, no filler. Full sentences only when ambiguity would cause wrong action.

Inputs to lock first (ask if missing)

Minimum facts before deep code dive:

  1. Symptom — error shape, HTTP codes, timeouts, partial writes, data wrongness, etc.
  2. Scope — which surfaces (web, API, worker), regions, % of traffic, start time.
  3. Change window — deploys, config, flags, migrations, dependency bumps.
  4. Evidence — sample trace IDs, log lines, metric names/dashboards (if user has them).

If unknown, state assumptions explicitly and mark hypotheses speculative.

Workflow

- [ ] Freeze facts: symptom, scope, change window, evidence (or assumptions)
- [ ] Map blast radius to subsystems (read code: entrypoints, deps, data paths)
- [ ] Enumerate failure modes (code + ops), cap deliverable at 5 for ranking
- [ ] Score each with rubric below; sort descending
- [ ] Output using template; list fastest disconfirmers per rank

Code analysis focus

Search and read with intent:

  • Hot paths for the failing feature: controllers/handlers, queues, schedulers, SDK paths.
  • Scale knobs: timeouts, retries, pools, concurrency limits, batch sizes, rate limits.
  • Partial failure modes: async gaps, missing await, fire-and-forget, idempotency holes.
  • Data contracts: schema drift, nullable fields, serialization, cache keys, TTLs.
  • Operational coupling: feature flags, env vars, external APIs, broker lag, backpressure.

Prefer citations to repo (path + symbol or line range). If codebase is not the failure domain (pure infra), say so and pivot evidence to ops.

Ranking rubric (required)

For each hypothesis compute:

FieldMeaning
PProbability 1–5 (1 rare, 5 very plausible given symptoms + code path)
IImpact if true 1–5 (1 minor, 5 matches observed blast radius)
EEvidence strength 1–5 (1 guess, 5 direct code/config/logs referenced)

Score = P × I × E (range 1–125). Sort descending. If two tie, higher E wins, then higher P.

In prose next to each row: one line on why P and E were chosen.

Deliverable template (copy verbatim structure)

## Incident summary
- Symptom:
- Scope:
- Change window:
- Assumptions (if any):

## Fatal Five (ranked)

### 1) [Short title] — score P×I×E = __
- **Hypothesis**:
- **Code / config evidence**:
- **Why likely at scale**:
- **Disconfirm fast** (specific check):

### 2) …
… through ### 5)

## Not ranked / deprioritized
- Bullets with one-line reason (e.g. contradicted by X, or E too low)

## Next actions
- Ordered list: smallest experiments to validate #1–#3 (logs, flags, canary, query, replay)

Quality bar

  • Exactly five ranked items unless codebase truly yields fewer; if fewer, explain gap.
  • No hand-wavy “maybe database” without which query/path and why scale triggers it.
  • Each top hypothesis must have disconfirm — how to prove false in <30 min when possible.

Optional deep dive

For long-running incidents, add a short appendix: timeline table (UTC), deploy IDs, and “ruled out” with reason — still keep main body to five ranked hypotheses.

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.