← ClaudeAtlas

debugginglisted

Systematic root-cause debugging: reproduce, investigate, hypothesize, fix with verification. Use when asked to "debug this", "fix this bug", "why is this failing", "troubleshoot", or mentions errors, stack traces, broken tests, flaky tests, regressions, or unexpected behavior.
iliaal/whetstone · ★ 20 · Code & Development · score 81
Install: claude install-skill iliaal/whetstone
# Debugging ## The Iron Law Never propose a fix without first identifying the root cause. "Quick fix now, investigate later" is forbidden — it creates harder bugs. ## Process **1. Reproduce** — make the bug consistent. If intermittent, run N times under stress or simulate poor conditions (slow network, low memory) until it triggers reliably. **2. Investigate** — trace backward through the call chain from the symptom. Add diagnostic logging at each component boundary. Compare working vs broken state using a differential table (environment, version, data, timing — what changed?). **3. Hypothesize and test** — one change at a time. If a hypothesis is wrong, fully revert before testing the next. Use `git bisect` to find regressions efficiently. **4. Fix and verify** — create a failing test FIRST, then fix. Run the test. Confirm the original reproduction case passes. No completion claims without fresh verification evidence. ## Three-Fix Threshold After 3 failed fix attempts, STOP. The problem is likely architectural, not a surface bug. Step back and question assumptions about how the system works. Read the actual code path end-to-end instead of spot-checking. ## Escalation: Competing Hypotheses When the cause is unclear across multiple components, use Analysis of Competing Hypotheses: - Generate hypotheses across failure modes: logic error, data issue, state problem, integration failure, resource exhaustion, environment - Investigate each with evidence: Direct (strong),