This skill should be used when the user reports "error", "bug", "problem", needs to "fix" something, mentions "debug", "failing", "broken", "issue", "not working", "crash", or any problem-solving scenario. Enforces systematic root cause identification using five whys methodology before attempting solutions.
From tommymorgannpx claudepluginhub tommymorgan/claude-plugins --plugin tommymorganThis skill uses the workspace's default tool permissions.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
This skill enforces systematic root cause identification before solution attempts. Apply the five whys methodology to prevent speculation-driven debugging that wastes effort, creates harmful changes, and results in never-ending fix loops.
Claude Code's default behavior when encountering problems:
Result: Wasted effort, potentially harmful changes, user frustration.
Start with the observed symptom and iteratively ask "why?" until reaching an actionable root cause.
Example progression:
Root cause identified: Missing connection.release() call - this is actionable.
Continue asking "why" until:
Don't stop at:
For each "why", gather evidence:
Read relevant code:
Examine outputs:
Check configurations:
Verify assumptions:
Base each "why" answer on concrete evidence, not speculation.
A root cause is identified when ALL these conditions are met:
Actionable:
Directly Explanatory:
Terminal:
Symptom: "Tests are failing"
Symptom: "API returns 404"
Stop investigating when:
Continue investigating when:
❌ Bad:
Why is login failing?
→ "Probably a timeout issue" [no evidence]
→ "Let me increase the timeout" [speculative fix]
✅ Good:
Why is login failing?
→ [Read error logs] → Database connection timeout after 5 seconds
→ [Read database config] → Connection pool size is 5
→ [Read application metrics] → 50 concurrent requests
→ Root cause: Connection pool too small for request volume
❌ Bad:
Why are tests failing?
→ "Tests are outdated"
→ [Starts rewriting tests without understanding why they're outdated]
✅ Good:
Why are tests failing?
→ Tests expect user.email, code returns user.emailAddress
Why the field name difference?
→ API v2 migration changed field names
Why weren't tests updated?
→ Tests live in separate repo, not updated in migration PR
Root cause: Migration process doesn't include cross-repo test updates
❌ Bad:
Error: "Cannot read property 'name' of undefined"
→ "Let me add null check" [treats symptom]
✅ Good:
Why is object undefined?
→ API call returns undefined when user not found
Why is API call made for non-existent user?
→ User ID comes from URL parameter without validation
Why no validation?
→ Route handler assumes ID is always valid
Root cause: Missing user ID validation in route handler
Show each investigation level as it completes:
## Root Cause Analysis
### Investigation Level 1
**Observation:** [What was observed]
**Evidence:** [What was checked - files, logs, outputs]
**Finding:** [What this reveals]
**Next Question:** Why [finding]?
### Investigation Level 2
**Observation:** [Deeper observation]
**Evidence:** [More specific evidence]
**Finding:** [What this reveals]
**Next Question:** Why [finding]?
[Continue until root cause identified]
### Root Cause Identified
**Cause:** [Specific, actionable cause]
**Evidence:** [Concrete evidence supporting this]
**Fix Approach:** [How this can be addressed]
**Why This is Root:** [Meets actionability, explanatory, and terminal criteria]
This skill triggers automatically when:
When this skill triggers, it should invoke the root-cause-analyzer agent:
User can bypass analysis by:
But default behavior is always root cause first.
Root cause analysis is complete when:
Output statement: "Root cause identified: [specific cause]. This is actionable and directly explains [symptom]. Proceeding to solution..."