debate
複数のAIモデル間での対抗的議論(GPT-5.4による提案とClaudeによる審査)を通じて、高品質な製品要件定義書(PRD)を生成します。以下のような場面で活用できます:(1) PRDや製品仕様書の新規作成、(2) 複数の視点が必要な複雑な製品・戦略判断、(3) 「/debate」コマンドの実行、(4) 製品方向性の構造的な論証、(5) 複数の製品案における利点と課題の比較検討。一方、単純な問題、コード審査、単発の文書生成、技術アーキテクチャ設計には適していません。
description の原文を見る
通过跨模型对抗式辩论(GPT-5.4 提案 + Claude 审查)产出高质量产品文档(PRD)。 当用户需要:(1) 创建 PRD 或产品规格说明,(2) 做复杂的产品或策略决策、需要多视角分析, (3) 说 "/debate",(4) 对产品方向进行结构化论证, (5) 对比多个产品方案的优劣时使用。 不适用于:简单问题、代码评审、单轮文档生成、技术架构设计。
SKILL.md 本文
構造化ディベート
クロスモデル対抗型ディベート編成を通じた高品質な製品ドキュメントの作成。
3つの役割:
- 司会者(Host)(あなた、メインセッション Claude)— フレームワークの設計、ラウンドの編成、進行の判定、遡及検証の実行
- 提案者(Proposer)(GPT-5.4、Codex 経由で呼び出し)— 分析と提案の作成
- レビュアー(Reviewer)(Claude サブエージェント)— 対抗型レビュー、弱点と空白の発見
プロセス概要
フェーズ 1:初期化
→ 既存のディベートを確認 → ワークスペースを作成 → .debate-state を初期化
フェーズ 2:意図の明確化(必須)
→ 司会者が構造化提問 → ユーザーが意図を確認 → intent-brief.md に記述
→ フレームワーク設計またはディベート開始の前に必ず完了
フェーズ 3:フレームワーク設計
→ トピックを分析 → 4~7 段階の議論を設計 → ユーザーに提示 → debate-framework.md に記述
コードベース調査(条件付きトリガー):
→ 司会者がトピックが既存コードベースに関連するかを判断
→ 関連する場合:Explore エージェントがプロジェクトをスキャン → codebase-context.md に記述
→ 目的:製品設計に現実的な基盤を提供、技術方案の作成ではない
フェーズ 4:段階別実行(各段階ごと)
→ 司会者が実行モードを決定:
A) 探索ラウンド? → 提案者が問題フレームワークを作成 → レビュアーが批評 → 司会者が重要な質問を充実
B) モジュール分割? → 分割 → 各モジュールを単一ラウンド → 複数ラウンドで統合
C) 標準:2~5 ラウンドの提案者↔レビュアー対抗型ディベート
→ 進行時:共識 + コアコミットメント + 遡及検証を記述
→ すべての成果物は製品の視点であること — 技術実装に関与しない、技術スケジュールに関与しない
フェーズ 5:最終統合 → PRD(製品の視点)+ サマリー + 決定ログ
フェーズ 6:成果物 → 結果を提示 → ユーザーがレビュー/修正可能
自動進行:各フェーズが完了すると、自動的に次のフェーズに進みます。
ワークスペース構造
debates/<debate-slug>/
.debate-state # YAML チェックポイント
intent-brief.md # ユーザー意図の明確化(フェーズ 2 の成果物)
debate-framework.md # フェーズ、目標、重要な質問
core-commitments.md # 確認されたコミットメント(遡及アンカーポイント)
codebase-context.md # プロジェクトコードベースのサマリー(調査がトリガーされた場合)
phases/
01-<phase-slug>/
round-NN-proposer.md # 提案者の成果物(00 = 探索ラウンド)
round-NN-reviewer.md # レビュアーの成果物
consensus.md # フェーズの共識
backtrack-check.md # 遡及検証の結果
prompts/ # Codex プロンプトファイル(監査証跡)
modules/ # サブモジュールファイル(モジュール分割がトリガーされた場合)
01-<module>/
round-01-proposer.md / round-01-reviewer.md / mini-consensus.md
output/
prd.md / debate-summary.md / decision-log.md
フェーズ 1:初期化
/debate呼び出しからユーザーのトピックを解析debates/に進行中のディベートがあるかを確認(回復プロトコルはreferences/session-recovery.mdを参照):- 見つかった →
.debate-stateを読み込み → 回復または新規作成オプションを提供 - 見つからない → 作成を続行
- 見つかった →
debate-slugを生成(小文字、ハイフン、最大 40 文字)- ワークスペースディレクトリを作成
.debate-stateを初期化:version: "1.0" debate_name: "<説明的な名前>" debate_slug: "<slug>" topic: "<ユーザーの元のトピック、逐語的に記録>" created_at: "<ISO タイムスタンプ>" current_phase: 0 current_round: 0 total_phases: 0 status: "initializing" research_done: false intent_confirmed: false phase_statuses: {} last_action: "init" last_action_at: "<ISO タイムスタンプ>"
フェーズ 2:意図の明確化(必須)
目標:フレームワーク設計またはディスカッション開始前に、ユーザーとの深い意図の整合を行い、司会者がユーザーの製品ニーズを完全に理解していることを確認します。
これは必須ステップであり、スキップできません。 フレームワーク設計に早期に進入すると、方向のずれ、やり直し、および議論リソースの無駄につながります。明確化の観点、提問テンプレート、および成果物フォーマットについては、references/intent-clarification.md を参照してください。
実行方法
- 初回質問:ユーザーの初期説明に基づいて、最も重要な 3~5 の質問を選択して提出します。すべての質問を一度に出さないでください。
- フォローアップと深掘り:ユーザーの回答に基づいて、曖昧な部分または重要な点についてフォローアップします。
- 情報の統約と確認:司会者が十分な情報があると判断したら、理解の要約をユーザーに提示し、明確に確認を求めます。
- ユーザーの確認後:明確化の内容を
intent-brief.mdに記述し、.debate-stateを更新(intent_confirmed: true)してフェーズ 3 に進みます。
フェーズ 3:フレームワーク設計
目標:ユーザーのトピックのためのカスタマイズされたディスカッションフレームワークを設計します。
固定テンプレートを使用しません。 フレームワークを設計する際に、基本パターンと設計原則を得るために references/framework-design.md を読んでください。
重要:フレームワークは製品の視点から設計する必要があります。各フェーズは製品レベルの問題(ユーザー価値、シナリオ、エクスペリエンス、優先順位、スコープ)に焦点を当てるべきであり、技術実装の詳細に関与しません。「どのフレームワークを使うのか」「インターフェースをどのように設計するのか」「データベースをどのようにモデル化するのか」「技術スケジュールはどのくらいか」などの技術的な質問はこのフェーズの範囲ではありません。
intent-brief.mdを読んでフレームワーク設計の主要な入力とします- トピックを分析:タイプ、依存チェーン、潜在的な分歧の領域
- 4~7 フェーズを設計、各フェーズに以下を含めます:名前、目標、重要な質問(3~5 個)、完了基準、依存性
- すべての重要な質問が製品レベルであることを検証:技術実装方案に関与しない、技術スケジュールに関与しない
debate-framework.mdに記述- ユーザーに確認を提示
- ユーザーの確認後:
.debate-stateを更新し、コードベース調査判定に進みます
コードベース調査(条件付きトリガー)
目標:ディベートをプロジェクトの実際のコードベースに植え込み、PRD が既存の製品機能と互換性があるようにします。
重要:コードベース調査は製品設計の現実的な基盤を支援するもので、技術計画ではありません。その目的は以下を理解することです:
- 既存の製品機能とユーザーエクスペリエンス(ユーザーは現在何ができるのか)
- 製品の制約と境界線(既存の製品構造に基づいて、何が実行可能/不可能か)
- 製品モジュール間の関係(機能がどのように相互に関連しているか)
- データとコンテンツモデルの製品的意味(どのような情報が存在し、どのように組織されているか)
コードベース調査は技術実装方案、アーキテクチャ設計、または開発スケジュールを作成しません。これらのコンテンツは製品 PRD の最終版後の独立した技術方案フェーズに属しています。
このフェーズに進むときに、完全なプロトコル、Explore エージェントプロンプト、および成果物フォーマットを取得するために references/codebase-research.md を読んでください。
トリガー条件(いずれかに該当):トピックが既存機能の進化に関連している;重要な質問が技術的な制約に関連している;ユーザーが具体的なモジュールまたはコンポーネントを言及した。
スキップ条件(いずれかに該当):純粋な戦略/ビジネストピック;新規製品;意味のあるコードリポジトリがない。
トリガーされたとき:
- Explore エージェントがコードベースをスキャン(1~2 エージェント、並列実行)
- 司会者が成果物を統合
codebase-context.md(1000~2000 字) - コンテキストを提案者/レビュアープロンプトに注入(
references/context-management.mdを参照) .debate-stateを更新:research_done: true
フェーズ 4:段階別実行
これはコアディベートループです。 各フェーズについて:
重要な制約 — 製品の視点のみ:ディスカッション全体の成果物は製品方案である必要があり、技術方案ではありません。ディスカッション内でコードベースの現状を製品決定の根拠として参照することは可能です(例:「既存製品は既に XX 機能をサポートしている」)が、技術実装の詳細を深掘りすべきではありません(例:「React を使うべきか Vue を使うべきか」「データベーステーブルをどのように設計するか」「インターフェースをどのように定義するか」)。技術実装方案と技術スケジュールは製品 PRD 完成後の独立した技術方案フェーズで実施すべきです。
ステップ 1:実行モードの決定
探索ラウンド? トリガー条件:早期フェーズの情報不足;重要な質問が詳細な定義を必要とする;前のフェーズが不十分なコンテキストをもつ。スキップ条件:後期フェーズ、前のフェーズからの豊富なコミットメントまたは評価型の目標。
モジュール分割? トリガー条件:フェーズが詳細な仕様書に関連している;3 個以上の独立したサブモジュールを識別;重要な質問がモジュール単位でグループ化されている。スキップ条件:単一で一貫性のあるトピック。
両方は共存可能です:探索ラウンド → モジュール分割 → 統合ラウンド。
ステップ 2:ラウンドの実行
探索ラウンド(第 0 ラウンド) — トリガーされたときに、探索ラウンドプロンプトテンプレートを得るために references/proposer-protocol.md を読んでください:
- 提案者が問題フレームワークを作成(提案ではない) →
round-00-proposer.md - レビュアーがフレームワークの完全性を批評 →
round-00-reviewer.md - 司会者が両者を統合 →
debate-framework.mdの重要な質問を更新 - 第 1 ラウンドに進みます。5 ラウンドの上限にカウントされません。
モジュール分割 — トリガーされたときに、提案者テンプレートを得るために references/proposer-decomposition.md を読み、レビュアーテンプレートを得るために references/reviewer-decomposition.md を読んでください:
- 分割ラウンド:提案者がサブモジュールをリストアップ → レビュアーが検証 → 司会者が確認
- モジュール単位ラウンド(各モジュール 1 ラウンド):提案者が提案 → レビュアーが批評 → 司会者が小さな共識を記述
- 統合ラウンド(2~5 ラウンド、標準進行):提案者がすべてのモジュールを統合 → レビュアーがモジュール間一貫性を批評
標準ラウンド(第 1~5 ラウンド) — プロンプトワードを準備するときに、提案者テンプレートを得るために references/proposer-protocol.md を読み、レビュアーテンプレートを得るために references/reviewer-protocol.md を読んでください:
- 司会者が提案者プロンプトを準備(フェーズの目標 + 重要な質問 + 前ラウンドのサマリー + レビュアーの異議 + コアコミットメント)。完全なディベート履歴を含まない —
references/context-management.mdを参照してください。 - Bash から Codex CLI を実行して提案者を呼び出します:
ここでcodex exec -o "<output-path>" --full-auto --ephemeral - < "<prompt-file-path>"<prompt-file-path>は記述したプロンプトファイルパス、<output-path>は出力結果ファイルパス(例round-NN-proposer.md)です。-は stdin からプロンプトを読み取ることを意味し、--full-autoは自動実行を有効にし、--ephemeralはセッションを永続化しません。 - 成果物を検証:長さ ≥ 200 字、必要なセクションが存在、重要な質問が網羅されている。チェック失敗の場合、明確なギャップの説明で再プロンプト(最大 2 回の再試行)。
- Agent ツールを通じてレビュアーを呼び出し(model: opus)
- 司会者が収束性を判定 —
references/phase-progression.mdから 5 選 3 の進行基準を参照
ステップ 3:フェーズの完了
進行基準が満たされた場合(または第 5 ラウンドで強制進行):
consensus.mdに記述(達成された共識的立場、解決された分歧、トレードオフ、開いている項目)- コアコミットメントを抽出 →
core-commitments.mdに追加、C{phase}.{index}として番号付け - 遡及検証 — このチェックを実行するときに
references/backtracking-algorithm.mdを読んでください:- 3 つの観点:アラインメント、スコープ、優先順位
- ハード違反(矛盾) → 進行を阻止、補充ラウンド
- ソフト違反 → 共識で必ず記録
.debate-stateを更新し、自動的に次のフェーズに進みます
フェーズ 5:最終統合
すべてのフェーズが完了した後:
- すべての
consensus.md+core-commitments.md+debate-framework.md+intent-brief.mdを読む output/prd.mdを作成 —references/prd-template.mdの構造に従ってコンテンツを整理- 製品の視点:PRD が説明するのは「何をするのか」と「なぜやるのか」であり、「どのようにやるのか」ではありません。技術アーキテクチャ設計、インターフェース定義、データベース方案、技術スケジュールなどのコンテンツは含めません。
- 技術的な制約が関連する場合:製品制約の形式でのみ表示(例「既存 XX 機能との互換性が必要」)、技術の詳細は展開しません。
output/debate-summary.mdを作成:フェーズ単位の要約、統計データ、ハイライトoutput/decision-log.mdを作成:時系列の決定と理由.debate-stateを更新:status: "completed"
フェーズ 6:成果物
ディベート完了:"{debate_name}"
合計 {total_phases} フェーズ、{total_rounds} ラウンド、{commitment_count} 件のコミットメント
成果物ファイル:
- debates/<slug>/output/prd.md
- debates/<slug>/output/debate-summary.md
- debates/<slug>/output/decision-log.md
A) 完全な PRD を表示 B) 特定のフェーズを詳しく C) 特定のセクションを修正
ユーザーの介入
ユーザーは任意のラウンド間に割り込むことができます:
| ユーザーの発言 | 司会者の操作 |
|---|---|
| 「X を考慮してください」/ 「Y を忘れないでください」 | 制約条件として次のラウンドのプロンプトに追加 |
| 「方向が違う」/ 「Z に焦点を当てる」 | フェーズ戦略を調整、重要な質問を修正 |
| 「このフェーズをスキップする」 | スキップとマーク、進行 |
| 「一時停止」 | 状態を保存、待機 |
| 「フェーズ N に戻る」 | そのフェーズにリセット |
| 「X についての新しいフェーズを追加する」 | フレームワークに新しいフェーズを挿入 |
処理後、変更内容を明確に確認してから続行します。
エラー処理
Codex 障害:1 回再試行 → タイムアウトの場合:プロンプト長を削減 → 継続して失敗する場合:Claude サブエージェントに一時的な提案者としてフォールバック(記録で注記)。
成果物の品質が低い:明確なギャップの説明で再プロンプト、最大 2 回の再試行。再試行後も不十分な場合、進行を続け、マークします。
制御不能なディベート:総ラウンド数 > total_phases × 4 → ユーザーに通知、圧縮または終了オプションを提供。
禁忌
| 不要 | 理由 |
|---|---|
| 意図の明確化をスキップまたは不十分に実施 | 意図の不整合はディベートラウンドの無駄と PRD 方向の誤りにつながる |
| すべてのトピックに固定フェーズテンプレートを使用 | フレームワークはカスタマイズされなければならない |
| ディベートに技術実装や技術スケジュールを含める | 製品 PRD は「何をするのか」と「なぜやるのか」に焦点を当て、技術方案は独立した後続フェーズ |
| 完全なディベート履歴をサブエージェントに渡す | コンテキストオーバーフロー — 制限された要約を使用 |
| レビュアーに提案者のプロンプトを見せる | 追従傾向が生じる |
| レビュアーが同意してもも 1 ラウンド後に進行 | 堅牢性を確保するには最少 2 ラウンド |
| 遡及検証をスキップ | コアメカニズム — 決してスキップしない |
| 各ラウンド後にユーザーにサマリーを提供 | フェーズ転換のみ |
| ディベートに司会者自身の見方を注入 | 司会者は編成を担当、ディベートに参加しない |
コア原則
- 意図優先 — 十分な意図の明確化なしに、フレームワーク設計を開始しないでください。「なぜ」を理解してから「何をするのか」を議論してください
- 製品の視点 — ディベート全体の成果物は製品ドキュメントです。技術実装の詳細、技術スケジュール、アーキテクチャ設計は含めません。これらは独立した下流フェーズに属します
- ファイルが状態 — すべての状態はファイルにあり、対話メモリにはありません。すべての操作が
.debate-stateを更新します - エージェントコンテキスト有界 — 各エージェントが必要なコンテンツのみを見ます。
references/context-management.mdを参照してください - 自然な対抗 — レビュアーの責務は攻撃であり、検証ではありません
- 遡及は譲れない — フェーズ進行のたびに前のコミットメントを確認
- 誠実な収束 — ドキュメント化された分歧を伴う部分的な共識は合法です
- クロスモデルの優位性 — GPT-5.4 が提案、Claude がレビュー。異なる盲点
- ユーザーが最終権限 — ユーザーのあらゆる介入はディベート動態より優先
- コードベース植根 — トピックが既存プロジェクトに関連する場合、PRD は現実の製品機能と互換性がある必要があります(技術方案を規定するのではなく)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- betseyliu
- リポジトリ
- betseyliu/prd-debate
- ライセンス
- MIT
- 最終更新
- 2026/4/14
Source: https://github.com/betseyliu/prd-debate / ライセンス: MIT