cookoff
設計段階から実装に移る際に、「実装しよう」などの言葉に反応し、複数のAIエージェントによる競争、単独エージェント、ローカル実装といった選択肢を提示して、多様な実装プランを作成するSkill。
📜 元の英語説明(参考)
This skill should be used when moving from design to implementation. Triggers on "let's build", "implement this", "looks good let's code", "ready to implement". Presents options for parallel agent competition (cookoff), single subagent, or local implementation. Each agent creates own plan from shared design for genuine variation.
🇯🇵 日本人クリエイター向け解説
設計段階から実装に移る際に、「実装しよう」などの言葉に反応し、複数のAIエージェントによる競争、単独エージェント、ローカル実装といった選択肢を提示して、多様な実装プランを作成するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o cookoff.zip https://jpskill.com/download/16707.zip && unzip -o cookoff.zip && rm cookoff.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16707.zip -OutFile "$d\cookoff.zip"; Expand-Archive "$d\cookoff.zip" -DestinationPath $d -Force; ri "$d\cookoff.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
cookoff.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
cookoffフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Cookoff
同じ設計で、複数の料理人が競い合います。各実装チームは、共有された設計から独自の計画を作成し、それを実装します。独立した計画決定から自然なバリエーションが生まれます。
Test Kitchen Development の一部:
omakase-off- Chef's choice exploration (異なるアプローチ/設計)cookoff- 同じ設計で、複数の料理人が競い合います (それぞれが独自の計画を作成し実装します)
重要な洞察: 事前に作成された実装計画を共有しないでください。各エージェントは、設計ドキュメントから独自の計画を生成し、真のバリエーションを保証します。
ディレクトリ構造
docs/plans/<feature>/
design.md # 入力: ブレインストーミングから
cookoff/
impl-1/
plan.md # エージェント 1 の実装計画
impl-2/
plan.md # エージェント 2 の実装計画
impl-3/
plan.md # エージェント 3 の実装計画
result.md # Cookoff の結果と勝者
Skill の依存関係
| 参照 | プライマリ (インストールされている場合) | フォールバック |
|---|---|---|
writing-plans |
superpowers:writing-plans |
各エージェントが独自の実装計画を作成します |
executing-plans |
superpowers:executing-plans |
検証付きで計画タスクを順番に実行します |
parallel-agents |
superpowers:dispatching-parallel-agents |
単一のメッセージで複数の Task ツールをディスパッチします |
git-worktrees |
superpowers:using-git-worktrees |
git worktree add .worktrees/<name> -b <branch> |
tdd |
superpowers:test-driven-development |
RED-GREEN-REFACTOR サイクル |
verification |
superpowers:verification-before-completion |
コマンドを実行し、出力を読み取り、その後ステータスを主張します |
fresh-eyes |
fresh-eyes-review:skills (2389) |
セキュリティ、ロジック、エッジケースについて 2〜5 分のレビュー |
judge |
test-kitchen:judge |
チェックリストを使用したスコアリングフレームワーク (フェーズ 4 で必ず呼び出す必要があります) |
code-review |
superpowers:requesting-code-review |
コードレビュアーのサブエージェントをディスパッチします |
scenario-testing |
scenario-testing:skills (2389) |
.scratch/ E2E スクリプト、実際依存関係 |
finish-branch |
superpowers:finishing-a-development-branch |
テストを検証し、オプションを提示し、クリーンアップします |
いつ使用するか
ユーザーが設計を実装したい場合にトリガーします。
- "Execute this plan" / "Implement the plan" / "Let's build this"
- ブレインストーミングが完了し、設計ドキュメントが存在した後
- 明示的に呼び出すこともできます: "cookoff this"
重要: Cookoff は、詳細な実装計画ではなく、設計ドキュメントから動作します。各エージェントは、独自の実装計画を作成します。
設計から実装への移行の検出
Cookoff は、特定のスキルの出力ではなく、SITUATION でトリガーされます。
状況: 設計が完了し、実装が開始されようとしています。
設計フェーズが完了したばかりであるというシグナル:
- 設計ドキュメントが作成/コミットされた
- ユーザーが設計を承認した ("looks good", "yes", "let's do it")
- 議論が "何を構築するか" から "どのように構築するか" に移行した
- 任意のスキル/フローが実装を開始しようとしている
この移行を検出したら、常に cookoff を提供してください:
実装を開始する前に、どのように進めたいですか?
1. Cookoff (推奨) - N 個の並列エージェント、それぞれが独自の計画を作成し、最適なものを選択します
→ 複雑さ: [設計から評価]
→ 最適: 中〜高複雑度の機能
2. 単一の実装 - 1 つのエージェント/セッションが実装します
3. 直接コーディング - 詳細な計画なしでコーディングを開始します
これは以下に関係なく適用されます:
- どのブレインストーミングスキルが使用されたか (superpowers、その他、またはなし)
- 正式な設計ドキュメントが存在するかどうか (非公式な合意である可能性があります)
- 別のスキルが提示する可能性のある実装オプション
重要な洞察: 別のスキルのメニューに挿入しているのではありません。SITUATION (設計→実装) を認識し、その瞬間に cookoff が提供されるようにしています。
フェーズ 1: 実装オプション
ユーザーが実装したいときに選択肢を提示します:
この設計をどのように実装しますか?
1. 単一のサブエージェント - 1 つのエージェントが計画と実装を行います
2. Cookoff - N 個の並列エージェント、それぞれが独自の計画を作成し、最適なものを選択します
→ 複雑さ: [設計から評価]
→ 推奨: N 個の実装
3. ローカル - このセッションで計画と実装を行います
どのアプローチにしますか?
ルーティング:
- オプション 1: 単一のエージェントが writing-plans を使用し、次に executing-plans を使用し、cookoff は終了します
- オプション 2: フェーズ 2 に進みます
- オプション 3: ユーザーが手動で実装し、cookoff は終了します
フェーズ 2: 複雑さの評価
設計ドキュメントを読み、評価します:
- 機能の範囲 (コンポーネント、統合、データモデル)
- リスク領域 (認証、支払い、移行、並行性)
- 推定実装サイズ
実装数にマッピングします:
| 複雑さ | 範囲 | リスクシグナル | 実装数 |
|---|---|---|---|
| 低 | 小さな機能 | なし | 2 |
| 中 | 中規模の機能 | いくつか | 3 |
| 高 | 大規模な機能 | 複数 | 4 |
| 非常に高い | 主要なシステム | 重要な領域 | 5 |
ディレクトリをセットアップします:
mkdir -p docs/plans/<feature>/cookoff/impl-{1,2,3}
告知:
複雑さの評価: 中規模の機能、認証に触れます
3 つの並列実装を生成します
それぞれが設計から独自の実装計画を作成します。
フェーズ 3: 並列実行
ワークツリーをセットアップします:
.worktrees/cookoff-impl-1/
.worktrees/cookoff-impl-2/
.worktrees/cookoff-impl-3/
ブランチ:
<feature>/cookoff/impl-1
<feature>/cookoff/impl-2
<feature>/cookoff/impl-3
重要: すべてのエージェントを単一のメッセージでディスパッチします
parallel-agents パターンを使用します。複数の Task ツールの呼び出しを含む 1 つのメッセージを送信します。
<単一のメッセージ>
Task(impl-1, run_in_background: true)
Task(impl-2, run_in_background: true)
Task(impl-3, run_in_background: true)
</単一のメッセージ>
エージェントごとに個別のメッセージを送信しないでください。
サブエージェントのプロンプト (それぞれが自分の impl 番号で同じ指示を受け取ります):
あなたは cookoff コンペティションの M チーム中の N チームの実装チームです。
他のチームは同じ設計を並行して実装しています。
各チームは独自の実装を作成します
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Cookoff
Same design, multiple cooks compete. Each implementation team creates their own plan from the shared design, then implements it. Natural variation emerges from independent planning decisions.
Part of Test Kitchen Development:
omakase-off- Chef's choice exploration (different approaches/designs)cookoff- Same design, multiple cooks compete (each creates own plan + implements)
Key insight: Don't share a pre-made implementation plan. Each agent generates their own plan from the design doc, ensuring genuine variation.
Directory Structure
docs/plans/<feature>/
design.md # Input: from brainstorming
cookoff/
impl-1/
plan.md # Agent 1's implementation plan
impl-2/
plan.md # Agent 2's implementation plan
impl-3/
plan.md # Agent 3's implementation plan
result.md # Cookoff results and winner
Skill Dependencies
| Reference | Primary (if installed) | Fallback |
|---|---|---|
writing-plans |
superpowers:writing-plans |
Each agent writes their own implementation plan |
executing-plans |
superpowers:executing-plans |
Execute plan tasks sequentially with verification |
parallel-agents |
superpowers:dispatching-parallel-agents |
Dispatch multiple Task tools in single message |
git-worktrees |
superpowers:using-git-worktrees |
git worktree add .worktrees/<name> -b <branch> |
tdd |
superpowers:test-driven-development |
RED-GREEN-REFACTOR cycle |
verification |
superpowers:verification-before-completion |
Run command, read output, THEN claim status |
fresh-eyes |
fresh-eyes-review:skills (2389) |
2-5 min review for security, logic, edge cases |
judge |
test-kitchen:judge |
Scoring framework with checklists (MUST invoke at Phase 4) |
code-review |
superpowers:requesting-code-review |
Dispatch code-reviewer subagent |
scenario-testing |
scenario-testing:skills (2389) |
.scratch/ E2E scripts, real dependencies |
finish-branch |
superpowers:finishing-a-development-branch |
Verify tests, present options, cleanup |
When to Use
Trigger when user wants to implement a design:
- "Execute this plan" / "Implement the plan" / "Let's build this"
- After brainstorming completes and design doc exists
- Can also invoke explicitly: "cookoff this"
Important: Cookoff works from a design doc, not a detailed implementation plan. Each agent creates their own implementation plan.
Detecting the Design-to-Implementation Transition
Cookoff triggers at a SITUATION, not a specific skill's output.
The situation: Design is complete, implementation is about to start.
Signals that design phase just completed:
- Design doc was written/committed
- User approved a design ("looks good", "yes", "let's do it")
- Discussion shifted from "what to build" to "how to build it"
- Any skill/flow is about to start implementation
When you detect this transition, ALWAYS offer cookoff:
Before we start implementation, how would you like to proceed?
1. Cookoff (recommended) - N parallel agents, each creates own plan, pick best
→ Complexity: [assess from design]
→ Best for: medium-high complexity features
2. Single implementation - One agent/session implements
3. Direct coding - Start coding without detailed plan
This applies regardless of:
- Which brainstorming skill was used (superpowers, other, or none)
- Whether a formal design doc exists (could be informal agreement)
- What implementation options another skill might present
The key insight: We're not injecting into another skill's menu. We're recognizing a SITUATION (design→implementation) and ensuring cookoff is offered at that moment.
Phase 1: Implementation Options
Present choices when user wants to implement:
How would you like to implement this design?
1. Single subagent - One agent plans and implements
2. Cookoff - N parallel agents, each creates own plan, pick best
→ Complexity: [assess from design]
→ Recommendation: N implementations
3. Local - Plan and implement here in this session
Which approach?
Routing:
- Option 1: Single agent uses writing-plans then executing-plans, cookoff exits
- Option 2: Continue to Phase 2
- Option 3: User implements manually, cookoff exits
Phase 2: Complexity Assessment
Read design doc and assess:
- Feature scope (components, integrations, data models)
- Risk areas (auth, payments, migrations, concurrency)
- Estimated implementation size
Map to implementation count:
| Complexity | Scope | Risk signals | Implementations |
|---|---|---|---|
| Low | Small feature | None | 2 |
| Medium | Medium feature | Some | 3 |
| High | Large feature | Several | 4 |
| Very high | Major system | Critical areas | 5 |
Setup directories:
mkdir -p docs/plans/<feature>/cookoff/impl-{1,2,3}
Announce:
Complexity assessment: medium feature, touches auth
Spawning 3 parallel implementations
Each will create their own implementation plan from the design.
Phase 3: Parallel Execution
Setup worktrees:
.worktrees/cookoff-impl-1/
.worktrees/cookoff-impl-2/
.worktrees/cookoff-impl-3/
Branches:
<feature>/cookoff/impl-1
<feature>/cookoff/impl-2
<feature>/cookoff/impl-3
CRITICAL: Dispatch ALL agents in a SINGLE message
Use parallel-agents pattern. Send ONE message with multiple Task tool calls:
<single message>
Task(impl-1, run_in_background: true)
Task(impl-2, run_in_background: true)
Task(impl-3, run_in_background: true)
</single message>
Do NOT send separate messages for each agent.
Subagent prompt (each gets same instructions with their impl number):
You are implementation team N of M in a cookoff competition.
Other teams are implementing the same design in parallel.
Each team creates their own implementation plan - your approach may differ from others.
**Your working directory:** /path/to/.worktrees/cookoff-impl-N
**Design doc:** docs/plans/<feature>/design.md
**Your plan location:** docs/plans/<feature>/cookoff/impl-N/plan.md
**Your workflow:**
1. Read the design doc thoroughly
2. Use writing-plans skill to create YOUR implementation plan
- Save to: docs/plans/<feature>/cookoff/impl-N/plan.md
- Make your own architectural decisions
- Don't try to guess what other teams will do
3. Use executing-plans skill to implement your plan
4. Follow TDD for each task
5. Use verification before claiming done
**Report when done:**
- Plan created: yes/no
- All tasks completed: yes/no
- Test results (npm test output)
- Files changed count
- Any issues encountered
Your goal: best possible implementation. Good luck!
Monitor progress:
Cookoff status (design: auth-system):
- impl-1: planning... → implementing 5/8 tasks
- impl-2: planning... → implementing 3/8 tasks
- impl-3: planning... → implementing 6/8 tasks
Phase 4: Judging
Step 1: Gate check
- All tests pass
- Design adherence - implemented what the design specified
Step 2: Check for identical implementations
Before fresh-eyes, diff the implementations:
diff -r .worktrees/cookoff-impl-1/src .worktrees/cookoff-impl-2/src
If implementations are >95% identical, note this - the planning step didn't create enough variation. Still proceed but flag in results.
Step 3: Fresh-eyes on survivors
Starting fresh-eyes review of impl-1 (N files)...
Checking: security, logic errors, edge cases
Fresh-eyes complete: 1 minor issue
Step 4: Invoke Judge Skill
CRITICAL: Invoke test-kitchen:judge now.
The judge skill contains the full scoring framework with checklists. Invoking it fresh ensures the scoring format is followed exactly.
Invoke: test-kitchen:judge
Context to provide:
- Implementations to judge: impl-1, impl-2, impl-3 (or however many)
- Worktree locations: .worktrees/cookoff-impl-N/
- Test results from each implementation
- Fresh-eyes findings from Step 3
- Feasibility flags identified
The judge skill will:
- Fill out the complete scoring worksheet for each implementation
- Build the scorecard with integer scores (1-5, no half points)
- Check hard gates (Fitness Δ≥2, any score=1)
- Announce winner with rationale
Do not summarize or abbreviate the scoring. The judge skill output should be the full worksheet.
Cookoff-specific context: In cookoff, all implementations target the same design, so Fitness should be similar. A Fitness gap (Δ≥2) indicates one implementation deviated from or misunderstood the design - not a different approach choice.
Phase 5: Completion
Verification on winner:
Running final verification on winner (impl-2):
- npm test: 22/22 passing ✓
- npm run build: exit 0 ✓
- Design adherence: all requirements met ✓
Verification complete. Winner confirmed.
Winner: Use finish-branch
- Options: merge locally, create PR, keep as-is, discard
Losers: Cleanup
git worktree remove .worktrees/cookoff-impl-1
git worktree remove .worktrees/cookoff-impl-3
git branch -D <feature>/cookoff/impl-1
git branch -D <feature>/cookoff/impl-3
# Keep winner's worktree until merged
Write result.md:
# Cookoff Results: <feature>
## Design
docs/plans/<feature>/design.md
## Implementations
| Impl | Plan Approach | Tests | Fresh-Eyes | Lines | Result |
|------|---------------|-------|------------|-------|--------|
| impl-1 | Component-first | 24/24 | 1 minor | 680 | eliminated |
| impl-2 | Data-layer-first | 22/22 | 0 issues | 720 | WINNER |
| impl-3 | TDD-strict | 26/26 | 2 minor | 590 | eliminated |
## Plans Generated
- impl-1: docs/plans/<feature>/cookoff/impl-1/plan.md
- impl-2: docs/plans/<feature>/cookoff/impl-2/plan.md
- impl-3: docs/plans/<feature>/cookoff/impl-3/plan.md
## Winner Selection
Reason: Clean fresh-eyes review, solid data-layer-first architecture
## Cleanup
Worktrees removed: 2
Branches deleted: <feature>/cookoff/impl-1, <feature>/cookoff/impl-3
Winner branch: <feature>/cookoff/impl-2
Save to: docs/plans/<feature>/cookoff/result.md
Skills Orchestrated
| Dependency | Phase | Usage |
|---|---|---|
writing-plans |
3 | Each subagent creates their own implementation plan |
executing-plans |
3 | Each subagent implements their plan |
parallel-agents |
3 | Dispatch ALL subagents in SINGLE message |
git-worktrees |
3 | Create worktree per implementation |
tdd |
3 | Subagents follow RED-GREEN-REFACTOR |
verification |
3, 5 | Before claiming done; before declaring winner |
code-review |
3 | Review each impl after completion |
fresh-eyes |
4 | Quality review → judge input |
judge |
4 | INVOKE for scoring framework (loads fresh, ensures format compliance) |
scenario-testing |
4 | Validate if scenarios defined |
finish-branch |
5 | Handle winner, cleanup losers |
Common Mistakes
Sharing a pre-made implementation plan
- Problem: All teams copy same code, no variation
- Fix: Each team uses writing-plans to create THEIR OWN plan from design doc
Dispatching agents in separate messages
- Problem: Serial dispatch instead of parallel
- Fix: Send ALL Task tools in a SINGLE message
Not using writing-plans + executing-plans
- Problem: Subagent implements ad-hoc
- Fix: Each subagent MUST use writing-plans then executing-plans
Skipping fresh-eyes
- Problem: Judge has no quality signal, just test counts
- Fix: Fresh-eyes on ALL survivors before comparing
Not checking for identical implementations
- Problem: Wasted compute on duplicates
- Fix: Diff implementations before fresh-eyes, flag if >95% similar
Forgetting cleanup
- Problem: Orphaned worktrees and branches
- Fix: Always cleanup losers, write result.md
Example Invocation
User: "Let's build this" (after brainstorming produced design.md)
Claude: I'm using cookoff.
How would you like to implement this design?
1. Single subagent - One agent plans and implements
2. Cookoff - 3 parallel agents, each creates own plan, pick best
→ Complexity: medium feature, touches auth
→ Recommendation: 3 implementations
3. Local - Plan and implement here
User: "2"
Claude: Spawning 3 parallel implementations...
Each will create their own implementation plan from the design.
[Phase 3: Create worktrees, dispatch ALL 3 agents in single message]
[Each agent: reads design → writes plan → implements]
Cookoff status:
- impl-1: planning → implementing 6/8 tasks
- impl-2: planning → implementing 4/7 tasks
- impl-3: planning → implementing 5/9 tasks
[All 3 complete]
[Phase 4: Diff check - implementations are different ✓]
[Fresh-eyes on all 3]
| Impl | Plan Approach | Tests | Fresh-Eyes |
|------|---------------|-------|------------|
| impl-1 | Component-first | 24/24 | 1 minor |
| impl-2 | Data-layer-first | 22/22 | 0 issues |
| impl-3 | TDD-strict | 26/26 | 2 minor |
Recommendation: impl-2 (cleanest)
User: "2"
[Phase 5: Verify winner, cleanup losers]
Winner: impl-2 ready to merge
Cleanup: 2 worktrees removed
Plans preserved: docs/plans/<feature>/cookoff/