ensemble-solving
SKILL.md
Ensemble Problem Solving
Generate multiple solutions in parallel by spawning 3 subagents with different approaches, then evaluate and select the best result.
When to Use
Activation phrases:
- "Give me options for..."
- "What's the best way to..."
- "Explore different approaches..."
- "I want to see alternatives..."
- "Compare approaches for..."
- "Which approach should I use..."
Good candidates:
- Architecture decisions with trade-offs
- Code generation with multiple valid implementations
- API design with different philosophies
- Naming, branding, documentation style
- Refactoring strategies
- Algorithm selection
Skip ensemble for:
- Simple lookups or syntax questions
- Single-cause bug fixes
- File operations, git commands
- Deterministic configuration changes
- Tasks with one obvious solution
What It Does
- Analyzes the task to determine if ensemble approach is valuable
- Generates 3 distinct prompts using appropriate diversification strategy
- Spawns 3 parallel subagents to develop solutions independently
- Evaluates all solutions using weighted criteria
- Returns the best solution with explanation and alternatives summary
Approach
Step 1: Classify Task Type
Determine which category fits:
- Code Generation: Functions, classes, APIs, algorithms
- Architecture/Design: System design, data models, patterns
- Creative: Writing, naming, documentation
Step 2: Invoke Ensemble Orchestrator
Task tool with:
- subagent_type: 'ensemble-orchestrator'
- description: 'Generate and evaluate 3 parallel solutions'
- prompt: [User's original task with full context]
The orchestrator handles:
- Prompt diversification
- Parallel execution
- Solution evaluation
- Winner selection
Step 3: Present Result
The orchestrator returns:
- The winning solution (in full)
- Evaluation scores for all 3 approaches
- Why the winner was selected
- When alternatives might be preferred
Diversification Strategies
For Code (Constraint Variation):
| Approach | Focus |
|---|---|
| Simplicity | Minimal code, maximum readability |
| Performance | Efficient, optimized |
| Extensibility | Clean abstractions, easy to extend |
For Architecture (Approach Variation):
| Approach | Focus |
|---|---|
| Top-down | Requirements → Interfaces → Implementation |
| Bottom-up | Primitives → Composition → Structure |
| Lateral | Analogies from other domains |
For Creative (Persona Variation):
| Approach | Focus |
|---|---|
| Expert | Technical precision, authoritative |
| Pragmatic | Ship-focused, practical |
| Innovative | Creative, unconventional |
Evaluation Rubric
| Criterion | Base Weight | Description |
|---|---|---|
| Correctness | 30% | Solves the problem correctly |
| Completeness | 20% | Addresses all requirements |
| Quality | 20% | How well-crafted |
| Clarity | 15% | How understandable |
| Elegance | 15% | How simple/beautiful |
Weights adjust based on task type.
Example
User: "What's the best way to implement a rate limiter?"
Skill:
- Classifies as Code Generation
- Invokes ensemble-orchestrator
- Three approaches generated:
- Simple: Token bucket with in-memory counter
- Performance: Sliding window with atomic operations
- Extensible: Strategy pattern with pluggable backends
- Evaluation selects extensible approach (score 8.4)
- Returns full implementation with explanation
Output:
## Selected Solution
[Full rate limiter implementation with strategy pattern]
## Why This Solution Won
The extensible approach scored highest (8.4) because it provides
a clean abstraction that works for both simple use cases and
complex distributed scenarios. The strategy pattern allows
swapping Redis/Memcached backends without code changes.
## Alternatives
- **Simple approach**: Best if you just need basic in-memory
limiting and will never scale beyond one process.
- **Performance approach**: Best for high-throughput scenarios
where every microsecond matters.
Success Criteria
- 3 genuinely different solutions generated
- Clear evaluation rationale provided
- Winner selected with confidence
- Alternatives summarized with use cases
- User understands trade-offs
Token Cost
~4x overhead vs single attempt. Worth it for:
- High-stakes architecture decisions
- Creative work where first attempt rarely optimal
- Learning scenarios where seeing alternatives is valuable
- Code that will be maintained long-term
Integration
- feature-planning: Can ensemble architecture decisions
- code-auditor: Can ensemble analysis perspectives
- plan-implementer: Executes the winning approach
Weekly Installs
37
Repository
mhattingpete/cl…ketplaceGitHub Stars
468
First Seen
Jan 20, 2026
Security Audits
Installed on
claude-code30
opencode28
gemini-cli27
codex25
cursor23
github-copilot23