home / skills / 2389-research / claude-plugins / any-percent
This skill helps you rapidly compare 2-5 architectural approaches in parallel using hosted LLMs to generate and evaluate implementations.
npx playbooks add skill 2389-research/claude-plugins --skill any-percentReview the files below or copy the command above to add this skill to your agents.
---
name: any-percent
description: Explore different architectural approaches in parallel using hosted LLM for code generation. No restrictions on approach - fastest path to comparing real implementations. Part of speed-run pipeline.
---
# Any%
Explore different approaches in parallel - no restrictions, fastest path to comparing real implementations. Each variant uses hosted LLM for code generation.
**Announce:** "I'm using speed-run:any% for parallel exploration via hosted LLM."
**Core principle:** When unsure of the best architecture, implement multiple approaches fast via hosted LLM and let real code + tests determine the winner.
## When to Use
- Unsure which architectural approach is best
- Want to compare 2-5 different designs quickly
- "Try both approaches", "explore both", "not sure which way"
- Want token-efficient parallel exploration
## Workflow Overview
| Phase | Description |
|-------|-------------|
| **1. Context** | Quick gathering (1-2 questions max) |
| **2. Approaches** | Generate 2-5 architectural approaches |
| **3. Plan** | Create implementation plan per variant |
| **4. Implement** | Dispatch ALL agents in SINGLE message, each uses hosted LLM |
| **5. Evaluate** | Scenario tests -> fresh-eyes -> judge survivors |
| **6. Complete** | Finish winner, cleanup losers |
## Directory Structure
```
docs/plans/<feature>/
design.md # Shared context
speed-run/
any-percent/
variant-<slug>/
plan.md # Implementation plan for this variant
result.md # Final report
.worktrees/
speed-run-variant-<slug>/ # Variant worktree
```
## Phase 1: Quick Context
**Gather just enough to generate approaches (1-2 questions max):**
- What are you building?
- Any hard constraints? (language, framework, infrastructure)
Do NOT brainstorm extensively. The point of any% is to explore fast, not deliberate slowly.
## Phase 2: Generate Approaches
**Identify the primary architectural axis** (biggest impact decision):
- Storage engine (SQL vs NoSQL vs file-based)
- Framework (Express vs Fastify vs Hono)
- Architecture pattern (monolith vs microservices vs serverless)
- State management approach
- Auth strategy
**Generate 2-5 approaches along that axis:**
```
Based on the requirements, here are 3 approaches to explore:
1. variant-sqlite: SQLite storage with query builder
→ Pros: Simple, embedded, zero config
→ Cons: Single writer, no replication
2. variant-postgres: PostgreSQL with ORM
→ Pros: Scalable, ACID, rich queries
→ Cons: External dependency, more setup
3. variant-redis: Redis with persistence
→ Pros: Fast, built-in pub/sub
→ Cons: Memory-bound, limited queries
All will be implemented via hosted LLM and tested.
Spawning 3 parallel variants now.
```
**Variant limits: Max 5-6.** Don't do full combinatorial explosion:
1. Identify the primary axis
2. Create variants along that axis
3. Fill secondary slots with natural pairings
## Phase 3: Plan + Implement (Parallel)
**Setup worktrees:**
```
.worktrees/speed-run-variant-sqlite/
.worktrees/speed-run-variant-postgres/
.worktrees/speed-run-variant-redis/
Branches:
<feature>/speed-run/variant-sqlite
<feature>/speed-run/variant-postgres
<feature>/speed-run/variant-redis
```
**CRITICAL: Dispatch ALL variants in a SINGLE message**
```
<single message>
Task(variant-sqlite, run_in_background: true)
Task(variant-postgres, run_in_background: true)
Task(variant-redis, run_in_background: true)
</single message>
```
**Variant agent prompt:**
```
You are implementing the [VARIANT-SLUG] variant in a speed-run any% exploration.
Other variants are being implemented in parallel with different approaches.
**Your working directory:** /path/to/.worktrees/speed-run-variant-<slug>
**Design context:** docs/plans/<feature>/design.md
**Your plan location:** docs/plans/<feature>/speed-run/any-percent/variant-<slug>/plan.md
**Your approach:** [APPROACH DESCRIPTION]
- [Key architectural decisions for this variant]
- [Technology choices specific to this variant]
**Your workflow:**
1. Create implementation plan for YOUR approach
- Save to plan location above
- Focus on what makes this approach unique
2. For each implementation task, use hosted LLM for first-pass code generation:
- Write a contract prompt (DATA CONTRACT + API CONTRACT + ALGORITHM + RULES)
- Call: mcp__speed-run__generate_and_write_files
- Run tests
- Fix failures with Claude Edit tool (surgical 1-4 line fixes)
- Re-test until passing
3. Follow TDD
4. Use verification before claiming done
**Code generation rules:**
- Use mcp__speed-run__generate_and_write_files for algorithmic code
- Use Claude direct ONLY for surgical fixes and multi-file coordination
- Write contract prompts with exact data models, routes, and algorithm steps
**Report when done:**
- Plan created: yes/no
- All tasks completed: yes/no
- Test results (output)
- Files changed count
- Hosted LLM calls made
- Fix cycles needed
- What makes this variant's approach unique
- Any issues encountered
```
## Phase 4: Evaluate
**Step 1: Gate check** - All tests pass
**Step 2: Run same scenario tests against all variants**
Use `scenario-testing` skill. Same scenarios, different implementations.
**Step 3: Fresh-eyes on survivors**
```
Fresh-eyes review of variant-sqlite (N files)...
Fresh-eyes review of variant-postgres (N files)...
```
### Step 4: Invoke Judge Skill
**CRITICAL: Invoke `speed-run:judge` now.**
The judge skill contains the full scoring framework with checklists. Invoking it fresh ensures the scoring format is followed exactly.
```text
Invoke: speed-run:judge
Context to provide:
- Variants to judge: variant-sqlite, variant-postgres, variant-redis
- Worktree locations: .worktrees/speed-run-variant-<slug>/
- Test results from each variant
- Scenario test results
- Fresh-eyes findings
- Speed-run metrics: hosted LLM calls, fix cycles, generation time per variant
```
The judge skill will:
1. Fill out the complete scoring worksheet for each variant
2. Fill out the Speed-Run Metrics table
3. Build the scorecard with integer scores (1-5, no half points)
4. Check hard gates (Fitness Δ≥2, any score=1)
5. Announce winner with rationale (including token efficiency)
**Do not summarize or abbreviate the scoring.** The judge skill output should be the full worksheet.
**Any%-specific context:** In any%, variants explore different architectural approaches, so Fitness differences are expected and valid. A Fitness gap here reflects different design trade-offs, not deviation from a shared design. Weight Craft and Spark higher when approaches are fundamentally different.
## Phase 5: Completion
**Winner:** Use `finish-branch`
**Losers:** Cleanup
```bash
git worktree remove .worktrees/speed-run-variant-sqlite
git worktree remove .worktrees/speed-run-variant-redis
git branch -D <feature>/speed-run/variant-sqlite
git branch -D <feature>/speed-run/variant-redis
```
**Write result.md:**
```markdown
# Any% Results: <feature>
## Approaches Explored
| Variant | Approach | Tests | Scenarios | Fresh-Eyes | LLM Calls | Result |
|---------|----------|-------|-----------|------------|-----------|--------|
| variant-sqlite | Embedded SQL | 18/18 | 5/5 | 0 issues | 3 | WINNER |
| variant-postgres | External DB + ORM | 20/20 | 5/5 | 1 minor | 4 | eliminated |
| variant-redis | In-memory + persist | 16/16 | 4/5 | 2 issues | 5 | eliminated |
## Winner Selection
Reason: Simplest architecture, zero external dependencies, all scenarios pass
## Token Savings
Estimated savings vs Claude direct: ~60% on code generation
```
Save to: `docs/plans/<feature>/speed-run/any-percent/result.md`
## Skill Dependencies
| Dependency | Usage |
|------------|-------|
| `writing-plans` | Generate implementation plan per variant |
| `git-worktrees` | Create isolated worktree per variant |
| `parallel-agents` | Dispatch all variant agents in parallel |
| `scenario-testing` | Run same scenarios against all variants |
| `fresh-eyes` | Quality review on survivors |
| `judge` | `speed-run:judge` - scoring framework (bundled) |
| `finish-branch` | Handle winner, cleanup losers |
## Common Mistakes
**Too many variants**
- Problem: Combinatorial explosion, wasted compute
- Fix: Cap at 5-6, pick primary axis only
**Extensive brainstorming before exploring**
- Problem: Defeats the purpose of any% (fast exploration)
- Fix: 1-2 questions max, then generate and go
**Using Claude direct for all code generation**
- Problem: No token savings, defeats speed-run purpose
- Fix: Variants MUST use hosted LLM for first-pass generation
**Dispatching variants in separate messages**
- Problem: Serial instead of parallel
- Fix: ALL Task tools in a SINGLE message
**Skipping scenario tests**
- Problem: Can't compare variants fairly
- Fix: Same scenarios against all variants
**Forgetting cleanup**
- Problem: Orphaned worktrees
- Fix: Always cleanup losers, write result.md
This skill explores multiple architectural approaches in parallel using hosted LLMs to generate code quickly and compare real implementations. It prioritizes speed: implement 2–5 variants, run the same tests and scenario evaluations, then pick a winner based on real results. The goal is fast empirical comparison rather than prolonged design debate.
You provide minimal context (1–2 questions) and I generate 2–5 variants along a single primary architectural axis. Each variant gets an implementation plan and is dispatched together in one message so hosted LLM-driven agents build and test their work in isolated worktrees. After scenario testing and fresh-eyes reviews, a judge step scores variants and a winner is finalized.
How many variants should I try?
Keep it to 2–5 variants. More creates combinatorial overhead and slows the experiment.
What part does the hosted LLM play?
Hosted LLMs perform first-pass algorithmic code generation per variant; surgical edits use direct tooling. This maximizes token efficiency.
How do you ensure fair comparison?
All variants run the same scenario tests, follow the same verification gates, and undergo fresh-eyes reviews before the judge scores results.