About fixing-root-causes
fixing-root-causes is a debugging skill that directs work toward underlying causes rather than symptoms. It emphasizes reproducing problems, investigating evidence, and checking for the same pattern elsewhere.
Key features
- 01Reproduce the problem before fixing
- 02Trace symptoms to underlying causes
- 03Use instrumentation instead of guessing
- 04Search for and fix repeated patterns
Use cases
- 01Investigating recurring software failures
- 02Debugging issues that appear after restart
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ bostonaholic/ skills --skill fixing-root-causesAfter installing, type/fixing-root-causesin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlshared/docs-vs-code.md
Details
From the project READMEFix Root Causes
When debugging, do not fix symptoms. Trace every problem to its root cause and fix it there.
Why: Symptom fixes accumulate. Each workaround makes the system harder to reason about, and the real bug remains. Root-cause fixes are slower upfront but reduce total debugging time.
Pattern:
- Reproduce first
- When docs and code disagree, decide which is the bug per the docs and code rules
- Ask "why" until you hit the root cause
- Do not add guards (adding a nil check to silence a crash is a symptom fix)
- If a workaround needs a paragraph-long comment to justify it, the code is wrong (fix the code, not the comment)
- Check for the pattern, not just the instance (grep for the same pattern, fix all instances)
- When stuck, instrument. Don't guess (add logging, read the actual error)
Restart bugs: suspect state before code
When something "fails after restart," suspect stale persistent state first: config files, caches, lock files, serialized state. If clearing a state file restores behavior, prioritize state validation as the fix.