← All skills 2389 Research Β· Agent Skills
Testing & Review

test-kitchen

v1.0.0

Parallel exploration of implementation approaches - implements multiple variants simultaneously and lets tests determine the winner

Install β€” npx skills Β· recommended
npx skills add 2389-research/test-kitchen
Prefer Claude Code? Install via /plugin
/plugin install test-kitchen@2389-research

Test Kitchen

You have a spec. Three valid approaches exist. Instead of guessing which one to build, Test Kitchen builds all of them in parallel git worktrees and lets your tests pick the winner.

Read more: Cookoff: Same Spec, Different Code Β· Omakase: Show Me

Parallel implementation framework with two gate skills:

SkillGateTrigger
test-kitchen:omakase-offEntryFIRST on any build/create/implement request
test-kitchen:cookoffExitAt design→implementation transition

Installation

/plugin marketplace add 2389-research/claude-plugins
/plugin install test-kitchen@2389-research

Flow

"Build X" / "Create Y" / "Implement Z"
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  OMAKASE-OFF (entry gate)           β”‚
β”‚  Wraps brainstorming                β”‚
β”‚                                     β”‚
β”‚  Choice:                            β”‚
β”‚  1. Brainstorm together             β”‚
β”‚  2. Omakase (3-5 parallel designs)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    ↓
[Brainstorming / Design phase]
    ↓
Design complete, "let's implement"
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  COOKOFF (exit gate)                β”‚
β”‚  Wraps implementation               β”‚
β”‚                                     β”‚
β”‚  Choice:                            β”‚
β”‚  1. Cookoff (2-5 parallel agents)   β”‚
β”‚  2. Single subagent                 β”‚
β”‚  3. Local implementation            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    ↓
[Implementation]

Quick examples

Entry gate: omakase-off

When you make a build/create request:

User: "Build a notification system"

Claude: I'm using test-kitchen:omakase-off.

How would you like to explore this?

1. Brainstorm together - We'll work through the design step by step
2. Omakase - I'll generate 3-5 best approaches, implement in parallel, tests pick winner

Which approach?

Option 1 (Brainstorm) proceeds to brainstorming skill (or fallback brainstorming), with passive slot detection.

Option 2 (Omakase) does the following:

During brainstorming, slot detection can also trigger it:

Claude: What storage approach would you prefer?
User: "not sure, either could work"

Claude: [marks storage as architectural slot]

Claude: For authentication?
User: "no preference, you pick"

Claude: [marks auth as slot, detects 2+ uncertain responses]

You seem flexible on the approach. Would you like to:
1. I'll pick what seems best and continue
2. Explore multiple approaches in parallel (omakase-off)
   β†’ I'll implement 2-3 variants and let tests decide

Exit gate: cookoff

User: "Looks good, let's implement"

Claude: I'm using test-kitchen:cookoff.

How would you like to implement this design?

1. Cookoff (recommended) - 3 parallel agents, each creates own plan, pick best
   β†’ Complexity: medium feature
2. Single subagent - One agent plans and implements
3. Local - Plan and implement here

Which approach?

Option 1 (Cookoff):

Options 2/3 -- single agent or local implementation proceeds normally.

Why aggressive triggers

Skills can't passively detect "uncertainty" or "readiness" -- they must claim specific moments in the conversation flow.

Dependencies

Test Kitchen orchestrates these skills (falls back gracefully if not installed):

Documentation

Origin

Named after a restaurant test kitchen, where chefs try multiple approaches before putting a dish on the menu.

---

If Test Kitchen saved you from building the wrong approach first, a ⭐ helps us know it's landing.

Built by 2389 Β· Part of the Claude Code plugin marketplace