
ensemble-solving
Generate multiple diverse solutions in parallel and select the best. Use for architecture decisions, code generation with multiple valid approaches, or creative tasks where exploring alternatives improves quality.
- Installs
- 216
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mhattingpete/claude-skills-marketplace --skill ensemble-solving- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads ensemble-solving automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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
FAQ
What does the ensemble-solving skill do?
Generate multiple diverse solutions in parallel and select the best. Use for architecture decisions, code generation with multiple valid approaches, or creative tasks where exploring alternatives improves quality.
How do I install ensemble-solving?
Run npx skills add https://github.com/mhattingpete/claude-skills-marketplace --skill ensemble-solving in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ensemble-solving/ (personal) or .claude/skills/ensemble-solving/ (project).
Which AI agents can use ensemble-solving?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is ensemble-solving safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains ensemble-solving?
It is published by mhattingpete in mhattingpete/claude-skills-marketplace. It has 216 recorded installs.
More from mhattingpete/claude-skills-marketplace
flowchart-creator
mhattingpete/claude-skills-marketplace
Create HTML flowcharts and process diagrams with decision trees, color-coded stages, arrows, and swimlanes. Use when users request flowcharts, process diagrams, workflow visualizations, or decision trees.
codebase-documenter
mhattingpete/claude-skills-marketplace
Generates comprehensive documentation explaining how a codebase works, including architecture, key components, data flow, and development guidelines. Use when user wants to understand unfamiliar code, create onboarding docs, document architecture, or explain how the system works.
architecture-diagram-creator
mhattingpete/claude-skills-marketplace
Open the skill to read its SKILL.md instructions.
file-operations
mhattingpete/claude-skills-marketplace
Open the skill to read its SKILL.md instructions.
git-pushing
mhattingpete/claude-skills-marketplace
Stage, commit, and push git changes with conventional commit messages. Use when user wants to commit and push changes, mentions pushing to remote, or asks to save and push their work. Also activates when user says "push changes", "commit and push", "push this", "push to github", or similar git workflow requests.
test-fixing
mhattingpete/claude-skills-marketplace
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.