← ClaudeAtlas

debuglisted

Hypothesis-driven debugging procedure. Use when a bug is not yet reliably reproduced, a fix attempt failed, debugging has gone two or more iterations without progress, or the user asks "debug this properly" or "ไล่บั๊ก". Not for a first obvious failure whose cause is already visible; reproduce and fix it directly.
ohm41321/luciazero · ★ 4 · Code & Development · score 77
Install: claude install-skill ohm41321/luciazero
# Debug — hypothesis before edit The doctrine says: *debugging starts with a hypothesis, not an edit.* Mutating code until the test goes green is not debugging — it is how plausible-but-wrong fixes ship. This is the procedure for bugs that resist the first obvious look. ## 1. Reproduce first One command that shows the failure deterministically. This command is the ground truth for the whole session — every hypothesis is judged against it. - If it cannot be reproduced yet, that is the entire current task. Do not theorize about causes of a failure you cannot trigger. - If it is intermittent, make it deterministic before proceeding: fix the seed, pin the time/timezone, run it in a loop (`for i in $(seq 20)`) until the trigger condition is understood. An intermittent repro means the hypothesis space still contains "timing/state you have not seen". ## 2. Minimize Shrink the reproduction — smaller input, fewer flags, one test instead of the suite — until the failure is small enough to reason about. Every element removed eliminates a family of hypotheses for free. Stop minimizing when shrinking stops being cheap. ## 3. Hypothesis ledger **Seed it from recorded experience first.** Before inventing hypotheses, grep the symptom's keywords (error strings, subsystem names) against two files, if they exist: - the repo's lesson ledger `docs/lessons.md` — this project's previously debugged failures; - the global heuristics file `luciazero-heuristics.md` in the harness config dir (`