
This is a structured approach to debugging when you're stuck with multiple plausible causes and don't want to chase the wrong lead. It organizes investigation around six failure categories (logic errors, data issues, state problems, integration failures, resource issues, and environment), forces you to gather real evidence with file and line citations, and uses confidence levels to arbitrate between competing explanations. The framework is heavy on process, which sounds bureaucratic until you've burned hours on confirmation bias or missed a compound bug because you stopped after finding one issue. Works best when the bug is genuinely ambiguous and you need systematic elimination rather than quick intuition.
$ npx -y skills add wshobson/agents --skill parallel-debugging --agent claude-codeInstalls into .claude/skills of the current project.
Framework for debugging complex issues using the Analysis of Competing Hypotheses (ACH) methodology with parallel agent investigation.
Generate hypotheses across 6 failure mode categories:
| Evidence Type | Strength | Example |
|---|---|---|
| Direct | Strong | Code at file.ts:42 shows if (x > 0) should be if (x >= 0) |
| Correlational | Medium | Error rate increased after commit abc123 |
| Testimonial | Weak | "It works on my machine" |
| Absence | Variable | No null check found in the code path |
Always cite evidence with file:line references:
**Evidence**: The validation function at `src/validators/user.ts:87`
does not check for empty strings, only null/undefined. This allows
empty email addresses to pass validation.
| Level | Criteria |
|---|---|
| High (>80%) | Multiple direct evidence pieces, clear causal chain, no contradicting evidence |
| Medium (50-80%) | Some direct evidence, plausible causal chain, minor ambiguities |
| Low (<50%) | Mostly correlational evidence, incomplete causal chain, some contradicting evidence |
After all investigators report:
If multiple hypotheses are confirmed, rank by:
Before declaring the bug fixed:
Sponsors