mcpField
S
skill-debate

skill-debate

github.com/nyldnエージェントワークフロー4.3k57 回インストール今日更新
リポジトリ

skill-debate について

skill-debateは、Codex CLI向けの構造化された複数AIによるディベートスキルです。orchestrate.shで利用可能なアドバイザーを呼び出し、司会と意見の統合を進めます。

主な機能

  1. 01orchestrate.sh経由でアドバイザーを呼び出し
  2. 02ラウンド数とディベート形式を設定
  3. 03プロバイダーの利用可否を確認
  4. 04回答品質とディベート費用を追跡
  5. 05背景情報とラウンドファイルを管理

活用シーン

  1. 01複数のアドバイザーで技術案を比較
  2. 02複数ラウンドでコードベースや設計をレビュー
  3. 03意見を統合して実行可能な提案を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nyldn/claude-octopus --skill skill-debate

インストール後、Claude Code で/skill-debateを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

ホスト:Codex CLI — このスキルはClaude Code向けに設計され、Codex用に調整されています。 相互参照するコマンドでは、/octo:* スラッシュコマンドではなく、Codexにインストールされたスキル名を使用します。 アクティブなCodexシェルとサブエージェントツールを使用してください。現在のセッションで利用可能であることが確認できるまでは、プロバイダー、モデル、ホストのサブエージェントが利用可能だと主張しないでください。 ホストツールの同等機能については、skills/blocks/codex-host-adapter.md を参照してください。

AI Debate Hub Skill v4.8

必須の遵守事項 — 省略禁止

このスキルが呼び出されたら、必ず orchestrate.sh を通じてディベートアドバイザーを起動し、それぞれの立場を統合してください。次の行為は禁止されています。

  • orchestrate.sh を通じて実際のプロバイダーを起動せず、自分でアドバイザーの応答をシミュレートすること
  • 質問が「簡単すぎる」と判断し、複数プロバイダーによるディベートを行わずに単一モデルで回答すること
  • プロバイダーの利用可否確認や、構造化されたラウンドを省略すること
  • 利用可能なアドバイザー(agy を含む)を、ユーザーに伝えずに参加者リストから外すこと
  • 1つのモデルの見解で十分だと合理化すること — ユーザーは複数の視点を得るためにディベートを呼び出しています

⚠️ 必須:視覚的インジケータープロトコル

ディベートを始める前に、必ず次のバナーを出力してください。

🐙 **CLAUDE OCTOPUS ACTIVATED** - AI Debate Hub
🐙 Debate: [Topic/question being debated]

Participants:
🔴 Codex CLI - Technical implementation perspective
🟡 Antigravity CLI - Ecosystem and strategic perspective
🟠 Sonnet 5 - Pragmatic implementer perspective if host subagents are available
🐙 current host model - Moderator and synthesis
🟢 Copilot CLI - GitHub-native perspective (if available)
🟤 Qwen CLI - Alternative model perspective (if available)

コア参加者は、利用可能なプロバイダーから選ばれます。 ルーティングと利用可否に応じて、Codex(🔴)、Antigravity(🧭)、Sonnet(🟠)、現在のホストモデル(🐙)、および検出されたその他のプロバイダーが参加できます。

これは任意ではありません。 ユーザーは、どのAIプロバイダーが有効かを確認する必要があります。外部API呼び出し(🔴 🟡)には、プロバイダーのAPIキーが使用されます。Sonnet(🟠)、Copilot(🟢)、Qwen(🟤)は、既存のサブスクリプションに含まれています。

重要:外部CLIの構文(v0.101.0以降)

次のコマンドパターンを必ず使用してください。プロバイダーのフラグを独自に変更しないでください。

ディベートの各ラウンドでは、すべての外部アドバイザーをOctopusのルーティング経由で起動してください。

"${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh" spawn "$advisor" "$prompt"

ディベートのワークフローからプロバイダーのCLIを直接呼び出さないでください。ルーターがCodex、Antigravity、その他のアドバイザーに適したプロバイダー固有のフラグを適用します。

  • プロバイダー固有の構文は scripts/lib/dispatch.sh とヘルパースクリプトにあります。
  • ディベートの手順に、プロバイダーのCLIを直接呼び出す記述をコピーしないでください。
  • 選択したアドバイザー名を必ず orchestrate.sh spawn に渡してください。ルーターが適切なコマンドを選択します。

存在しないフラグ(エラーになります):

  • codex --approval-mode full-auto — Codex 0.130.0には --approval-mode フラグがありません
  • codex --full-auto — 現在の非対話型起動では非推奨、または削除されています
  • codex -q / codex --quiet — v0.101.0で削除されました
  • codex -y / codex --yes — これまで存在したことはありません
  • exec を付けずに codex "prompt" を実行する — 対話型TUIが起動し、停止します

あなたは現在のホストモデルであり、複数プロバイダーによるAIディベートシステムの参加者兼モデレーターです。CLIを通じて外部アドバイザー(Codex、Antigravity、その他の利用可能なプロバイダー)に相談し、自身の分析も加え、すべての視点を統合してユーザーに提示します。ホストでサブエージェントが利用できる場合は、独立した分析者としてSonnetを含めてください。

重要:あなたは単なるオーケストレーターではありません。自分の見解と意見を持つ、積極的な参加者です。

インターフェース設計に関するディベート

質問がインターフェース設計に関する場合は、 skills/blocks/architecture-simplification.md を読み込んでください。最初の各アドバイザーには、他のアドバイザーの草案を見せずに、同一の要件とソースのリビジョンを提示してください。ソースへのアクセス状況とモデルファミリーは、プロバイダーの通信手段とは別に記録してください。成果物にアクセスできないレビュアーからは、承認ではなく質問を提示してもらいます。票数が別の設計を支持する場合でも、根拠のある少数意見を残してください。

ユーザーによるこのスキルの呼び出し方法

ユーザーはスラッシュメニューから明示的にこのスキルを呼び出します。指定された意図を解析し、ディベートを実行してください。

基本的な呼び出し
/octo:debate <question or task>
フラグを指定した呼び出し
/octo:debate -r 3 -d thorough <question>
/octo:debate --rounds 2 --debate-style adversarial <question>
/octo:debate --path debates/009-new-topic <question>
ファイル参照を含む呼び出し

ユーザーが自然な形でファイルに言及した場合は、完全なパスに解決してください。

/octo:debate Is our CLAUDE.md accurate?
-> You resolve to full absolute path

/octo:debate Review the auth flow in src/auth.ts
-> You find src/auth.ts relative to cwd and pass full path to advisors
ユーザーが入力する例
  • /octo:debate Redis とインメモリキャッシュのどちらを使うべきでしょうか?
  • /octo:debate -r 3 whatsappbot のコードベースを確認し、問題点をレビューしてください
  • /octo:debate api.ts のエラーハンドリングは十分かどうか
  • データベーススキーマの設計についてディベートを実行してください
  • Antigravity と Codex にこの PR をレビューしてほしいです

フラグ

フラグ短縮形デフォルト説明
--rounds N-r N1ディベートのラウンド数(1~10)
--debate-style STYLE-d STYLEquickスタイル:quick、thorough、adversarial、collaborative
--moderator-style MODE-m MODEguidedモード:transparent、guided、authoritative
--advisors LIST-a LISTautoカンマ区切りのリスト
--out-dir PATH-o PATHdebates/出力ディレクトリ(cwd からの相対パス)
--path PATH-p PATHnoneディベートフォルダーのパス(cd の要件を省略)
--context-file FILE-c FILEnoneコンテキストとして含めるファイル
--max-words N-w N300各回答の単語数上限
--topic NAME-t NAMEautoフォルダー名に使用するトピックスラッグ
--synthesize-soff合意内容から成果物(Markdown ファイル、diff、または計画)を生成
フラグの優先順位ルール

--rounds と --debate-style の優先順位:

  • --rounds が明示的に設定されている場合:スタイルのデフォルトより常に優先されます
  • --debate-style quick は、--rounds も指定されている場合を除き、1 ラウンドを意味します
  • 値が競合する場合:--debate-style quick --rounds 5 -> ユーザーに警告し、--rounds の値を使用します

スタイルごとのラウンド数のデフォルト(--rounds が指定されていない場合):

スタイルデフォルトのラウンド数
quick1
thorough3
adversarial3
collaborative2

検証:

  • --rounds は 1~10 である必要があります
  • --rounds 0 または --rounds 11 以上の場合はエラーになります

あなたの役割:参加者 + モデレーター

マルチプロバイダー・ディベートの構成

これは、選択されたアドバイザーの視点とあなた自身がモデレーターとして参加するプロバイダー間のディベートです:

     User Question
           |
           v
+-------------------+
|     ROUND 1       |
+-------------------+
| Antigravity analyzes | 🧭 External CLI
| Codex analyzes    |  🔴 External CLI
| Sonnet analyzes   |  🟠 Agent(model: sonnet)
| YOU analyze       |  🐙 Your independent analysis (Opus)
+-------------------+
           |
           v
+-------------------+
|     ROUND 2+      |
+-------------------+
| Antigravity responds | 🧭 Sees prior round
| Codex responds    |  🔴 Sees prior round
| Sonnet responds   |  🟠 Sees prior round
| YOU respond       |  🐙 Your independent response
+-------------------+
           |
           v
+-------------------+
|  FINAL SYNTHESIS  |
+-------------------+
| YOU synthesize all four perspectives
| and recommend a path forward
+-------------------+

主な責務:

  1. ディベートを準備する:フォルダー構造を作成し、context.md を書き込みます
  2. 外部アドバイザーに相談する:各ラウンドで Octopus ルーティングを通じて Antigravity/Codex に依頼します
  3. 許可された Sonnet を起動する:プロバイダーの許可リストで認められている場合に限り、ホストのサブエージェントツールを介して Sonnet を起動します
  4. 自身の分析を加える:自分の見解を rounds/r00N_claude.md に書き込みます
  5. 進行を管理する:アドバイザーが議題に沿い、単語数の上限を守るようにします
  6. 統合する:4 つすべての視点を、実行可能な提言にまとめます

Claude-Octopus の拡張機能

claude-octopus でディベートを実行すると、次の拡張機能が自動的に適用されます:

1. セッション対応ストレージ

拡張された動作(CLAUDE_CODE_SESSION が設定されている場合):

~/.claude-octopus/debates/${SESSION_ID}/
└── NNN-topic-slug/
    ├── context.md
    ├── state.json
    ├── synthesis.md
    └── rounds/

利点:

  • ディベートが Claude Code のセッションごとに整理されます
  • 特定の会話から生じたディベートを簡単に見つけられます
  • セッションの期限切れ時に自動でクリーンアップされます
  • claude-octopus の分析機能と統合されます
2. ディベート回答の品質ゲート

拡張機能:次のラウンドに進む前に、各アドバイザーの回答の品質を評価します。

品質指標:

指標配点基準
長さ25 点50~1000 語(内容がありながら簡潔)
引用25 点参考文献、リンク、または情報源が含まれている
コード例25 点技術的な例またはコードスニペットが含まれている
議論への参加25 点他のアドバイザーの具体的な指摘に言及している

品質しきい値:

  • スコア >= 75:続行(高品質)
  • スコア 50-74:警告付きで続行(統合時に注意喚起)
  • スコア < 50:詳しい説明を求めてアドバイザーに再度プロンプトを送信
3. コスト追跡と分析

ディベートごとのトークン使用量とコストを追跡し、claude-octopus の分析機能と統合します。

4. ドキュメントのエクスポート

document-delivery スキルを通じて、ディベートをプロフェッショナルな形式でエクスポートします:

  • PPTX プレゼンテーション
  • DOCX レポート
  • PDF ドキュメント

実装手順

ユーザーが /octo:debate を実行した場合:

ステップ 1: プロバイダーの可用性を確認し、バナーを表示する

必須: バナーを表示する前に、ネイティブのシェルコマンドツールを使用してこのプロバイダーチェックを実行しなければなりません。これをスキップしないでください。可用性を仮定しないでください。 プロバイダーチェックでは、grep -P を決して使用しないでください。ポータブルな grep -E/case チェックを使用し、終了コードを取得して、存在しないオプションの CLI がフェイルオープンしたりコマンドを中止させたりしないようにしてください。

bash "${HOME}/.claude-octopus/plugin/scripts/helpers/check-providers.sh"

以下に示す実際の結果を使用してください。禁止: すべてのプロバイダーを列挙せずに「🔵 Claude: Available ✓」だけを表示すること。

次に、実際のプロバイダーステータスを含むバナーを表示します:

🐙 **CLAUDE OCTOPUS ACTIVATED** - AI Debate Hub
🐙 Debate: [Topic/question being debated]

Provider Availability:
🔴 Codex CLI: [Available ✓ / Not installed ✗]
🟡 Antigravity CLI: [Available ✓ / Not installed ✗]
🧭 Antigravity CLI: [Available ✓ / Not installed ✗]
🤖 Grok CLI (xAI): [Available ✓ / Not installed ✗]
🟠 Sonnet 5: available only when this Codex session exposes a compatible host subagent tool
🐙 current host model: Available ✓ (Moderator and participant)

🧭 Antigravity の可用性: Antigravity CLI = agy バイナリです。可用性は command -v agy のみで判断してください(check-providers.sh が行うように)。antigravity デスクトップショートカットから判断してはいけません。

プロバイダーが存在しない場合:

  • すべての外部プロバイダーが利用できない場合: ディベートには少なくとも 1 つの外部プロバイダーが必要であることをユーザーに伝え、それらを設定するために /octo:setup の実行を提案します
  • 1 つ以上のプロバイダーが利用できない場合: どのプロバイダーが存在しないかを示し、利用可能なプロバイダーと Claude で続行します
ステップ 2: 明確化のための質問をする

ディベートを開始する前に、AskUserQuestion ツールを使用してコンテキストを収集します:

高品質なディベートを確保するために、4 つの明確化のための質問をします:

AskUserQuestion({
  questions: [
    {
      question: "What's your primary goal for this debate?",
      header: "Goal",
      multiSelect: false,
      options: [
        {label: "Make a technical decision", description: "I need to choose between options"},
        {label: "Identify risks/concerns", description: "I want to surface potential issues"},
        {label: "Understand trade-offs", description: "I want to see pros/cons of approaches"},
        {label: "Get diverse perspectives", description: "I want multiple viewpoints"}
      ]
    },
    {
      question: "How should the AI models evaluate the topic?",
      header: "Evaluation",
      multiSelect: false,
      options: [
        {label: "Cross-critique (Recommended)", description: "Models challenge each other's proposals directly — deeper analysis but may anchor on first responses"},
        {label: "Independent evaluation", description: "Models evaluate independently without seeing others' work — prevents groupthink and anchoring bias"}
      ]
    },
    {
      question: "What's the most important factor in your decision?",
      header: "Priority",
      multiSelect: false,
      options: [
        {label: "Performance", description: "Speed and efficiency are critical"},
        {label: "Security", description: "Security and safety are paramount"},
        {label: "Maintainability", description: "Long-term maintenance and clarity"},
        {label: "Cost/Resources", description: "Budget and resource constraints"}
      ]
    },
    {
      question: "Do you have existing context or constraints the debate should consider?",
      header: "Context",
      multiSelect: true,
      options: [
        {label: "Existing codebase patterns", description: "Must align with current architecture"},
        {label: "Team expertise", description: "Team skill set is a constraint"},
        {label: "Deadline pressure", description: "Time-to-market is critical"},
        {label: "Compliance requirements", description: "Regulatory or policy constraints"}
      ]
    }
  ]
})

回答を受け取った後:

  • ユーザーが「Cross-critique」を選択した場合: --mode cross-critique を使用します(デフォルトは ACH 反証)
  • ユーザーが「Independent evaluation」を選択した場合: --mode blinded を使用します(相互汚染なし)
  • その他すべての回答をディベートのコンテキストに組み込みます。
ステップ 3: 引数を解析し、ディベートフリートを構築する
# Extract question and flags
QUESTION="Should we use Redis or in-memory cache?"
ROUNDS=3
STYLE="thorough"

# Dynamic advisor selection — the fleet builder remains the admission authority.
CONSULTATIVE_LIB="${HOME}/.claude-octopus/plugin/scripts/lib/consultative-advisors.sh"
ADVISOR_SELECTOR="${HOME}/.claude-octopus/plugin/scripts/helpers/select-fleet-advisors.sh"
source "$CONSULTATIVE_LIB" || exit 1
HOST_CLAUDE_ALLOWED=false
HOST_ADVISOR_SUCCESS=0
if octo_consultative_host_allowed; then
  HOST_CLAUDE_ALLOWED=true
fi
REQUIRED_EXTERNAL_ADVISORS=$(octo_consultative_required_external_count)
if ! ADVISORS=$("$ADVISOR_SELECTOR" debate standard "$QUESTION"); then
  echo "No eligible external debate advisors are available." >&2
  exit 1
fi

build-fleet.sh debate コマンドは、トレーニングバイアスの多様性を最大化するために、異なるモデルファミリー(たとえば、codex/OpenAI、agy/Google Antigravity、copilot/Microsoft)から最大 3 名のディベーターを選択します。プロバイダーのペアをハードコードしないでください。実行時の ADVISORS リストを使用してください。

ステップ 4: ディベートフォルダーをセットアップする
# Create debate directory structure
DEBATE_BASE_DIR="${HOME}/.claude-octopus/debates/${CLAUDE_CODE_SESSION:-./debates}"
DEBATE_ID="042-redis-vs-memcached"
DEBATE_DIR="${DEBATE_BASE_DIR}/${DEBATE_ID}"

mkdir -p "${DEBATE_DIR}/rounds"

# Write context.md
cat > "${DEBATE_DIR}/context.md" <<EOF
# Debate: ${QUESTION}

**Debate ID**: ${DEBATE_ID}
**Rounds**: ${ROUNDS}
**Style**: ${STYLE}
**Advisors**: ${ADVISORS}
**Started**: $(date -u +"%Y-%m-%dT%H:%M:%SZ")

## Question
${QUESTION}

## Clarifying Context

**Primary Goal**: ${USER_GOAL}
**Priority Factor**: ${USER_PRIORITY}
**Constraints**: ${USER_CONSTRAINTS}

## Additional Context
[Any relevant context from user's message or files]
[If claude-mem is installed, search for past debates or decisions on this topic using its MCP tools]
EOF

# Initialize state.json
cat > "${DEBATE_DIR}/state.json" <<EOF
{
  "debate_id": "${DEBATE_ID}",
  "question": "${QUESTION}",
  "rounds_total": ${ROUNDS},
  "rounds_completed": 0,
  "advisors": [$(echo "$ADVISORS" | sed 's/,/", "/g' | sed 's/^/"/' | sed 's/$/"/')],
  "user_context": {
    "goal": "${USER_GOAL}",
    "priority": "${USER_PRIORITY}",
    "constraints": "${USER_CONSTRAINTS}"
  },
  "status": "active",
  "created_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
}
EOF
ステップ 5: ラウンドを実施する

各ラウンドで、実行時のアドバイザーリストを反復処理し、Octopus を通じてディスパッチします。起動は すべてのアドバイザーが終了するまで待機し、しばしば数分かかるため、ブロックを background execution: true で実行してください。フォアグラウンドの 600000 ms タイムアウトでは 10 分後に停止しますが、 ランチャーは最大 OCTOPUS_ADVISOR_WAIT_SECONDS(デフォルト 3600 秒)待機します。各回答は ${DEBATE_DIR}/rounds/r001_<advisor>.md に格納され、アドバイザー名の英字、数字、 _、- 以外の文字は _ に置き換えられます(codex:model は r001_codex_model.md になります)。 失敗したアドバイザーはファイルを残しません:

ORCH="${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh"
DEBATE_PROMPT="You are {{advisor}} participating in debate round 1.

DEBATE QUESTION: ${QUESTION}

${CONTEXT}

Write a concise, independent analysis (${MAX_WORDS} words). Address implementation tradeoffs, risks, and where other likely perspectives may be wrong."
if ! SUCCESSFUL_EXTERNAL_ADVISORS=$(octo_launch_advisors "$ORCH" "$ADVISORS" \
    "${DEBATE_DIR}/rounds" r001_ "$DEBATE_PROMPT" "$REQUIRED_EXTERNAL_ADVISORS"); then
  echo "The required external debate advisors did not complete successfully." >&2
  exit 1
fi
5.2: オプションのホストサブエージェントを起動する(プラグマティック実装者)

HOST_CLAUDE_ALLOWED=true であり、かつホストがサブエージェントを公開している場合にのみ、 ホストサブエージェントツール経由で Sonnet をディスパッチします。Claude が許可されていない場合は、このステップをスキップします。 許可された Sonnet タスクが使用可能な出力で完了した後にのみ HOST_ADVISOR_SUCCESS=1 を設定し、それ以外の場合は 0 に設定します。Sonnet は外部 アドバイザー呼び出しと並行して実行できます。

Agent(
  model: "sonnet",
  background execution: true,
  description: "Sonnet: debate round 1",
  prompt: "You are a PRAGMATIC IMPLEMENTER participating in a structured AI debate.
YOUR ROLE: You are the person who would actually have to BUILD this. You care about what ships, what works, and what you'll be debugging at 2am. Ground your analysis in the actual code and real implementation constraints.

DEBATE QUESTION: ${QUESTION}

${CONTEXT}

Write your analysis (${MAX_WORDS} words) to: ${DEBATE_DIR}/rounds/r001_sonnet.md

Cover: implementation feasibility, hidden gotchas, concrete effort estimates, and what the other approaches miss from a builder's perspective."
)

許可されたすべてのアドバイザーが終了した後、2 プロバイダー最小要件を適用します:

if ! octo_consultative_provider_count_is_sufficient \
    "$SUCCESSFUL_EXTERNAL_ADVISORS" "$HOST_ADVISOR_SUCCESS"; then
  echo "A debate requires two successful, allowlisted providers." >&2
  exit 1
fi

なぜ Opus だけでなく Sonnet なのか? Sonnet は異なる強みを持つ別個のモデルです — より高速で、より簡潔で、Opus のより広範な推論が時に見落とす実装の詳細を捉えます。異なるモデルを使用することで、Claude モデルファミリー内でのグループシンクを防ぎます。

タイミング: オプションのホストサブエージェントを外部アドバイザー呼び出しの前に、または並行して起動します。CLI 呼び出しが戻る頃には、Sonnet も通常完了しています。5.3 に進む前に完了を確認してください。

5.3: 分析を書く(Opus)

Read ツールを使用してすべてのアドバイザーの回答を読み、その後、独自の分析を書きます:

# Read what all advisors said
for response_file in "${DEBATE_DIR}"/rounds/r001_*.md; do
  printf '\n## %s\n' "$(basename "$response_file" .md)"
  cat "$response_file"
done

# Write your analysis as moderator
cat > "${DEBATE_DIR}/rounds/r001_claude.md" <<EOF
# current host model Analysis - Round 1

[Your independent analysis here, considering but not just summarizing the three advisor perspectives. Note where Sonnet's implementation perspective reveals things the external advisors missed.]
EOF
5.4: 品質ゲート(Claude-Octopus 拡張)

各アドバイザーが応答した後、応答品質を評価します:

evaluate_response_quality() {
    local response_file="${1}"
    local advisor="${2}"

    word_count=$(wc -w < "$response_file")
    has_citations=$(grep -c '\[' "$response_file" || echo 0)
    has_code=$(grep -c '```' "$response_file" || echo 0)
    addresses_others=$(grep -ciE '(gemini|codex|agy|antigravity|claude|sonnet)' "$response_file" || echo 0)

    score=0
    (( word_count >= 50 && word_count <= 1000 )) && (( score += 25 ))
    (( has_citations > 0 )) && (( score += 25 ))
    (( has_code > 0 )) && (( score += 25 ))
    (( addresses_others > 0 )) && (( score += 25 ))

    echo "$score"
}

for response_file in "${DEBATE_DIR}"/rounds/r001_*.md; do
    advisor=$(basename "$response_file" .md | sed 's/^r001_//')
    quality_score=$(evaluate_response_quality "$response_file" "$advisor")
    if (( quality_score < 50 )); then
        echo "Low quality response from ${advisor} (score: $quality_score). Re-prompting..."
        # Re-prompt for more detail
    fi
done
ステップ 6: 最終統合

すべてのラウンドが完了した後、包括的な統合を書きます:

cat > "${DEBATE_DIR}/synthesis.md" <<EOF
# Final Synthesis: ${QUESTION}

## Summary of Perspectives

### External Advisor Perspectives
[Key points from each advisor selected in ADVISORS: Codex, Antigravity, or other available providers]

### 🟠 Sonnet's Perspective
[Key points from Sonnet across all rounds — especially implementation feasibility and gotchas]

### 🐙 current host model Perspective
[Your key points across all rounds]

## Areas of Agreement
[Where all advisors converged]

## Areas of Disagreement
[Key points of contention]

## Recommended Path Forward
[Your final recommendation based on all perspectives]

## Next Steps
[Concrete action items for the user]
EOF
ステップ 7: 結果をユーザーに提示する

統合を読み、チャットで提示します:

I've completed a ${ROUNDS}-round debate on "${QUESTION}".

[Include key findings from synthesis.md]

Full debate saved to: ${DEBATE_DIR}

You can export this debate to PPTX/DOCX/PDF using the document-delivery skill.
ステップ 7.5: 成果物の生成(--synthesize が設定されている場合)

ユーザーが --synthesize(または -s)を渡した場合、統合後に具体的な成果物を生成します。

  1. synthesis.md ファイルを読み取る
  2. コンセンサスの推奨事項とアクションアイテムを特定する
  3. コンテキストに基づいて、次のいずれかを生成します。
    • コードに関するトピックの場合: ファイルパスと提案された変更を含む計画
    • コンテンツに関するトピックの場合: ドラフト文書(例: 書き直された README、PRD の概要)
    • アーキテクチャに関するトピックの場合: 根拠を含む意思決定記録
  4. ${DEBATE_DIR}/deliverable.md に保存する
  5. AskUserQuestion を使用して成果物をユーザーに提示します。
    • 「これを適用する」 — 実装を進める
    • 「改良する」 — 成果物を調整する
    • 「保存のみ」 — 参考として保持し、実行しない

重要: 成果物は提案です。ユーザーの承認なしに変更を自動適用しないでください。

使用例

例 1: クイックディベート
User: /octo:debate Should we use Redis or in-memory cache?

Claude:
1. Creates debate folder at ~/.claude-octopus/debates/${SESSION_ID}/042-redis-vs-memcached/
2. Writes context.md with question
3. Round 1:
   - Launches Sonnet via Agent(model: sonnet, background execution: true) when the provider allowlist permits it
   - Calls orchestrate.sh spawn for each runtime advisor selected by build-fleet.sh, such as codex and agy
   - Waits for Sonnet completion
   - Writes own analysis (Opus) considering all advisor perspectives
4. Writes synthesis.md with final recommendation from all participants
5. Presents results in chat
例 2: 徹底的な敵対的ディベート
User: /octo:debate -r 3 -d adversarial Review our authentication implementation in src/auth.ts

Claude:
1. Reads src/auth.ts to understand context
2. Creates debate folder
3. Round 1 (Sonnet launched in background first, then selected external advisors in parallel):
   - 🟠 Sonnet: Implementation feasibility analysis of auth.ts
   - External advisors selected by build-fleet.sh, such as 🔴 Codex or 🧭 Antigravity depending on availability
   - 🐙 current host model: Your independent analysis considering all advisors
4. Round 2:
   - 🟠 Sonnet: Responds to other participants' points
   - External advisors challenge each other's points
   - 🐙 Claude: You challenge advisor points
5. Round 3:
   - All participants: Final positions
6. Synthesis with quality scores for each advisor
7. Present results with cost tracking

品質チェックリスト

ディベートを完了する前に、次を確認してください。

  • 選択した参加者についてすべてのラウンドが完了している
  • 各ラウンドについて独立した分析(Opus)が作成されている(単なる要約ではない)
  • Synthesis.md に参加したすべての視点が含まれている
  • アドバイザーの回答に対して品質スコアが記録されている
  • コスト追跡が更新されている(claude-octopus コンテキストの場合)
  • 結果がチャットでユーザーに提示されている
  • ディベートフォルダのパスがユーザーに提供されている

他のスキルとの統合

ドキュメント配信

ディベートをプロフェッショナルな形式にエクスポートします。

After debate completes:
"Would you like to export this debate to PPTX/DOCX/PDF? I can use the document-delivery skill to create a professional presentation."
ナレッジモード

ディベートはナレッジモードのワークフローで使用できます。

Knowledge mode "deliberate" phase → Run /octo:debate to get multiple perspectives
→ Use synthesis for final decision

回答の品質ゲート

各アドバイザーの回答は、続行する前に採点されます。

指標配点基準
分量25 点50~1000 語(実質的かつ簡潔)
引用25 点参考文献、リンク、または情報源が含まれている
コード例25 点技術的な例またはコードスニペット
関与25 点他のアドバイザーの具体的な論点に言及している

スコア 75 以上: 続行します。スコア 50~74: 警告付きで続行します。スコア 50 未満: 詳細化のために再プロンプトします。

コスト追跡

一般的なコスト(デフォルトの語数制限):

  • クイック(1 ラウンド): 0.02 USD~0.05 USD
  • 徹底的(3 ラウンド): 0.10 USD~0.20 USD
  • 敵対的(5 ラウンド): 0.25 USD~0.50 USD

コスト追跡は ~/.claude-octopus/analytics/ のログと統合されます。

エクスポート

ディベート完了後、document-delivery スキルを介して結果をエクスポートします。

  • PPTX: 統合結果からのステークホルダー向けプレゼンテーション
  • DOCX: 完全なトランスクリプトからの詳細なドキュメント
  • PDF: メタデータ(トピック、参加者、コスト)付きのアーカイブ

帰属

  • オリジナルスキル: AI Debate Hub by wolverin0
  • バージョン: v4.8
  • リポジトリ: https://github.com/wolverin0/claude-skills
  • ライセンス: MIT
  • 拡張機能: Claude-Octopus 統合(セッション対応ストレージ、品質ゲート、コスト追跡、ドキュメントエクスポート、Sonnet によるプロバイダーディベート)

ディベートの準備ができました! ユーザーは /octo:debate <question> または自然言語で呼び出せます。

コメント