principle-fix-root-causes

Guides debugging by tracing symptoms to root causes instead of applying symptom-level workarounds.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/squidllee/skills --skill principle-fix-root-causes-squidllee
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-fix-root-causes
Source: https://github.com/squidllee/skills/tree/main/principle-fix-root-causes
Command: npx skills add https://github.com/squidllee/skills --skill principle-fix-root-causes-squidllee

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging often stalls when developers patch symptoms with nil checks and guards instead of fixing the underlying defect, letting the real bug survive and accumulate technical debt. ## Core Features & Use Cases - Root-Cause Tracing: Reproduce the failure first, then ask "why" repeatedly until the actual cause is found. - Anti-Pattern Detection: Resist nil-check guards that silence crashes, and grep for repeated instances of the same bug pattern to fix them all. - Restart Bug Diagnosis: When failures appear after restart, suspect stale persistent state (config files, caches, lock files) before suspecting code. - Use Case: A service crashes intermittently after deploys. Instead of adding a nil check, you reproduce the crash, trace it to a corrupted cache file, and add state validation as the real fix. ## Quick Start Apply the fix-root-causes principle to debug this recurring crash and identify the underlying cause instead of adding a guard.

Frequently Asked Questions about principle-fix-root-causes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find the root cause of a bug instead of patching symptoms?▼

Reproduce the failure first, since an unreproducible bug cannot be verified as fixed. Then ask "why" repeatedly until you reach the underlying cause, and fix it there rather than adding guards around the symptom.

Why is adding a nil check to stop a crash considered a bad fix?▼

A nil check that silences a crash is a symptom fix: it hides the defect while the real bug remains. Symptom fixes accumulate, making the system harder to reason about and increasing total debugging time.

Why does my application fail after a restart but work otherwise?▼

Code does not change between runs, but state does. Suspect stale persistent state first: config files, caches, lock files, or serialized state. If clearing a state file restores behavior, prioritize state validation as the fix.

What should I do when I am stuck and cannot find a bug's cause?▼

Instrument the code instead of guessing. Add logging and read the actual error output to gather evidence, rather than speculating about where the failure originates.

How do I make sure I fixed every instance of a bug pattern?▼

Check for the pattern, not just the instance. Grep the codebase for the same pattern and fix all occurrences, since the same defect typically appears in multiple locations.