Claude-skill-registry find-bug-root-cause
Deep investigation to find actual root cause (not just symptoms)
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/find-bug-root-cause" ~/.claude/skills/majiayu000-claude-skill-registry-find-bug-root-cause && rm -rf "$T"
manifest:
skills/data/find-bug-root-cause/SKILL.mdsource content
Root Cause Analysis Protocol
When a feature is broken, don't just add logging - find and fix the ACTUAL problem.
Methodology
-
Understand the Symptom:
- What does the user see/experience?
- What SHOULD happen?
- What ACTUALLY happens?
-
Trace the Data Flow:
- Follow code execution from UI → ViewModel → Service → Backend
- Check each layer for failures
- Use breakpoint logic (mental trace)
-
Check Dependencies:
- Is the service initialized? (
)DIContainer.shared.service - Are databases/indexes ready?
- Are async operations completing?
- Are errors being swallowed?
- Is the service initialized? (
-
Find the Bug:
- Don't stop at "add try/catch" or "add logging"
- Find the EXACT line where logic fails
- Understand WHY it fails
-
Fix It Properly:
- Fix root cause, not symptoms
- Add defensive checks only AFTER fixing core issue
- Test the fix logic
-
Verify:
- Does the fix address the root cause?
- Are there edge cases?
- Will this prevent recurrence?
Example: "Search returns no results"
❌ Bad approach:
// Just add logging AppLog.info("Search started") let results = await search(query) AppLog.info("Search returned \(results.count) results")
✅ Good approach:
// Find WHY search returns nothing: // 1. Is ScriptureDatabase initialized? → Check init // 2. Are indexes built? → Check index creation // 3. Is query being processed? → Check query transformation // 4. FIX the actual issue (e.g., index not built on first launch) // THEN add logging to prevent future issues
Return the root cause and the actual fix that solves it.