Use when tracing the root cause of a resolved incident or recurring bug — 5-whys chain, fishbone categorisation, contributing-factors split — even if the user says 'why does this keep breaking?'.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add event4u-app/agent-config --skill root-cause-frameworks --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Root Cause Frameworks?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/event4u-app-root-cause-frameworks)More formats (shields.io, HTML) on the badges page.
---
name: root-cause-frameworks
description: "Use when tracing the root cause of a resolved incident or recurring bug — 5-whys chain, fishbone categorisation, contributing-factors split — even if the user says 'why does this keep breaking?'."
domain: quality
model_tier: high
workspaces:
- engineering
packs:
- analysis-workbench
trust:
level: professional
confidence: medium
install:
default: false
removable: true
---
# root-cause-frameworks
> Structured root-cause analysis for resolved incidents and recurring bugs.
> Sibling of [`systematic-debugging`](../systematic-debugging/SKILL.md) (live
> reproduction loop) and [`bug-analyzer`](../bug-analyzer/SKILL.md) (static
> call-site analysis) — this skill takes the post-resolution "why did this
> happen and how do we stop it recurring?" view.
## When to use
- A resolved incident needs a structured cause investigation before
writing the post-mortem.
- A bug recurs and the team needs to understand the underlying system
condition, not just the symptom.
- Invoked directly or by [`blameless-post-mortem`](../blameless-post-mortem/SKILL.md)
to populate the cause section.
Do NOT use when:
- Actively debugging a failing test or unresolved crash — use
[`systematic-debugging`](../systematic-debugging/SKILL.md) instead.
- The goal is to enumerate call-site impact of a change — use
[`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md) instead.
## Procedure
Work through the three methods in order; return the best-supported result.
### 1. 5-Whys chain
Ask "Why did X happen?" iteratively, attaching **evidence** to each
link. Continue until the link is unfalsifiable, evidence runs out, or
you reach a systemic condition outside the team's control.
Rules:
- Each link must cite at least one piece of evidence (log line, metric,
test failure, code path, human observation). Label unverified links
explicitly as `[speculative]`.
- If a link branches into two independent causes, follow both — a
branching chain is common and valid.
- Stop a branch when: (a) the next Why has no available evidence, or
(b) the answer is outside the system boundary (e.g. "the cloud
provider had an outage").
### 2. Fishbone / Ishikawa (if chain stalls or branches widely)
When the 5-whys chain stalls before reaching a systemic cause, or
branches into more than three independent paths, map contributing
factors across six categories:
| Category | Sample questions |
|---|---|
| People | Knowledge gap, on-call fatigue, ambiguous ownership? |
| Process | Missing review step, deploy gate skipped, alert threshold wrong? |
| Technology | Library version, configuration drift, race condition, hardware limit? |
| Data | Unexpected input shape, stale cache, missing validation, schema mismatch? |
| Environment | Infra difference between environments, dependency version skew? |
| Communication | Unclear spec, siloed knowledge, delayed escalation? |
List each identified factor as a bullet under its category. A factor
may appear in more than one category — that is evidence of a systemic
coupling worth naming.
### 3. Contributing-factors split
Classify every cause surfaced in steps 1–2 into exactly one bucket:
| Bucket | Definition |
|---|---|
| `root` | The condition that, if absent, the incident would not have occurred. |
| `contributing` | A condition that increased likelihood or severity, but not sufficient alone. |
| `amplifying` | A condition that made recovery slower or harder once the incident started. |
| `coincidence` | Present at the time but causally unrelated. |
A well-formed analysis typically has **one** root cause and two to
four contributing causes. Multiple `root` entries indicate the chain
has not been traced far enough, or that the incident was a genuine
compound failure — label it explicitly.
## Output
The output has three ordered sections:
1. **Why-chain** — numbered chain, each link with evidence (or
`[speculative]` flag) and any branch markers.
2. **Cause taxonomy** — each identified cause labelled
`root` / `contributing` / `amplifying` / `coincidence`, with a
one-sentence justification.
3. **Evidence gaps** — explicit list of claims that could not be
verified and what evidence would resolve them. An empty list is
fine; omitting the section is not.
May invoke [`systematic-debugging`](../systematic-debugging/SKILL.md) or
[`bug-analyzer`](../bug-analyzer/SKILL.md) mid-procedure to gather
evidence for a specific hypothesis, then continue the analysis.
## Do NOT
- Do NOT present a `[speculative]` link as confirmed cause.
- Do NOT collapse multiple contributing factors into a single root
cause to produce a cleaner narrative.
- Do NOT invent evidence — if a log line is needed but unavailable,
name the gap.
- Do NOT reproduce the systematic-debugging reproduce → isolate → fix
loop; this skill assumes the bug is already understood or resolved.
## Gotchas
- Single "root cause" is often an oversimplification — a compound
failure with one root and several contributing causes is the norm,
not an edge case.
- An unfalsifiable why-link (e.g. "we don't know") is a stop signal
for that branch; do not guess past it.
- Correlation ≠ causation — require a causal mechanism for every link,
not just temporal proximity.
## See also
- [`blameless-post-mortem`](../blameless-post-mortem/SKILL.md) — invokes
this skill for the cause section.
- [`systematic-debugging`](../systematic-debugging/SKILL.md) — live
reproduction and fix loop.
- [`bug-analyzer`](../bug-analyzer/SKILL.md) — static call-site analysis.
- [`risk-officer`](../risk-officer/SKILL.md) — mitigation framing for
corrective actions after the cause is established.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!