MCPInstall

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
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ensemble-solving automatically when relevant.

  3. 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

  1. Analyzes the task to determine if ensemble approach is valuable
  2. Generates 3 distinct prompts using appropriate diversification strategy
  3. Spawns 3 parallel subagents to develop solutions independently
  4. Evaluates all solutions using weighted criteria
  5. 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):

ApproachFocus
SimplicityMinimal code, maximum readability
PerformanceEfficient, optimized
ExtensibilityClean abstractions, easy to extend

For Architecture (Approach Variation):

ApproachFocus
Top-downRequirements → Interfaces → Implementation
Bottom-upPrimitives → Composition → Structure
LateralAnalogies from other domains

For Creative (Persona Variation):

ApproachFocus
ExpertTechnical precision, authoritative
PragmaticShip-focused, practical
InnovativeCreative, unconventional

Evaluation Rubric

CriterionBase WeightDescription
Correctness30%Solves the problem correctly
Completeness20%Addresses all requirements
Quality20%How well-crafted
Clarity15%How understandable
Elegance15%How simple/beautiful

Weights adjust based on task type.

Example

User: "What's the best way to implement a rate limiter?"

Skill:

  1. Classifies as Code Generation
  2. Invokes ensemble-orchestrator
  3. Three approaches generated:
    • Simple: Token bucket with in-memory counter
    • Performance: Sliding window with atomic operations
    • Extensible: Strategy pattern with pluggable backends
  4. Evaluation selects extensible approach (score 8.4)
  5. 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

View all →

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.

Frontend & Design738 installs

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.

415 installs

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.

Testing & QA382 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

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.