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-percent

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
8.8 KB
---
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

Overview

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.

How this skill works

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.

When to use it

  • When you’re unsure which architecture will perform best in practice
  • When you want to compare 2–5 different designs quickly
  • When you prefer fast empirical validation over long design cycles
  • When you need token-efficient parallel exploration with hosted LLMs
  • When you want reproducible scenario tests across multiple implementations

Best practices

  • Keep context collection to 1–2 targeted questions; don’t over-brainstorm
  • Limit variants to 2–5 and pick one primary decision axis to avoid combinatorial explosion
  • Dispatch all variant tasks in a single message so implementations run in parallel
  • Use hosted LLMs for first-pass generation and reserve direct edits for surgical fixes
  • Follow TDD and run identical scenario tests across variants for fair comparison
  • Run fresh-eyes reviews and invoke the judge to score with the provided framework

Example use cases

  • Deciding between embedded database vs managed DB for a new feature by building both and running scenario tests
  • Comparing monolith vs serverless implementations for latency and operational complexity
  • Evaluating different auth strategies (JWT vs session vs OIDC) under the same workload scenarios
  • Testing state management approaches for a realtime feature (in-memory vs persisted streams)
  • Rapidly prototyping different web frameworks (Express vs Fastify vs Hono) to measure dev velocity and runtime behavior

FAQ

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.