principle-fix-root-causes

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

136|8|Updated May 9, 2026
One-click install
npx skills add https://github.com/Sma1lboy/rove --skill principle-fix-root-causes-sma1lboy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-fix-root-causes
Source: https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/principle-fix-root-causes
Command: npx skills add https://github.com/Sma1lboy/rove --skill principle-fix-root-causes-sma1lboy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging often produces quick patches that silence symptoms while the real bug survives, accumulating fragile workarounds across the codebase. This Skill enforces a disciplined root-cause methodology so fixes actually eliminate defects. ## Core Features & Use Cases - Reproduce-First Discipline: Requires reproducing a bug before attempting a fix, ensuring the fix can be verified. - Root-Cause Tracing: Applies iterative "why" questioning to reach the underlying cause and rejects nil-check guards that merely silence crashes. - Pattern-Wide Fixes: Greps for the same defect pattern across the codebase and fixes all instances, not just the reported one. - Restart-Bug Heuristic: Directs investigation toward stale persistent state (config files, caches, lock files) when failures appear only after restarts. - Use Case: A crash reappears after every deploy. Instead of adding another guard clause, use this Skill to reproduce the failure, 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 trace it to its underlying cause before proposing any fix.

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 bug first, then ask "why" repeatedly until you reach the underlying cause. Avoid adding nil checks or guards that silence crashes, and verify the fix resolves the reproduction case.

How to debug a failure that only happens after restart?▼

Suspect stale persistent state before code, since code does not change between runs. Check config files, caches, lock files, and serialized state; if clearing a state file restores behavior, prioritize state validation as the fix.

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: the underlying defect remains and workarounds accumulate, making the system harder to reason about. Root-cause fixes are slower upfront but reduce total debugging time.

What should I do when I cannot reproduce a bug?▼

Do not attempt a fix, since an unreproducible bug cannot be verified as fixed. Instead, instrument the code with logging and read the actual error output rather than guessing at the cause.

When is a workaround acceptable instead of a root-cause fix?▼

This methodology treats long justification comments as a warning sign: if a workaround needs a paragraph of explanation, the code itself is wrong. Fix the code rather than the comment, and fix all matching instances of the pattern.