Parallel Exploration Skill
Guide the process of exploring multiple implementation approaches simultaneously using git worktrees.
The Job
-
Identify when parallel exploration would be valuable
-
Define distinct approaches to explore
-
Create isolated worktrees for each approach
-
Execute exploration in parallel
-
Evaluate and compare results
-
Merge the best solution
When to Use Parallel Exploration
Good Candidates
-
Architecture decisions - Different patterns (e.g., microservices vs monolith)
-
Library selection - Comparing similar libraries hands-on
-
Algorithm choices - Different approaches to the same problem
-
API design - Different interface designs
-
Performance optimization - Multiple optimization strategies
Not Worth Parallelizing
-
Simple, clear-cut decisions
-
Tasks with obvious single approach
-
Very small changes
-
Changes that don't warrant the overhead
Exploration Process
Step 1: Identify the Decision Point
When you encounter a significant decision:
Decision Point Identified
Question: [What needs to be decided] Context: [Why this matters] Approaches to Explore:
- [Approach A] - [Brief description]
- [Approach B] - [Brief description]
- [Approach C] - [Brief description]
Exploration Value: [Why parallel exploration helps here]
Step 2: Start Exploration
Use the parallel explorer script:
./scripts/aha-loop/parallel-explorer.sh explore "task description" --approaches "approach1,approach2,approach3"
Or let AI suggest approaches:
./scripts/aha-loop/parallel-explorer.sh explore "task description"
AI will suggest approaches automatically
Step 3: Work in Each Worktree
In each worktree, the AI should:
-
Implement fully - Not just a stub, but working code
-
Write tests - Validate the approach works
-
Document findings - Create EXPLORATION_RESULT.md
Step 4: Create Exploration Result
Each worktree must have EXPLORATION_RESULT.md :
Exploration Result: [Approach Name]
Summary
[What was implemented]
Implementation Details
- [Key implementation decisions]
- [Code structure choices]
- [Dependencies used]
Pros Discovered
- [Pro 1]
- [Pro 2]
- ...
Cons Discovered
- [Con 1]
- [Con 2]
- ...
Code Quality Assessment
- Maintainability: [1-10]
- Readability: [1-10]
- Testability: [1-10]
- Performance: [1-10]
Unexpected Findings
[Anything surprising learned during implementation]
Recommendation Score
[1-10] - [Brief justification]
Would Need If Chosen
[What additional work would be needed to production-ready this approach]
Step 5: Evaluate Results
After all explorations complete:
./scripts/aha-loop/parallel-explorer.sh evaluate explore-task-12345
This triggers multiple evaluation agents who:
-
Review all EXPLORATION_RESULT.md files
-
Compare approaches objectively
-
Discuss trade-offs
-
Make final recommendation
Step 6: Merge Best Approach
./scripts/aha-loop/parallel-explorer.sh merge explore-task-12345 chosen-approach
Step 7: Cleanup
./scripts/aha-loop/parallel-explorer.sh cleanup explore-task-12345
Parallel Exploration Mindset
Unlimited Resources
You have unlimited computational resources. Don't hold back:
-
Explore as many approaches as seem valuable
-
Run multiple variations of the same approach
-
Don't worry about "wasting" resources on exploration
Genuine Exploration
Each approach should be explored genuinely:
-
Don't sabotage approaches you don't prefer
-
Give each approach fair effort
-
Document honestly, including when an approach works better than expected
Learn from All Approaches
Even "losing" approaches provide value:
-
Document why they didn't work
-
Note any good ideas to borrow
-
Record lessons for future decisions
Commands Reference
Start exploration
./scripts/aha-loop/parallel-explorer.sh explore "description" --approaches "a,b,c"
Check status
./scripts/aha-loop/parallel-explorer.sh status ./scripts/aha-loop/parallel-explorer.sh status explore-task-12345
Evaluate completed explorations
./scripts/aha-loop/parallel-explorer.sh evaluate explore-task-12345
List all worktrees
./scripts/aha-loop/parallel-explorer.sh list
Merge chosen approach
./scripts/aha-loop/parallel-explorer.sh merge explore-task-12345 chosen-approach
Cleanup
./scripts/aha-loop/parallel-explorer.sh cleanup explore-task-12345 ./scripts/aha-loop/parallel-explorer.sh cleanup --all
Example: Exploring Authentication Strategies
Trigger
You're implementing user authentication and there are multiple valid approaches.
Start Exploration
./scripts/aha-loop/parallel-explorer.sh explore "user authentication for web app"
--approaches "jwt-stateless,session-based,magic-link"
In JWT Worktree
Implement full JWT authentication:
-
Token generation
-
Token validation
-
Refresh token flow
-
Tests
Create EXPLORATION_RESULT.md documenting:
-
Pros: Stateless, scalable, mobile-friendly
-
Cons: Token invalidation complexity, larger requests
-
Score: 7/10
In Session Worktree
Implement session-based auth:
-
Session creation
-
Session storage (Redis/DB)
-
Session middleware
-
Tests
Create EXPLORATION_RESULT.md documenting:
-
Pros: Simple to invalidate, smaller requests
-
Cons: Requires session store, stateful
-
Score: 8/10
In Magic Link Worktree
Implement passwordless magic link:
-
Email sending
-
Link generation
-
Link validation
-
Tests
Create EXPLORATION_RESULT.md documenting:
-
Pros: No password to manage, good UX
-
Cons: Email dependency, potential delays
-
Score: 6/10
Evaluate
Multiple evaluation agents review all three approaches and produce:
-
Comparison table
-
Final recommendation (session-based for simplicity)
-
Suggestion to borrow JWT's token rotation idea
Merge
./scripts/aha-loop/parallel-explorer.sh merge explore-auth-12345 session-based
Nested Exploration
During exploration, you may discover new decision points. You can:
-
Defer - Note it for later, continue with current exploration
-
Nest - Start a sub-exploration within the worktree
For nested exploration, create a sub-directory:
.worktrees/ explore-auth-12345/ jwt/ .worktrees/ # Nested exploration explore-refresh-67890/ rotating-tokens/ sliding-window/
Integration with Observability
Log exploration decisions to logs/ai-thoughts.md :
2026-01-29 14:00:00 | Task: PRD-003 | Phase: Exploration
Decision Point
Authentication strategy needs to be determined.
Approaches Being Explored
- JWT (stateless)
- Session-based (stateful)
- Magic link (passwordless)
Exploration Status
Started parallel exploration: explore-auth-12345
Expected Outcome
Will evaluate all three and merge best approach.
Checklist
Before starting exploration:
-
Decision point clearly identified
-
Multiple valid approaches exist
-
Approaches are meaningfully different
-
Exploration effort is justified
During exploration:
-
Each approach implemented genuinely
-
Tests written for each
-
EXPLORATION_RESULT.md created
After exploration:
-
All approaches evaluated fairly
-
Final recommendation documented
-
Best approach merged
-
Worktrees cleaned up