← ClaudeAtlas

systematic-debugginglisted

Use when encountering any bug, test failure, or unexpected behaviour, before proposing a fix. Find the root cause first; a patch that only hides the symptom does not count.
igorjs/pragmatic-claude · ★ 0 · Code & Development · score 66
Install: claude install-skill igorjs/pragmatic-claude
# Systematic Debugging Random fixes waste time and add new bugs. A quick patch hides the real problem, and it comes back. **Core rule: find the root cause before you touch a fix.** A change that makes the symptom go away without explaining why it happened is not a fix. ## The Iron Law ``` NO FIX WITHOUT A ROOT-CAUSE INVESTIGATION FIRST ``` If you have not finished Phase 1, you do not get to propose a fix. This holds even when the bug looks trivial, even under time pressure, even when someone wants it fixed right now. Systematic is faster than guess-and-check. ## When to Use Any technical issue: test failures, production bugs, unexpected behaviour, performance problems, build failures, flaky tests, integration issues. Reach for it hardest when the pull toward guessing is strongest: - Under time pressure (an emergency makes guessing tempting). - "One quick fix" looks obvious. - You have already tried a fix or two and they did not hold. - A previous fix did not work. - You do not fully understand what is going on. Do not skip it because the issue "seems simple" (simple bugs have root causes too) or because you are in a hurry (rushing guarantees rework). ## The Four Phases Finish each phase before you move to the next. ### Phase 1: Find the root cause Before attempting any fix: 1. **Read the error carefully.** Do not skip past errors or warnings; they often hold the answer. Read the whole stack trace. Note line numbers, file paths, error codes. 2. **Reproduce it.**