find-bug-root-cause
SKILL.md
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.
Weekly Installs
15
Repository
willsigmon/sigstackGitHub Stars
7
First Seen
Jan 25, 2026
Security Audits
Installed on
claude-code14
opencode13
antigravity13
codex13
gemini-cli13
windsurf12