← ClaudeAtlas

debuglisted

Find the cause before touching the fix - confirm the symptom, reproduce it, rule out the boring causes, check what changed, one written hypothesis at a time, then the smallest fix with a failing test first. Three failed fixes means stop. User-invoked with /silicon-valley:debug.
harshitt13/Silicon-Valley-Skill · ★ 0 · Code & Development · score 75
Install: claude install-skill harshitt13/Silicon-Valley-Skill
# Debug Symptom: `$ARGUMENTS` Empty means the failure described in the conversation so far. If there isn't one, ask for the exact error text or the failing command. One question. ## The rule No fix before the cause is known. "Try changing X and see" is not debugging; it's the thing that produces the second bug. If a fix is tempting before the cause is written down, that's the signal to slow down. ## Order 1. **Confirm the symptom.** Something observable: the full error text, the stack trace read bottom to top, the failing command and its exit code, the wrong value. Not the description of it. 2. **Reproduce.** Exact steps, smallest input, run it. If it can't be reproduced, that's the job now. Nothing gets fixed that can't be seen failing. 3. **Boring causes.** Is the code actually deployed and running, which version, which host. Environment and config. Stale cache or build. Changed input or data. Expired credential or certificate. Disk, memory, file descriptors. DNS. Each one is a check, not a thought. 4. **What changed.** `git log` since it last worked. Deploys, config, dependencies, data, traffic. Most bugs have a birthday. 5. **Find the working twin.** Similar code that works, in this codebase or the reference implementation. Read it whole. Diff the two. The difference is usually the bug. 6. **One hypothesis, written.** "The cause is X because Y. If true, Z will show it." Then the one check that confirms or kills it. Run it. Dead? Next hypothesis. Never two at once; t