Help us improve
Share bugs, ideas, or general feedback.
From thinking-skills
Chains 'why' questions with evidence to find systemic root causes after a fault is localized and proximate cause is known. Includes counterfactual test and stop condition.
npx claudepluginhub tjboudreaux/cc-thinking-skills --plugin thinking-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/thinking-skills:thinking-five-whys-plusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Five Whys Plus is a **post-localization root-cause analysis** skill. It assumes a fault has already been localized to a specific component or subsystem (by `thinking-scientific-method` or equivalent hypothesis-differential debugging). From that starting point — the proximate cause is known — it chains "why" questions backward to reach the systemic root cause, with explicit guards against the te...
Investigates root causes of defects or incidents by iteratively asking 'why' to trace failures from symptoms to systemic causes. Useful for postmortems and recurring failures.
Five Whys, fishbone diagrams, identifying systemic causes not just symptoms.
Conducts root cause analysis using 5-Why methodology for errors, bugs, build/test failures, performance issues, and integration problems.
Share bugs, ideas, or general feedback.
Five Whys Plus is a post-localization root-cause analysis skill. It assumes a fault has already been localized to a specific component or subsystem (by thinking-scientific-method or equivalent hypothesis-differential debugging). From that starting point — the proximate cause is known — it chains "why" questions backward to reach the systemic root cause, with explicit guards against the technique's known failure modes.
Core Principle: Never ask "why" without evidence for the answer. Chain backward from localized fault to actionable root cause, and stop only when the cause passes a counterfactual test: "Would the problem NOT have occurred if this cause were absent?"
thinking-scientific-method first if you don't know which component is at fault)Decision flow:
Fault localized to a specific component?
→ No → Run thinking-scientific-method first to localize
→ Yes → Proximate cause known?
→ No → Gather evidence on proximate cause
→ Yes → Is the root cause already obvious and verified?
→ Yes → Fix directly; don't chain
→ No → APPLY FIVE WHYS PLUS
thinking-scientific-method (hypothesis-differential debugging) first, then run Five Whys on the cause it confirms.Document the localized fault with specific, measurable details:
Problem Statement:
- What happened: [Specific observable symptom]
- Localized to: [Component/subsystem confirmed by scientific-method or equivalent]
- When: [Time range]
- Where: [Affected systems/users]
- Extent: [Scope and severity]
- Impact: [Business/user impact]
For each "why," require evidence, confidence, and alternatives considered:
Why #N: Why did [answer N-1] occur?
Answer: [Hypothesis]
Evidence: [Data, logs, metrics that support this — NOT speculation]
Confidence: High / Medium / Low
What else considered: [Alternative causes checked]
Ruled out because: [Evidence against alternatives]
Evidence types: Logs showing the event, metrics correlating with timeline, code showing the behavior, configuration proving the state, testimony from multiple independent sources.
Branch on "what else?" at each step — explicitly list and rule out alternative explanations before proceeding.
Before stopping, test the proposed root cause:
Counterfactual: "Would the problem NOT have occurred if this cause were absent?"
If the answer is "no" or "maybe not" — you haven't reached the root cause. Keep going.
If the answer is "yes, the problem would not have occurred" — AND the cause passes the stop condition (Step 4) — you've found the root cause.
Only stop when ALL criteria are met:
| Criterion | Question |
|---|---|
| Actionable | Can we take concrete action on this cause? |
| Controllable | Is this within our control to fix? |
| Fundamental | Would fixing this prevent recurrence? |
| Evidenced | Do we have evidence, not just speculation? |
| Counterfactual | Would the problem NOT have occurred if this cause were absent? |
| Not-blame | Is this a system/process issue, not just "someone messed up"? |
Never stop at human error. When you reach "someone made a mistake," ask "Why was the mistake possible?" — that's the systemic cause.
Before finalizing, challenge the conclusion:
Counter-analysis:
1. What evidence contradicts this conclusion?
2. What other explanation fits the evidence equally well?
3. Would someone outside our team reach the same conclusion?
4. If we fix X, are we confident the problem won't recur?
5. Are we finding what we expected to find? (confirmation bias check)
Record the full chain and prescribe actions that address the root cause (not just the symptom).
A completed Five Whys Plus analysis produces:
| Anti-Pattern | Symptom | Correction |
|---|---|---|
| Pre-localization application | Running Five Whys when you don't know which component failed | Use thinking-scientific-method first to localize |
| Premature stop | Accepting the first plausible cause without the counterfactual test | Apply the counterfactual: "Would the problem NOT have occurred?" |
| Blame stop | Ending at "someone made a mistake" | Ask "Why was the mistake possible?" — find the systemic gap |
| Speculation dive | Answers become increasingly speculative without evidence | Stop and gather evidence; mark un-evidenced steps as hypotheses |
| Circular why | "Why A?" → "Because B" → "Why B?" → "Because A" | Introduce external evidence or a third factor to break the cycle |
| Single-cause bias | Assuming one root cause without branching | At each step, ask "what else could cause this?" and rule out alternatives |
| Confirmation bias | Finding the cause you expected to find | Devil's advocate review; ask "what evidence contradicts this?" |
| Ritualistic chaining | Asking five whys when one would do | Stop when the counterfactual test passes and the stop condition is met |