principle-fix-root-causes

Guides debugging by tracing symptoms to root causes instead of applying symptom fixes.

4|1|Updated Dec 16, 2023
One-click install
npx skills add https://github.com/Shtian/AuthentiClash --skill principle-fix-root-causes-shtian
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: principle-fix-root-causes
Source: https://github.com/Shtian/AuthentiClash/tree/main/.claude/skills/principle-fix-root-causes
Command: npx skills add https://github.com/Shtian/AuthentiClash --skill principle-fix-root-causes-shtian

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging often leads to quick symptom fixes like nil-check guards that silence crashes while the real bug remains, making the codebase harder to reason about over time. This Skill enforces a disciplined root-cause debugging methodology. ## Core Features & Use Cases - Root-Cause Tracing: Reproduce the bug first, then ask "why" repeatedly until the actual cause is found. - Anti-Pattern Detection: Avoid guards that silence crashes, paragraph-long justification comments, and instance-only fixes; grep for the same pattern and fix all occurrences. - Restart Bug Diagnosis: When something fails after restart, suspect stale persistent state such as config files, caches, lock files, or serialized state before suspecting code. - Use Case: A crash is "fixed" by adding a nil check, but it reappears elsewhere. Apply this Skill to reproduce the issue, trace it to the actual source, and fix every instance of the pattern. ## Quick Start Apply the fix-root-causes principle to debug this recurring crash and trace it to its actual source 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 fixing symptoms?▼

Reproduce the bug first, then ask "why" repeatedly until you reach the underlying cause. Avoid adding guards like nil checks that silence crashes, and when stuck, instrument the code with logging rather than guessing.

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

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

Suspect stale persistent state before suspecting code: config files, caches, lock files, or serialized state. If clearing a state file restores behavior, prioritize state validation as the fix.

How do I make sure a bug fix covers all occurrences of the problem?▼

Check for the pattern, not just the instance. Grep the codebase for the same pattern and fix all instances, rather than patching only the single location where the bug surfaced.

What should I do when I am stuck while debugging?▼

Instrument, don't guess. Add logging and read the actual error output to gather evidence about the failure, instead of speculating about causes or applying trial-and-error workarounds.