the-grilling について
the-grilling は、Reconnaissance Dossier の承認後に実行する単一パスのマルチエージェント議論スキルです。提案前に目標を一問ずつ検討し、Proposer、Devils-Advocate、Synthesizer を各一度実行して、次の段階に渡す結論をまとめます。
主な機能
- 01単一パスの議論手順
- 02目標を先に検討
- 03一度に一つの質問
- 04Proposer、Devils-Advocate、Synthesizer の段階
- 05次の段階向けの結論整理
活用シーン
- 01アーキテクチャ検討前の目標検証
- 02提案のリスクや回帰の確認
- 03決定事項と未解決の異議の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kucherenko/ gangsta --skill the-grillingインストール後、Claude Code で/the-grillingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
devils-advocate-prompt.mdproposer-prompt.mdsynthesizer-prompt.md詳細
グリリング:敵対的ブレインストーミング
概要
グリリングは、1回限りのマルチエージェント・ディベートです。提案者が提案し、悪魔の代弁者が攻撃し(最初にアイデア、次に提案)、統合役が修正します。ラウンドはありません。各エージェントはちょうど1回だけ実行されます。ドンへの質問は一度に1つだけで、質問を列挙してはいけません。提案を行う前に、アイデアを吟味します。
トリガー
ドンが偵察ドシエを承認した後(偵察完了)に実行されます。
厳守ルール(交渉不可)
- **ラウンドはありません。**各エージェント(提案者、悪魔の代弁者、統合役)はちょうど1回だけ実行されます。ループして戻ってはいけません。ラウンド2はありません。
- **アイデアが先です。**悪魔の代弁者は、提案を攻撃する前に、ドンの目的(アイデア)を攻撃します。アーキテクチャを提案する前に、偵察ドシエの類似事例、前提、スコープ、類推を踏まえて、アイデアについてドンに質問します。
- **一度に質問は1つです。**ドンとのやり取りでは、必ず質問を1つだけ行います。次の質問をする前に、回答を待ちます。これは、質問をまとめて出力するサブエージェントの出力よりも優先されます。以下の「ドンへの質問プロトコル」を参照してください。
- **質問を列挙してはいけません。**2つ以上の異なる質問を含むドン宛てのメッセージは、番号付きであっても違反です。最も重要な質問から始め、回答を得た後で、次の質問がまだ必要かどうかを判断してください。
プロトコル(1回限り)
フェーズA — アイデアを吟味する
提案を作成する前に、統括エージェントは偵察ドシエ(特に類似事例、先行事例、グリーンフィールドモードの場合は「制約とリスクの調査」)を参照し、目的そのものについてドンに質問します。
- 統括エージェントは偵察ドシエを読み、ドンが判断する必要のある未解決の前提、スコープの曖昧さ、類似事例との比較に関する判断をすべて抽出します。
- 質問の優先順位を付けます。アイデアの妥当性に最も大きく関わるものから始めます(問題の捉え方 → 隠れた前提 → スコープ → 類似事例の選択)。
- ドンには一度に1つだけ質問します。回答を得るたびに、次に予定していた質問がまだ関連するかどうかを判断します。ドンの回答によって、疑問が解消されたり、不要になったり、あるいは新たに、より緊急性の高い疑問が生じたりする可能性があります。
- アイデアに関する重要な質問がなくなるまで続けます。ドンは「アイデアは固まりました。アーキテクチャに進んでください」と伝えることもできます。
アイデアの判定(統括エージェント):
- 却下(REJECT) — 表明された目的に問題があり、ドンによる再定義が必要です。中断し、目的を言い直すか中止するようドンに求めます。
- 要修正(CHALLENGE) — 目的には上記で確認した修正が必要です。それらを反映し、フェーズBに進みます。
- 妥当(SOUND) — 目的は妥当です。フェーズBに進みます。
REJECTの場合:停止します。判定と理由をドンに伝えます。提案者を起動してはいけません。ドンは目的を修正する(偵察に戻る)か、中止できます。
フェーズB — 提案者(1回限り)
提案者サブエージェントを1回だけ起動します。偵察ドシエと、ドンのアイデアに関する回答を反映した修正後の目的を読み、提案を1つ作成します。proposer-prompt.mdを参照してください。
フェーズC — 悪魔の代弁者(1回限り)
悪魔の代弁者サブエージェントを1回だけ起動します。アーキテクチャ上の欠陥、セキュリティ、憲章違反、リグレッション、スケーラビリティについて提案を攻撃します。フェーズAで提起されたアイデアレベルの懸念はすでに記録されています。悪魔の代弁者がそれらを再検討するのは、提案によって目的のスコープが実質的に変わる場合に限ります。devils-advocate-prompt.mdを参照してください。
フェーズD — ドンの意見を聞く(一度に1つの質問)
悪魔の代弁者による攻撃の要約をドンに提示します。その後、次のように質問します。
- 最初の質問:「悪魔の代弁者による攻撃に同意しますか?」—回答を待ちます。
- ドンの回答に基づいて、次の質問を決めます。必要な場合に限り、「見落としている懸念はありますか?」と質問し、回答を待ちます。
- 必要な場合に限り、「提案の一部を覆したいですか?」と質問し、回答を待ちます。
前の回答ですでに決着している場合、その質問は行いません。ドンの回答をすべて収集します。
フェーズ E — シンセサイザー(1 回のみ)
シンセサイザーのサブエージェントを 1 回だけ起動します。有効な攻撃とドンのフィードバックを取り入れ、提案の有効な要素を擁護し、最終的な修正版の解決策を作成します。synthesizer-prompt.md を参照してください。
シンセサイザーの出力が最終的な合意です。2 回目の攻撃フェーズはありません。
終了条件
グリリングはフェーズ E の終了後に終わります。ナッシュ均衡のチェックも、ラウンド制限も、ラウンドが存在しないためラウンド 2 での早期終了もありません。1 回のパスで議論全体が完了します。
例外 — 最善の合意案: シンセサイザーが、デビルズ・アドボケートが重大な異議を提起し、ドンと提案を 1 回の統合パスで解決できないと判断した場合、シンセサイザーは未解決の異議を記録した最善の合意案を代わりに作成します。
## Best Available Consensus
**Proposal:** <Final revised solution>
### Resolved Points
- <Points where all parties agree>
### Unresolved Objections
1. <Objection> — Risk: HIGH/MEDIUM/LOW — Mitigation: <if any>
2. ...
### Don's Decision Required
Accept this consensus (with documented risks), reject and restart, or table.
ドンへの質問プロトコル(厳守)
ドンとのやり取りでは、毎回質問を 1 つだけ行います。次の質問をする前に、ドンの回答を待ちます。
このルールは、複数の質問を 1 つのメッセージにまとめるテンプレートやサブエージェントの出力より優先されます。オーケストレーションエージェント(グリリングを実行するエージェント)は、次の手順に従う必要があります。
- サブエージェントがドンに投げかける質問をすべて特定する
- 重要度の高い順(最も重要な判断を最初)に並べる
- 最初の質問を提示し、ドンの回答を待つ
- 回答後、次に予定していた質問がまだ必要か再評価する。回答ですでに解決している場合は、その質問を省く
- まだ必要な次の質問を提示し、再び回答を待つ
- 必要な質問がなくなるまで繰り返す
- ドンの回答をすべて集め、次のサブエージェントにまとめて渡す
アンチパターン — 質問の一括提示: 番号付きの質問リストを 1 つのメッセージでドンに提示してはいけません。サブエージェントが「ドンへの質問」リストを出力した場合でも、オーケストレーションエージェントは質問を 1 メッセージにつき 1 つずつ順番に行い、不要になった質問は省きます。
質問ツールのスキーマ(厳守)
ドンに質問するために question ツールを使用する場合、各選択肢には null 以外の文字列である両方のフィールドを必ず指定してください。
label: string — concise display text, 1-5 words
description: string — explanation of what choosing this option means
description は決して null、undefined、または省略にしてはいけません。 「はい」や「いいえ」のような明白な選択肢であっても、説明を記載してください。
Bad: { label: "Yes" }
Bad: { label: "Yes", description: null }
Good: { label: "Yes", description: "I agree with the Devil's-Advocate's attack" }
Good: { label: "No", description: "I reject the attack — the proposal stands" }
このスキーマに違反すると、検証エラーが発生してツールの呼び出しに失敗します。
これは次の項目に適用されます。
- フェーズ A のアイデアに関する質問(アイデアごとの質問)
- フェーズ D でのドンの意見
- 最善の合意案に関する判断
- シンセサイザーまたは提案者がドンに投げかける質問
理由: ドンは、同時に 3 つの質問をされるより、1 つの質問に答えるほうが、より良い回答を返します。質問をまとめると、考える負担が増し、判断の質が下がります。
繰り返しの検出(1 回のみのパスに関する注記)
1 回のみのパスでは、フェーズ A のアイデアに関する質問とフェーズ C のデビルズ・アドボケートによる攻撃の間で繰り返しが生じることは想定内であり、問題ありません。両者は異なる角度からアイデアを問いただします。同じ懸念が重複している場合はシンセサイザーが指摘し、最終的な合意で同じ懸念を重複して数えないようにします。
サブエージェントのプロンプト
プロポーザー、デビルズ・アドボケート、シンセサイザーは、このディレクトリにあるプロンプトを使用するサブエージェントとして起動されます。
proposer-prompt.md— プロポーザー用プロンプトテンプレートdevils-advocate-prompt.md— デビルズ・アドボケート用プロンプトテンプレートsynthesizer-prompt.md— シンセサイザー用プロンプトテンプレート
ディスパッチ手順
各サブエージェントをディスパッチするために Task ツールを呼び出すときは、次の手順に従ってください。
- スキルのディレクトリにある、そのエージェント用のプロンプトファイルを読み込みます
- テンプレートのプレースホルダー(ドシエの内容、Don によるアイデア詰問への回答、Devils-Advocate の出力、Don からのフィードバックなど)を埋めます
subagent_typeには、該当する名前付き Gangsta エージェント("proposer"、"devils-advocate"、"synthesizer")を設定します。Gangsta のインストールでは無効なため、"general"や"general-purpose"は使用しないでください- 記入済みのプロンプト全体を
promptパラメーターに含めます
重要 — プラットフォームのエージェントタイプ: Gangsta のインストールで有効な subagent_type の値は、名前付きのカスタムエージェントである "associate"、"soldier"、"the-inspector"、"proposer"、"devils-advocate"、"synthesizer" です。組み込みの "general" エージェントと "explore" エージェントは無効化されています。"general-purpose"、"Task"、"oracle"、"fixer"、"explorer"、"council" は絶対に使用しないでください。 プラットフォーム全体の対応表については、using-gangsta/references/opencode-tools.md を参照してください。
出力
Grilling では、独立したトランスクリプトファイルは作成しません。代わりに、進行役エージェントが討論の最後に Grilling Conclusions の要約を作成します。この要約は、次のフェーズ(The Sit-Down)に直接渡され、Contract に含められます。
Grilling Conclusions には、次の内容を含める必要があります。
- アイデアの判定: REJECT / CHALLENGE / SOUND。Phase A での Don によるアイデアに関する回答を記録します
- 主要な決定事項: 決定した各アーキテクチャ/設計上の事項と、その根拠
- 却下した選択肢: 検討のうえ却下した各選択肢とその理由(Recon Dossier にある類似事例のうち、採用しなかったものも含む)
- 未解決の異議: リスクを認識しつつも受け入れたもの(Best Available Consensus が発動した場合)
- 終了理由: Single-pass complete / Best Available Consensus
進行役エージェントはこの要約をコンテキスト内に保持します。別ファイルとして保存することはありません。
チェックポイント
---
heist: <heist-name>
phase: the-grilling
status: completed
timestamp: <ISO 8601>
next-action: Proceed to The Sit-Down
artifacts: []
note: Grilling Conclusions passed in-context to The Sit-Down for inclusion in the Contract
---
オメルタの遵守状況
- 導入ルール:Proposer、Devils-Advocate、Synthesizer は直接やり取りせず、すべてこのスキルを介して調整されます
- 真実のルール:すべての批判と提案は、Recon Dossier、Constitution、または具体的な技術的事実を根拠として示します
- 可用性のルール:完了後、トランスクリプトとチェックポイントを保存します
- ラウンド禁止ルール:各エージェントの実行は厳密に1回とし、循環的な再批判のループは行いません
- アイデア優先ルール:Phase A では、Phase B でアーキテクチャを提案する前にアイデアを厳しく検討します
- 質問を一度に1つだけにするルール:複数の質問をまとめて Don に提示しません