ahundt/autorun/parallel-subagent
Claude Code and agent skill by ahundt/autorun
- community
Checking that the SKILL.md file is still in the repository.
Eliminate a stubborn configuration bug by testing 8-10 fundamentally different fixes in parallel instead of one at a time. Use when the root cause is ambiguous and asked to "fix this stubborn bug", "we've tried everything", "run approaches in parallel", "use parallel subagents", or "find which config actually works". Builds a minimal test harness, evaluates every approach simultaneously, identifies the winners, and explains WHY they work.
Install
npx vskill@latest install ahundt/autorun/parallel-subagentSKILL.md
Fix Stubborn Bugs Fast By Parallelizing
<purpose>
Eliminate ambiguous configuration bugs in hours, not days. Test 8-10 fundamentally different solution approaches simultaneously to discover what works and understand why. Transforms trial-and-error into systematic exploration.
Summary
6-Step Process: Read buggy code → Research 8-10 orthogonal approaches (document sources) → Build minimal harness → Implement all solutions → Test and identify winners → Apply fix with analysis + citations
Best for: Configuration/integration bugs in complex subsystems where root cause is ambiguous.
Time: 1-2 hours to build harness, saves hours/days of serial debugging.
Success factors: Platform compatibility, realistic test data with edge cases, comprehensive logging, matching production context, academic-quality documentation with cited sources.
Research requirement: Document all sources with URLs (GitHub issues, Stack Overflow, API docs, papers). Cite in code comments and README.
Related methodologies:
- Binary Search Debugging (bisecting commits)
- Fuzzing (input space exploration)
- Property-Based Testing (behavior space)
- A/B Testing (production comparison)
- Ablation Testing (component removal)
This methodology is optimized for configuration/integration debugging where the challenge is finding the right way to wire components together.
When to Use
Good fit:
- Subsystem integration bugs
- Framework configuration with multiple approaches possible
- Ambiguous root cause
- Slow iteration in main codebase
- Reproducible behavior
Poor fit:
- Obvious bugs (typos, logic errors)
- Only 1-2 solutions exist
- Good error messages
- Time-critical hotfixes
- Cannot isolate
</purpose>
<examples>
Quick Example: UI Scrolling Bug
Problem: Table with 14 columns not showing horizontal scrollbar for long text (truncated with "...").
10 Approaches: BASELINE, SET_MAX_WIDTH, EXPAND_TO_INCLUDE_X, VSCROLL_FALSE, NO_CLIP, EXACT_COLUMNS, MIN_SCROLLED_WIDTH, SENSE_HOVER, NESTED_SCROLL, MANUAL_ALLOCATE
Result: Only Test 3 (expand_to_include_x) worked - forces UI to reserve space beyond viewport.
Gotcha: Applied fix → still broken! Logs showed data was empty (std::mem::take() moved it earlier). Fix: Calculate width BEFORE take() using available data. Production: 744 processes, 1609-char commands, 11,189px width (vs test: 50 processes, 150-char, 2000px).
</examples>
<workflow>
The 6-Step Method
Step 1: Read and Understand
Do:
- [ ] Locate subsystem exhibiting problem
- [ ] Document current configuration
- [ ] Write precise expected vs actual behavior
- [ ] List all configurable parameters
- [ ] Review framework documentation (save links to relevant API pages)
Output: Clear understanding of broken state with documented references.
Step 2: Research 8-10 Orthogonal Approaches
Research sources (document all with links/citations):
- [ ] Framework API documentation (official docs, version-specific)
- [ ] GitHub issues/bug reports (link to issue #, note workarounds)
- [ ] Stack Overflow discussions (link to answers, cite voting/accepted status)
- [ ] Academic papers/technical blogs (full citation: author, title, year, URL)
- [ ] Related library source code (note file/line, link to specific commit)
Citation standard: Document all sources with URLs and context. Academic integrity: credit ideas, link to original discussions, note if approach is from specific issue/paper.
Vary these dimensions:
- API Method (constructor/factory/builder)
- Init Order (before/after deps)
- Explicit vs Implicit
- Delegation (parent/child)
- Data Structure (mutable/immutable)
- Sync vs Async
- Config Location (inline/external)
- Nested vs Flat
- Direct vs Indirect
- Pattern (pull/push)
⚠️ Anti-Pattern: Testing parameter values (100, 200, 300). Do instead: Test mechanisms (no buffering, fixed-size, dynamic, ring, double-buffer, memory-mapped, async, zero-copy, pooled, adaptive).
Output: List of 8-10 distinct approaches with hypotheses.
Step 3: Build Minimal Test Harness
Requirements:
- [ ] Same framework version (copy from dependencies)
- [ ] Same data structures (representative sample)
- [ ] Same execution context (threading, hierarchy, globals)
- [ ] Minimal dependencies (strip business logic)
- [ ] Fast build (<30 seconds)
- [ ] Tabbed UI (macOS event loop limit: one per process)
Platform decision:
| UI Approach | Pros | Cons | |
|---|---|---|---|
| Tabbed | Single window, easy switch, cross-platform | One at a time | |
| Split view | See 2-4 at once | Limited number | |
| Separate windows | All visible | macOS event loop limit | |
| Separate executables | Guaranteed isolation | More overhead |
Skeleton with edge cases (adapt to your language):
⚠️ Gotcha 1: Separate windows crash on macOS ("EventLoop can't be recreated"). Use tabs.
⚠️ Gotcha 2: Test data must match production scale. Profile production first (min/max/avg), use realistic sizes (not 10 items vs 700), include edge cases (empty, null, very long, unicode, whitespace).
Output: Harness where Test 1 (baseline) reproduces bug.
Step 4: Implement All 10 Solutions
Pattern (examples in Python, adapt to your language):
Rules:
- [ ] Each test is separate function (no shared state)
- [ ] All use identical TEST_DATA
- [ ] Only ONE thing varies per test
- [ ] Comment: variation + hypothesis
⚠️ Gotcha 3: Global state pollution. Reset before/after each test:
Output: Complete harness with all 10 solutions.
Step 5: Test and Document Results
Classify:
- ✅ WORKS - Fixes bug, no side effects
- ⚠️ PARTIAL - Fixes but has issues
- ❌ FAILS - Doesn't fix
- 💥 BREAKS - Makes it worse
Document:
Output: Documented results identifying winner(s).
Step 6: Analyze and Apply
Analysis (ask these 5 questions):
- What's minimal difference between working/broken?
- Why does this succeed where others fail?
- What does this reveal about framework internals?
- Are there trade-offs or edge cases?
- Is this the simplest working approach?
Document pattern:
Apply to production:
- [ ] Locate corresponding code
- [ ] Apply minimal change (exact approach from working test)
- [ ] Match execution context (order, data availability)
- [ ] Test with production data
- [ ] Add comments explaining WHY + failed alternatives
Comment template:
If fix works in test but fails in production:
Add logging to both (Python shown, use console.log/System.out/etc for your language):
Compare side-by-side:
⚠️ Gotcha 4: Data availability mismatch. Symptom: suspiciously small values (100px vs 2000px). Fix: Calculate BEFORE any take()/move().
Debugging checklist:
- [ ] Log data count, intermediate steps, outputs
- [ ] Run both, capture logs
- [ ] Compare line-by-line
- [ ] Identify first divergence
- [ ] Fix root cause (not symptom)
⚠️ Anti-Pattern: Stopping at "it works". Do instead: Document WHY it works and WHY others failed.
Output: Working fix in production with clear analysis.
</workflow>
<rationale>
Why This Works
Efficiency: Evaluates all approaches in single run (minutes vs hours/days). Fast iteration. Clear visual comparison eliminates guesswork.
Thoroughness: Systematic exploration discovers non-obvious solutions. Documents what doesn't work (valuable negative results).
Knowledge: Framework internals become clearer. Mental model improves. Future reference for similar issues.
ROI: Worthwhile when serial debugging would take >4 hours. Best for complex subsystems, multiple failed attempts, or when deep understanding needed.
</rationale>
<pitfalls>
Critical Pitfalls
Pitfall 1: Test Harness Doesn't Match Reality
Symptoms: Over-simplified test with data=[1,2,3] doesn't reproduce bug. Test passes, production fails. Different behavior in test vs production.
Causes:
- Mock data instead of realistic
- Skipped initialization
- Different data types/threading/context
- Framework version mismatch (test v2.0, production v1.8)
- Async vs sync mismatch ("not initialized" errors)
Fix:
- [ ] Copy EXACT framework version
- [ ] Match: data types, threading, init sequence
- [ ] Verify baseline test REPRODUCES bug
- [ ] Profile production first, match scale
- [ ] Include edge cases (empty, null, long, unicode)
Pitfall 2: Incomplete Documentation
Symptoms: Only documenting working solution. Future developers try failed approaches again.
Causes:
- Not documenting WHY it works
- Not listing failed alternatives
- Not testing edge cases
- Not explaining trade-offs
- Not citing research sources (GitHub issues, Stack Overflow, papers)
Fix: Document pattern of failures with sources:
Pitfall 3: Deleting Test Harness
Symptom: Fix works now, but breaks after framework update. Can't debug similar future bugs.
Fix: Commit harness to tests/bug-fixes/YYYY-MM-DD-[name]/ with README explaining approaches tested, why winner worked, and citing all research sources (GitHub issues, Stack Overflow, papers, docs with URLs).
Value: Reference for similar bugs, verify fix survives updates, training material, academic integrity.
</pitfalls>
<reference>
Quick Reference
10 Approach Categories
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
- semgrepFailed, 35 of 100
- njsscanPassed, 100 of 100
- trufflehogPassed, 100 of 100
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/autorun/skills/parallel-subagent/SKILL.md
Popularity
- Repository stars
- 6
- Repository forks
- 1
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 21 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ahundt/autorun/parallel-subagent)