
Parallel Debugging
- 7.6k installs
- 38.3k repo stars
- Updated July 22, 2026
- wshobson/agents
parallel-debugging is an agent skill that debugs complex issues using competing hypotheses, parallel investigation, evidence with file:line citations, and root cause arbitration.
About
The parallel-debugging skill applies Analysis of Competing Hypotheses with parallel agent investigation for hard bugs. Agents generate hypotheses across six failure modes: logic errors, data issues, state problems, integration failures, resource issues, and environment mismatches. Evidence must cite file and line references with strength ratings from direct to correlational, testimonial, or absence. Confidence levels guide whether hypotheses are high, medium, or low before arbitration categorizes results as confirmed, plausible, falsified, or inconclusive. The protocol ranks confirmed causes by confidence, evidence count, causal chain strength, and contradicting evidence, then validates fixes against root cause, regression risk, reproduction cases, edge coverage, and test updates. Use when bugs have multiple plausible causes, initial debugging failed, issues span modules, you need systematic root cause analysis, or you want to reduce confirmation bias during investigation.
- Six hypothesis categories: logic, data, state, integration, resource, and environment failures.
- Evidence standards require file:line citations with direct, correlational, or absence strength ratings.
- Arbitration ranks confirmed hypotheses by confidence, evidence count, and causal chain clarity.
- Supports compound root causes when multiple hypotheses confirm with similar likelihood.
- Fix validation checklist covers reproduction, edge cases, regressions, and test updates.
Parallel Debugging by the numbers
- 7,606 all-time installs (skills.sh)
- +166 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #15 of 610 Debugging skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
parallel-debugging capabilities & compatibility
- Capabilities
- six category hypothesis generation framework · file:line evidence citation with strength rating · confidence based hypothesis arbitration protocol · compound root cause detection when multiple hypo · post fix validation checklist with test updates
- Use cases
- debugging · testing · orchestration
What parallel-debugging says it does
Framework for debugging complex issues using the Analysis of Competing Hypotheses (ACH) methodology with parallel agent investigation.
Always cite evidence with file:line references
npx skills add https://github.com/wshobson/agents --skill parallel-debuggingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 7.6k |
|---|---|
| repo stars | ★ 38.3k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 22, 2026 |
| Repository | wshobson/agents ↗ |
How do I systematically find the root cause when a bug has multiple plausible explanations across modules?
Debug complex bugs using competing hypotheses, parallel investigation, evidence collection, and root cause arbitration across modules.
Who is it for?
Teams debugging multi-module bugs where initial attempts failed and confirmation bias is a risk.
Skip if: Skip for trivial single-line fixes or issues already traced to one obvious stack trace line.
When should I use this skill?
Bug has multiple plausible causes, spans modules, needs root cause analysis, or parallel investigation with evidence standards.
What you get
Ranked hypotheses with cited evidence, a declared root cause or compound issue, and a validated fix checklist before closing the bug.
- hypothesis investigation reports
- evidence summaries
- arbitration outcome
By the numbers
- Defines six failure-mode categories for hypothesis classification
Files
Parallel Debugging
Framework for debugging complex issues using the Analysis of Competing Hypotheses (ACH) methodology with parallel agent investigation.
When to Use This Skill
- Bug has multiple plausible root causes
- Initial debugging attempts haven't identified the issue
- Issue spans multiple modules or components
- Need systematic root cause analysis with evidence
- Want to avoid confirmation bias in debugging
Hypothesis Generation Framework
Generate hypotheses across 6 failure mode categories:
1. Logic Error
- Incorrect conditional logic (wrong operator, missing case)
- Off-by-one errors in loops or array access
- Missing edge case handling
- Incorrect algorithm implementation
2. Data Issue
- Invalid or unexpected input data
- Type mismatch or coercion error
- Null/undefined/None where value expected
- Encoding or serialization problem
- Data truncation or overflow
3. State Problem
- Race condition between concurrent operations
- Stale cache returning outdated data
- Incorrect initialization or default values
- Unintended mutation of shared state
- State machine transition error
4. Integration Failure
- API contract violation (request/response mismatch)
- Version incompatibility between components
- Configuration mismatch between environments
- Missing or incorrect environment variables
- Network timeout or connection failure
5. Resource Issue
- Memory leak causing gradual degradation
- Connection pool exhaustion
- File descriptor or handle leak
- Disk space or quota exceeded
- CPU saturation from inefficient processing
6. Environment
- Missing runtime dependency
- Wrong library or framework version
- Platform-specific behavior difference
- Permission or access control issue
- Timezone or locale-related behavior
Evidence Collection Standards
What Constitutes Evidence
| 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 |
Citation Format
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.Confidence Levels
| 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 |
Result Arbitration Protocol
After all investigators report:
Step 1: Categorize Results
- Confirmed: High confidence, strong evidence, clear causal chain
- Plausible: Medium confidence, some evidence, reasonable causal chain
- Falsified: Evidence contradicts the hypothesis
- Inconclusive: Insufficient evidence to confirm or falsify
Step 2: Compare Confirmed Hypotheses
If multiple hypotheses are confirmed, rank by:
1. Confidence level 2. Number of supporting evidence pieces 3. Strength of causal chain 4. Absence of contradicting evidence
Step 3: Determine Root Cause
- If one hypothesis clearly dominates: declare as root cause
- If multiple hypotheses are equally likely: may be compound issue (multiple contributing causes)
- If no hypotheses confirmed: generate new hypotheses based on evidence gathered
Step 4: Validate Fix
Before declaring the bug fixed:
- [ ] Fix addresses the identified root cause
- [ ] Fix doesn't introduce new issues
- [ ] Original reproduction case no longer fails
- [ ] Related edge cases are covered
- [ ] Relevant tests are added or updated
Hypothesis Testing Reference
Task templates, evidence formats, and arbitration decision trees for parallel debugging.
Hypothesis Task Template
## Hypothesis Investigation: {Hypothesis Title}
### Hypothesis Statement
{Clear, falsifiable statement about the root cause}
### Failure Mode Category
{Logic Error | Data Issue | State Problem | Integration Failure | Resource Issue | Environment}
### Investigation Scope
- Files to examine: {file list or directory}
- Related tests: {test files}
- Git history: {relevant date range or commits}
### Evidence Criteria
**Confirming evidence** (if I find these, hypothesis is supported):
1. {Observable condition 1}
2. {Observable condition 2}
**Falsifying evidence** (if I find these, hypothesis is wrong):
1. {Observable condition 1}
2. {Observable condition 2}
### Report Format
- Confidence: High/Medium/Low
- Evidence: list with file:line citations
- Causal chain: step-by-step from cause to symptom
- Recommended fix: if confirmedEvidence Report Template
## Investigation Report: {Hypothesis Title}
### Verdict: {Confirmed | Falsified | Inconclusive}
### Confidence: {High (>80%) | Medium (50-80%) | Low (<50%)}
### Confirming Evidence
1. `src/api/users.ts:47` — {description of what was found}
2. `src/middleware/auth.ts:23` — {description}
### Contradicting Evidence
1. `tests/api/users.test.ts:112` — {description of what contradicts}
### Causal Chain (if confirmed)
1. {First cause} →
2. {Intermediate effect} →
3. {Observable symptom}
### Recommended Fix
{Specific code change with location}
### Additional Notes
{Anything discovered that may be relevant to other hypotheses}Arbitration Decision Tree
All investigators reported?
├── NO → Wait for remaining reports
└── YES → Count confirmed hypotheses
├── 0 confirmed
│ ├── Any medium confidence? → Investigate further
│ └── All low/falsified? → Generate new hypotheses
├── 1 confirmed
│ └── High confidence?
│ ├── YES → Declare root cause, propose fix
│ └── NO → Flag as likely cause, recommend verification
└── 2+ confirmed
└── Are they related?
├── YES → Compound issue (multiple contributing causes)
└── NO → Rank by confidence, declare highest as primaryCommon Hypothesis Patterns by Error Type
"500 Internal Server Error"
1. Unhandled exception in request handler (Logic Error) 2. Database connection failure (Resource Issue) 3. Missing environment variable (Environment)
"Race condition / intermittent failure"
1. Shared state mutation without locking (State Problem) 2. Async operation ordering assumption (Logic Error) 3. Cache staleness window (State Problem)
"Works locally, fails in production"
1. Environment variable mismatch (Environment) 2. Different dependency version (Environment) 3. Resource limits (memory, connections) (Resource Issue)
"Regression after deploy"
1. New code introduced bug (Logic Error) 2. Configuration change (Integration Failure) 3. Database migration issue (Data Issue)
Related skills
FAQ
What hypothesis categories does parallel-debugging use?
Logic error, data issue, state problem, integration failure, resource issue, and environment mismatch.
How should evidence be cited?
With file:line references describing what the code shows, rated as direct, correlational, testimonial, or absence evidence.
What happens when multiple hypotheses confirm?
They are ranked by confidence and evidence; equally likely confirmations may indicate a compound issue with multiple contributing causes.
Is Parallel Debugging safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.