ensemble-solving
A collaborative problem-solving tool that compares multiple approaches in parallel.
Install
mkdir -p .claude/skills/ensemble-solving && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3236" && unzip -o skill.zip -d .claude/skills/ensemble-solving && rm skill.zipInstalls to .claude/skills/ensemble-solving
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Spawns three parallel solution subagents
- →Applies weighted criteria for evaluation
- →Generates diverse architectural alternatives
- →Performs comparative analysis of code implementation
- →Selects the most optimal implementation
How it works
Orchestrates three concurrent agents to solve a prompt independently, then uses a comparison matrix to score the output against the original objective.
Inputs & outputs
When to use ensemble-solving
- →Compare architectural trade-offs
- →Generate alternative code implementations
- →Evaluate different API design philosophies
- →Select best naming conventions
About this skill
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
When not to use it
- →Single-line bug fixes
- →Simple syntax lookups
- →Deterministic tasks with one correct answer
Limitations
- →High token consumption due to parallel agent execution
- →Evaluation quality relies on the provided weighted criteria
- →Not suitable for time-sensitive or simple file operations
How it compares
Forces exploration of divergent design philosophies instead of iterating on the first viable solution identified.
Compared to similar skills
ensemble-solving side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ensemble-solving (this skill) | 1 | 7mo | No flags | Intermediate |
| software-architecture | 333 | 6mo | No flags | Intermediate |
| codex | 32 | 2mo | Review | Advanced |
| game-development | 70 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by mhattingpete
View all by mhattingpete →You might also like
software-architecture
davila7
Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.
codex
Lucklyric
Invoke Codex CLI for complex coding tasks requiring high reasoning capabilities. This skill should be invoked when users explicitly mention "Codex", request complex implementation challenges, advanced reasoning, or need high-reasoning model assistance. Automatically triggers on codex-related requests and supports session continuation for iterative development.
game-development
davila7
Game development orchestrator. Routes to platform-specific skills based on project needs.
senior-fullstack
davila7
Comprehensive fullstack development skill for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL. Includes project scaffolding, code quality analysis, architecture patterns, and complete tech stack guidance. Use when building new projects, analyzing code quality, implementing design patterns, or setting up development workflows.
command-name
anthropics
This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
python-project-structure
wshobson
Python project organization, module architecture, and public API design. Use when setting up new projects, organizing modules, defining public interfaces with __all__, or planning directory layouts.