principle-fix-root-causes

Featured

Apply when debugging. Trace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.

Code & Development 333 stars 40 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
50
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Fix 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 - 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.

Details

Author
michael-denyer
Repository
michael-denyer/pstack-claude
Created
3 months ago
Last Updated
2 days ago
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category