mcpField
W
wargame

wargame

github.com/wyattowalsh生産性581 回インストール9 週間前に更新
リポジトリ

wargame について

wargameは、分野を問わず戦略的な意思決定を探索的に分析するスキルです。簡易評価から対話型シナリオまで扱い、状況の分類や判断基準の比較、ターン制の検討を支援します。結果は予測ではありません。

主な機能

  1. 01複雑さに応じたシナリオ分類
  2. 02順位付けした基準による選択肢評価
  3. 03対話型のターン制シナリオ
  4. 04Monte Carloによる結果の探索
  5. 05記録の保存、再開、比較、アーカイブ
  6. 06AARによる意思決定の振り返り

活用シーン

  1. 01条件の異なる求人の評価
  2. 02事業危機への対応策の検討
  3. 03不確実な状況での戦略比較
  4. 04過去のシナリオ分析の再開や比較

インストール

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

$npx skills add https://github.com/wyattowalsh/agents --skill wargame

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
complexity-classification.json
evals.json
scenario-setup.json
references/
cognitive-biases.md
dashboard-schema.md
frameworks-procedures.md
frameworks.md
output-formats-commands.md
output-formats-core.md
session-commands.md
visualizations.md
wargame-engine.md
scripts/
check.py
scripts/asset_toolkit/
__init__.py
_shared.py
common.py
package.py
validate_evals.py
validate_hooks.py
validate_skill.py
templates/
dashboard.html

詳細

ウォーゲーム

特定のドメインに依存しない戦略的意思決定分析です。すべての出力に「探索的」と明記します。

標準用語

すべてのモードで、以下の用語をそのまま使用してください。

用語定義
scenario分析対象の状況です。発生のきっかけとなる出来事、ステークホルダー、制約、意思決定の範囲が含まれます
actorウォーゲームに登場する、目標、リソース、制約を持つ存在です。ユーザーまたは AI が操作します
turn対話型ウォーゲームのループを1回実行することです。状況の説明、意思決定、裁定、結果で構成されます
adjudication確率とゲームの状態を用いて、ターンの意思決定から結果を導き出すプロセスです
monte carlo1つの意思決定ポイントから、結果のバリエーションを N 個ランダムに探索することです(N <= 25)
inject競合する目標間でトレードオフを迫るため、ゲームの途中に投入する、事前に設定された予期せぬ出来事です
tier複雑さの分類です。明確(0-3)、複雑(4-6)、高度に複雑(7-10)、混沌(9-10)
AARAfter Action Review(事後分析)です。バイアス、洞察、応用可能な原則を抽出する、ゲーム終了時に必須の分析です
journal分析またはウォーゲームのセッションを記録した Markdown ファイルです。`~/.{gemini
action bridge3段階のコミットメントフレームワークです。Probe(低コストのテスト)、Position(元に戻せる行動)、Commit(取り消せない行動)で構成されます
criteriaユーザーが順位付けする意思決定の評価軸(例:速度、コスト、リスク)で、選択肢の評価に重み付けします
bias sweepreferences/cognitive-biases.md の手順に従い、人間と LLM のバイアスを体系的に確認します
rewind以前のターンの状態スナップショットを読み込み、別の経路を探索するためにジャーナルを分岐します
difficulty裁定の厳しさです。楽観的、現実的、敵対的、最悪のケースがあります

ディスパッチ

$ARGUMENTSアクション
具体的なシナリオのテキスト→ 分類 → 評価軸 → 分析
曖昧または一般的な入力→ 調査 → ヒアリング → 確認 → 分類
`resume [#keyword]`
list [filter]ジャーナルのメタデータテーブルを表示します(任意のフィルター:active、ドメイン、tier)
archive90日以上経過したジャーナルをアーカイブします(件数が20件を超える場合)
delete N確認後、ジャーナル N を削除します
meta複数のジャーナルにまたがる意思決定能力の分析
compare [j1] [j2]2つのジャーナル実行結果を並べて比較します
summary [N]完了したジャーナル N の要約(10~20行)
tutorial2ターンのガイド付き学習シナリオを実行します
facilitatedファシリテーター付きのマルチプレイヤーモードを開始します(LLM はゲームマスターのみ)
空シナリオギャラリーと「ガイドして」を表示します

ディスパッチガード: 引数がセッション中のコマンド名(例:red team、sensitivity)に一致しても、セッションがアクティブでない場合は、シナリオのテキストとして扱うか、確認を求めてください:「'{input}' について新しいシナリオを開始しますか、それとも既存のセッションを再開しますか?」

シナリオギャラリー(引数が空の場合)

$ARGUMENTS が空の場合は、references/output-formats-core.md のギャラリー表示を使用して提示します。

#ドメインシナリオ想定ティア
1ビジネス「主要な競合他社が、当社の重要なサプライヤーを買収した」複雑
2キャリア「トレードオフが大きく異なる2つの仕事のオファー」やや複雑
3危機「規制当局の調査とメディアの注目を受ける製品リコール」混沌
4地政学「同盟国が競合陣営へと立場を移しつつある」複雑
5個人「夢の仕事のために転居するか、高齢の両親の近くにとどまるか」やや複雑
6スタートアップ「筆頭投資家が方向転換を求めているが、共同創業者は反対している」複雑
7交渉「労働組合との契約が30日後に期限を迎えるが、合意の見通しが立たない」やや複雑
8テクノロジー「オープンソースの代替製品が、当社の中核製品を脅かしている」複雑

ドメインタグは拡張可能です。事前定義されたセットは一般的なシナリオをカバーしていますが、LLM はユーザーの入力からより具体的なドメインを自動検出し、カスタムタグ(例:healthcare、education、supply-chain)を割り当てることがあります。カスタムタグはファイル名では custom スラッグを使い、ジャーナルのフロントマターでは具体的なタグを使います。

番号を選ぶか、独自のシナリオを貼り付けるか、「guide me」と入力してください。

ガイド付きヒアリング

ユーザーが「guide me」と入力した場合は、次の3つの質問を順番に尋ねます。

  1. 状況ときっかけ:「何が起きていて、なぜ今それに対処することになったのですか?」
  2. 利害と関係者:「誰が関わっていて、彼らは何を望み、何が懸かっていますか?」
  3. 制約と不明点:「選択肢を制限するものは何ですか? 何を知っていたらよいと思いますか?」

3つすべてに回答した後、シナリオの説明をまとめ、シナリオ分類に進みます。

インテリジェントな入力受付(曖昧な入力)

トリガー:10語未満で、具体的な出来事や行動を示す動詞がない場合、または判断を含まない一般的な話題の場合。

フェーズ1:コンテキスト調査 — WebSearch/WebFetch(検索は最大2~3回)。コンテキスト調査表示を使って提示します。ウェブ検索が利用できない場合はスキップします。

フェーズ2:絞り込みインタビュー — 3~5個の的を絞った質問:(1)きっかけ:なぜ今このことが起きたのですか?(2)判断:どのような選択が必要ですか?(3)利害:判断を誤った場合、何が起こりますか?(4)制約(必要な場合)。(5)期限(必要な場合)。すでに回答済みの質問はスキップします。

フェーズ3:認識の確認 — シナリオ理解表示を使って、具体的なシナリオにまとめます。ユーザーは確認、修正、または最初からやり直すことができます。

入力が曖昧かどうか判断に迷う場合は、性急に分類せず、まず確認の質問を1つ行います。

ジャーナルの再開

resume(引数なし): ~/.{gemini|copilot|codex|claude}/wargames/ を読み込み、YAML フロントマターの status: In Progress(v1 ジャーナルの場合は **Status:** In Progress)を含むジャーナルを探します。該当するジャーナルが1つだけの場合は、自動的に再開します。複数ある場合は、番号付きリストを表示します。

resume N(数値): list の出力で N 番目にあるジャーナルを再開します。並び順は新しい順(降順)です。この順序は list と resume N の両方で共通です。

resume keyword(テキスト): ジャーナルの YAML フロントマター(scenario、tags フィールド)を検索し、大文字と小文字を区別せず部分一致で探します。一致するジャーナルが1つだけの場合は、自動的に再開します。複数ある場合は、絞り込んだリストを表示します。

再開の流れ: YAML フロントマター(メタデータ)と最後の `` ブロック(ゲームの状態)を読み込み、すばやく再開します。状態スナップショットが見つからない場合は、ジャーナル全体から状態を再構成します。

ジャーナル一覧

$ARGUMENTS が list で始まる場合は、~/.{gemini|copilot|codex|claude}/wargames/ を読み込み、YAML フロントマターからメタデータを抽出します。フロントマターのない v1 ジャーナルの場合は、**Scenario:**、**Tier:**、**Status:**、**Turns:** の各行を解析します。

フィルター(任意、AND 条件で適用):

  • list active — status: In Progress のみを対象に絞り込みます
  • list biz — ドメインタグで絞り込みます
  • list complex — ティアで絞り込みます

references/output-formats-core.md のリスト表示を使って提示します。新しい順(降順)に並べます。

resume [# | keyword], list [active | domain | tier]

ジャーナルのライフサイクル

archive: 90 日を超えたジャーナルを ~/.{gemini|copilot|codex|claude}/wargames/ から ~/.{gemini|copilot|codex|claude}/wargames/archive/ に移動します。ジャーナルの件数が 20 件を超える場合にのみ実行されます。

delete N: list の N 番目のジャーナルを削除します。削除前に確認します:「'{scenario}' を削除しますか? [yes/no]」

中断プロトコル: AAR の前に、進行中のウォーゲームでユーザーが end または abandon と入力した場合、ジャーナルのステータスを Abandoned に更新して保存します。中断されたジャーナルは list には表示されますが、引数なしの resume による自動検出の対象からは除外されます。

それ以外の場合は、指定されたテキストを使ってシナリオ分類に進みます。

ウォーゲームの原則

すべてのモードを規定する基本原則です。違反はバグです。

  • 予測ではなく探索 — RAND のガードレール:すべての出力は思考実験であり、予測ではありません。その旨を明記します。
  • センシティブなシナリオの扱い — すべてのシナリオを戦略的問題として冷静に分析します。分析上の距離を保つことは重要です。
  • 深度の調整 — 分析の深度を複雑さのレベルに合わせます。些細な判断を過剰に分析したり、重大な判断を十分に分析しなかったりしないでください。
  • ユーザーによる上書き権限 — ユーザーはいつでもレベルを上書きし、早期に終了し、セクションをスキップし、または方向を変更できます。抵抗せずに従ってください。
  • 敵対者シミュレーションはベストエフォート — LLM は敵対者の認知を真にモデル化することはできません。すべてのインタラクティブウォーゲームの開始時に、この点を明示してください。
  • トレードオフを必ず提示する — コストのかからない選択肢は提示しないでください。ある選択肢が優位な場合は、その弱点をさらに探してください。
  • LLM のバイアスへの認識 — references/cognitive-biases.md に従い、バイアスを積極的に軽減してください。

コンテキスト管理

複数ターンにわたるウォーゲームは、大量のコンテキストを消費します。次のルールに従って、コンテキストの超過を防いでください。

遅延読み込み: 参照ファイルは「読み込みタイミング」列に従って必要に応じて読み込みます。セッション開始時には読み込みません。関連するセクションのみを読み込んでください。

状態の圧縮: ターン 3 の後、それ以前のターンを 2~3 行の要約に圧縮します:Turn N: [Decision] → [Outcome]. Key state change: [what shifted]. 詳細は保存されたジャーナルに残ります。

コンテキスト予算: 50%超:すべてを実行。30~50%:Tier 3 を除外し、2 ターンより前のターンを圧縮。30%未満:Tier 2~3 を除外し、出力を最小限にして、ユーザーに export と resume を行うよう警告します。

モンテカルロ予算: N <= 25 回の反復。references/wargame-engine.md のモンテカルロ反復プロトコルを参照してください。

出力の詳細度

各ターンの出力密度を制御します。セットアップ時に設定するか、ゲーム中に verbose [level] で変更します。

レベル制約ティア1 ターンあたりの目標行数用途
briefTier 1 のみ約 40 行テンポの速いプレイ、経験豊富なユーザー
standardTier 1 + Tier 2約 60 行すべてのティアのデフォルト
detailedすべてのティア約 80 行詳細な分析、学習モード

デフォルト:standard。references/wargame-engine.md の既存の制約優先度ティアに対応します。

セットアップ時に「出力の詳細度は? [brief / standard / detailed]」と提示します。ユーザーはスキップできます(デフォルトは standard)。

シナリオ分類

シナリオを 5 つの観点で採点します。すべてのスコアをユーザーに表示してください。

採点基準
観点012
敵対者/競合する利害なし受動的/間接的あなたに対抗して最適化する能動的な敵対者
可逆性簡単に取り消せる部分的に取り消せる/取り消しにコストがかかる取り消せない、または取り消しに非常に大きなコストがかかる
時間的制約決定まで数か月以上数週間数日または数時間
ステークホルダーの数1~23~5利害が対立する 6 以上
情報の完全性すべての情報を入手可能部分的/不確実非対称、または意図的に隠されている
ティアの割り当て
合計スコアティアモード深度
0-3明確クイック分析単一の出力
4-6複雑構造化分析単一の出力
7-8高度に複雑対話型ウォーゲーム3-5 ターン
9-10混沌対話型ウォーゲーム(TTX)3-8 ターン

各次元を個別に採点します。ユーザーのシナリオを各行に当てはめた、記入済みの評価基準表を提示します。各スコアの理由を1行で説明する「Reasoning」列を含めます(references/output-formats-core.md の Classification Display を参照)。

採点後、次を提示します。

  • このティアである理由: どの次元がスコアに影響したかを説明する2-3文
  • 何が変わればよいか: 何が変化すればティアが変わるかを説明する1-2文

ティアに自動対応する難易度レベルを提示します。

ティアデフォルトの難易度
明確optimistic
複雑realistic
高度に複雑adversarial
混沌worst-case

あなたのシナリオは N/10 点で、ティアは X、モードは Y、難易度は Z です。 ティアまたは難易度を変更しますか? [yes/no]

ユーザーが変更を希望した場合は、異議を唱えずに了承して切り替えます。ユーザーからスコアを変える追加情報が提供された場合は、採点し直し、続行前に改めて結果を提示します。その後、意思決定基準の聞き取りに進みます。

意思決定基準の聞き取り

分類後、分析モードに入る前に実施します。すべてのモードが対象です。

このシナリオの分野に適した基準を4-8個提示し、複雑さに応じて調整します。明確/複雑の場合は4-5個、高度に複雑/混沌の場合は6-8個です。標準的な基準(速度、コスト、リスク、人間関係、可逆性、学習など)を含めるか、シナリオの文脈に基づいてLLMが提案する分野固有の基準を含めることができます。

Quick-rank for THIS decision (e.g., "3 1 5 2 4 6") or "skip":
  1. {criterion_1}  2. {criterion_2}  3. {criterion_3}  4. {criterion_4}  5. {criterion_5}  6. {criterion_6}

ユーザーが順位付けを提示した場合は、順位付けされた基準として記録します。ユーザーがスキップした場合は、基準に重み付けせずに進みます。ユーザーはいつでも criteria コマンドで順位を付け直せます。

スイング・ウェイティング(高度に複雑/混沌のみ): 高度に複雑または混沌のティアの場合は、クイック順位付けの後にスイング・ウェイティングを提案します。「シナリオは複雑性が高いため、基準の重みをより正確に設定する詳細なスイング・ウェイティングを行いますか? [quick-rank / swing]」。スイング・ウェイティングの手順:(1)すべての基準を、起こりうる最悪の水準に設定します。(2)「最悪から最良に改善した場合、最も大きな違いを生む基準はどれですか?」と尋ねます。その基準に最も高い重みを割り当てます。(3)残りの基準について繰り返します。(4)重みの合計が1.0になるように正規化します。明確/複雑のティアでは、引き続きクイック順位付けをデフォルトとします。

モードごとの基準の反映:

  • クイック分析: 意思決定ツリーの各分岐に、上位2つの基準との適合度を注記します
  • 構造化分析: 選択肢の分析で基準を順位付けの軸として使用します。基準は四象限チャートの軸にもなります
  • 対話型ウォーゲーム: 意思決定メニューの選択肢に、上位基準との適合度(高/中/低)を注記します

基準は「意思決定基準レンズ」の表示に反映されます(references/output-formats-core.md を参照)。

モード A:クイック分析

明確のティア(スコア0-3)。単一の出力で、手続きは最小限です。

手順
  1. 意思決定を言い換える — ユーザー自身の言葉で意思決定を言い換えます。問題の捉え方を確認します。
  2. 主要な前提の確認 — シナリオの捉え方に含まれている、明示されていない前提を2~3個挙げます。それぞれについて、簡潔に検討します。
  3. フレームワークの適用 — ヒューリスティック表を使って、references/frameworks.md から2~3個のフレームワークを選びます。それぞれをシナリオに適用します。ラベルを示すだけでなく、推論も示します。
  4. 分析 — Unicode の意思決定ツリーを使って、調査結果を提示します(references/output-formats-core.md を参照)。推定可能な場合は、選択肢と結果を確率とともに示します。
  5. 推奨 — 以下を明確に示します。
    • 確信度:高、中、低
    • 推奨を変えうる主要な前提
    • 注視するシグナル:再検討のきっかけとなる、監視すべき兆候
  6. バイアスの確認 — references/cognitive-biases.md の Bias Sweep Protocol に従い、Single-Output Mode Sweep を実施します。 6b. 積極的なバイアス検出 — 過信の兆候を確認するために適切なコマンドを提案します(1ターンにつき最大1つ)。references/cognitive-biases.md の Enhanced Debiasing を参照してください。
  7. アクションへの橋渡し — references/output-formats-core.md の Action Bridge テンプレートを参照してください。各アクションは、分析で得られた具体的な出力を参照する必要があります。
  8. モンテカルロの選択肢 — 不確実性が十分に大きい場合は、次のように提案します:"Want to explore N variations? Type explore [N]." references/wargame-engine.md の Monte Carlo Iteration Protocol を参照してください。
  9. ジャーナルを保存 — ~/.{gemini|copilot|codex|claude}/wargames/{date}-{slug}.md に保存します。

出力全体は簡潔にしてください。このモードは、詳細な分析を必要としない意思決定のためのものです。分析範囲を広げすぎないようにしてください。分析の結果、シナリオが当初の評価より複雑だと分かった場合は、その旨を記し、より上位の分類への変更を提案します。

モード B:構造化分析

複雑な階層(スコア4~6)。単一の出力で徹底的に検討します。

手順
  1. 主要な前提の確認 — 主要な前提をすべて挙げ、検証します。それぞれの前提が誤っていた場合に何が変わるかを示します。

  2. ステークホルダーのマッピング — 表形式で示します。

    ステークホルダー関心事項影響力立場

    影響力:高、中、低。立場:支持、中立、反対。

  3. フレームワークの適用 — references/frameworks.md から3~5個のフレームワークを選びます。シナリオに競合する説明や理論が含まれる場合は、ACH(競合仮説分析)を含めます。

  4. 選択肢の分析 — 実行可能な選択肢ごとに、トレードオフを明示します。すべての選択肢に、少なくとも1つの重大な欠点を挙げます。何の犠牲もない選択肢はありません。

  5. 根拠を伴う順位付け — 選択肢を順位付けします。評価基準が設定されている場合は、それを主な順位付けの軸として使います。各選択肢を各基準に照らしてどのように評価したかを示します。スーパーフォーキャスティングの方法論に従い、「低・中・高」ではなく、細かな確率の推定値(パーセンテージ)を使います(references/frameworks.md を参照)。

  6. 意思決定のトリガー — 推奨を変える条件を定義します。閾値、出来事、新たな情報など、具体的に示してください。

  7. プレモーテム — 最上位の選択肢ごとに、壊滅的な失敗に終わったと仮定します。最も可能性の高い失敗原因と、その前兆となる早期警告サインを示します。

  8. 象限チャート — リスク(x軸)とリターン(y軸)に選択肢を配置した Mermaid の象限チャートを生成します。各象限にラベルを付け、選択肢には簡潔な注釈を添えます。 8b. 積極的なバイアス検出 — 過信の兆候を確認するために適切なコマンドを提案します(1ターンにつき最大1つ)。references/cognitive-biases.md の Enhanced Debiasing を参照してください。

  9. アクションへの橋渡し — references/output-formats-core.md の Action Bridge テンプレートを参照してください。

  10. モンテカルロの選択肢 — 次のように提案します:"Want to explore N variations? Type explore [N]." references/wargame-engine.md の Monte Carlo Iteration Protocol を参照してください。

  11. ジャーナルを保存 — ~/.{gemini|copilot|codex|claude}/wargames/{date}-{slug}.md に保存します。

モード C:対話型ウォーゲーム

複雑/混沌階層(スコア7~10)。複数ターンにわたる対話型プロトコル。

セットアップフェーズ
  1. アクターを定義する — references/wargame-engine.md の構造化されたペルソナテンプレートを使用して、2〜8人のアクターを作成します。各アクターには、名前、役割、目標、リソース、制約、性格のアーキタイプ(強硬派、融和派、現実主義者、イデオローグ、官僚、日和見主義者、破壊者、またはカスタム)が必要です。
  2. ユーザーの役割を選択する — ユーザーが操作するアクターを選択します。該当するアクターがいない場合は、ユーザー用のカスタムアクターを作成します。
  3. 初期条件 — 開始時の状態を定義します。リソース、立場、同盟、制約、各アクターがアクセスできる情報を含めます。
  4. インジェクトを事前に準備する — 3〜5件のインジェクト(予期しない出来事)を作成します。少なくとも1件は、危機ではなく前向きな好機にしてください。インジェクトは実行されるまでユーザーには伏せておきます。
  5. ターン数を設定する — デフォルト:複雑なシナリオは3〜5ターン、混沌としたシナリオは3〜8ターンです。ユーザーは2〜12ターンを指定できます。8ターンを超える場合は、「長時間のゲームではコンテキスト制限に達する可能性があります。8ターン目に export + resume を検討してください。」と警告します。続行する前に、アクターの一覧とターン数をユーザーに確認します。
  6. セットアップの概要を提示する — すべてのアクター、初期条件、ターン数を表示します。続行する前に、ユーザーに確認します。

セットアップ中に、敵対者シミュレーションの制限を明示します。「AIが制御するアクターは、明示された目標に向けて最適化しますが、これは最善を尽くしたシミュレーションであり、真の敵対的認知ではありません。」

アクターの目標が実際に対立するようにしてください。すべてのアクターが同じことを望んでいると、ウォーゲームは単なる協調演習に成り下がります。アクターの目標間に、少なくとも1つの構造的な緊張関係を設けます。

ターンループ

references/wargame-engine.md のターン構造(13ステップ)に従ってターンを実行します。エンジンは、選択肢の設計、信念の更新、シグナルの分類、「逆の立場を考える」手法、セッション内のコマンド実行を処理します。

references/output-formats-core.md の表示テンプレートを使用します。ステータスバーにはターンヘッダー表示、状況にはインテリジェンスブリーフ表示、各アクターにはアクターカード表示、選択肢には決定カード表示、インジェクトにはインジェクトアラート表示を使用します。1ターンあたり40〜80行を目標にします。

認知バイアスの積極的な検出: 過信の兆候が見られた場合は、関連するコマンドを提案します(1ターンにつき最大1つ)。references/cognitive-biases.md の強化された脱バイアス手法を参照してください。

インジェクトの実行

references/wargame-engine.md のインジェクト設計に従って、事前に準備したインジェクトを発動します。インジェクトは、相反する目標間のトレードオフを迫るジレンマを生み出す必要があります。

終了条件

ウォーゲームは、最大ターン数に達した場合、ユーザーが明示的に早期終了した場合、または決定的な結果によって続行する意味がなくなった場合に終了します。ユーザーが「end」、「stop」、「done」、または「AAR」と言った場合は、直ちにAARに進みます。終了条件にかかわらずAARに進みます。AARなしで終了してはいけません。

必須AAR(事後レビュー)

AARを省略してはいけません。ここで学びが得られます。

  1. タイムライン — 主要な意思決定とその結果を時系列順に記録します。
  2. うまくいったこと、失敗したこと — ターン記録を根拠に示します。
  3. 検出されたバイアス — プレイ中に観察された、人間の意思決定バイアスとLLMシミュレーションのバイアスの両方を記録します。各バイアスを明確に名指しします。
  4. 応用可能な知見 — このシナリオから抽出した、ユーザーの実際の状況に応用できる意思決定の原則を示します。
  5. 選ばれなかった道筋 — 2〜3通りの代替的な意思決定経路と、その起こりそうな結果を簡潔に検討します。それぞれについて、分岐が生じたターンと、そこから連鎖して起こりそうな展開を示します。
  6. アクターのパフォーマンス — AIが制御する各アクターを評価します。アーキタイプや目標に沿って行動したかを確認し、ペルソナから逸脱したアクターがいれば指摘します(LLMの一貫性チェック)。
  7. 可視化 — ウォーゲーム全体の展開を示すMermaidタイムライン(キャンペーンの各フェーズ)と意思決定ツリー(主要な分岐点)を生成し、ジャーナルに記録します。
  8. 最終ジャーナルの保存 — 完全なAARをジャーナルファイルに書き込みます。
  9. アクションブリッジ — references/output-formats-core.md のアクションブリッジテンプレートを参照してください。プローブでは、AARの中で最も不確実な知見を対象にします。

状態管理

ジャーナルディレクトリ
  • パス:~/.{gemini|copilot|codex|claude}/wargames/
  • 初回使用時に mkdir -p で作成します
  • アーカイブパス:~/.{gemini|copilot|codex|claude}/wargames/archive/
ジャーナル形式

ジャーナルでは、機械で解析可能なメタデータに YAML フロントマターを使用します。

---
scenario: "{title}"
tier: {Clear | Complicated | Complex | Chaotic}
mode: {Quick Analysis | Structured Analysis | Interactive Wargame}
difficulty: {optimistic | realistic | adversarial | worst-case}
status: {In Progress | Complete | Abandoned}
created: {YYYY-MM-DDTHH:MM:SS}
updated: {YYYY-MM-DDTHH:MM:SS}
turns: {completed}/{total}
criteria: [{ranked criteria list}]
actors: [{actor names}]
tags: [{domain tags}]
---

移行: list/resume で --- フロントマターのないジャーナルが見つかった場合は、v1 の Markdown ヘッダー解析にフォールバックします。新しいジャーナルでは常にフロントマターを使用します。

ファイル名の規則

パターン:{YYYY-MM-DD}-{domain}-{slug}.md

  • {domain}:定義済みの値は biz、career、crisis、geo、personal、startup、negotiation、tech です。自動検出されたドメインでは、スラッグに custom を使用します。
  • {slug}:意味を表す3~5語の要約(例:supplier-acquisition-crisis)
  • 名前が重複する場合:末尾に -v2、-v3 などを追加します
保存プロトコル
  • クイック分析/構造化分析: 最後に一度だけ status: Complete で保存します
  • インタラクティブ・ウォーゲーム: 各ターンの後に status: In Progress で保存します。AAR の後、status: Complete に更新します
状態スナップショット

各ターンの保存後に、HTML コメントとして `` YAML ブロックを追加します。フィールド:turn_number、difficulty、verbosity、criteria、branches、actors(それぞれに name、resources、stance、beliefs、information_state、relationships、risk_posture、attention_style を含む)、active_injects、inject_history。再開時にはフロントマターと最後の状態ブロックを読み込みます。スキーマ全体と巻き戻し/ブランチのプロトコルについては、references/session-commands.md の § State Snapshot と § Rewind Protocol を参照してください。

並べ替え順

ジャーナルはファイル名で並べ替えます(新しいものが先頭の降順)。この並び順は list と resume N の両方で標準となります。

破損への耐性
  1. 書き込み前:対象ファイルが存在し、フロントマターを解析できることを検証します
  2. 書き込み後:書き込みが完了したことを確認します
  3. 再開時:フロントマターがない、または不正な場合は、v1 のヘッダー解析を試みます。それも失敗した場合は、ユーザーに「ジャーナルが破損しているようです。同じシナリオの新しい分析を開始しますか?」と伝えます

セッション中のコマンド

分析またはウォーゲームの実行中はいつでも利用できます。任意の判断時点で ? と入力すると、メニュー全体が表示されます。

コマンドモード効果
red team / challengeすべて優先する選択肢に対する最も強力な反論
what if <condition>すべて集中的な反実仮想分析。判断ごとに最大3回
criteriaすべて判断基準を設定または再順位付け
explore [N]すべてモンテカルロ探索。既定値は N=15。references/wargame-engine.md のモンテカルロ反復プロトコルを参照
sensitivityすべてパラメーター感度のトルネード図
delphi / expertsすべて構造化された意見の相違を含む合成専門家パネル
forecast / base rateすべてフェルミ分解を用いた参照クラス予測
negotiate / batnaすべてBATNA/ZOPA の交渉マッピング
calibrateすべて確率の較正監査
options / optionalityすべてリアルオプションの枠組み
cause / causalすべてフィードバックループを含む因果図
morph / scenariosすべて形態学的シナリオ生成ツール
researchすべて現在の判断時点に関する WebSearch インテリジェンス概要
rewind [N]ウォーゲームターン N の状態スナップショットを読み込みます(既定値:1 ターン前)。ジャーナルを分岐します
branchesウォーゲームタイムラインの分岐を一覧表示、切り替え、または削除
statusすべてターンを進めずに、ゲーム途中の概要スナップショットを表示
export / dashboardすべてHTML ダッシュボードを生成
metaすべてジャーナル横断の判断適合性レポート
compare [j1] [j2]すべて2 つのジャーナル実行を並べて比較
summary [N]すべて完了したジャーナル N の 10~20 行の概要
verbose [level]すべて出力の詳しさを変更:brief、standard、detailed
?すべてコマンドメニューを表示(コマンドメニュー表示)

各コマンドは references/wargame-engine.md のプロトコルに従って処理されます(criteria、export、verbose、research、rewind、branches、status、meta、compare、summary、? を除き、これらはこのファイルで定義されています)。表示テンプレートについては、references/output-formats-core.md と references/output-formats-commands.md を参照してください。

export、meta、compare、summary のコマンドプロトコルについては、references/session-commands.md を参照してください。

難易度レベル

ティアから自動的にマッピングされます(Clear→楽観的、Complicated→現実的、Complex→敵対的、Chaotic→最悪のケース)。分類中にユーザーが上書きできます。難易度は、すべてのモードにおける行為者の振る舞い、イベントの発生頻度、裁定のしきい値、分析のトーンに影響します。

詳しい仕様については、references/wargame-engine.md の「難易度レベル」を参照してください。

チュートリアルモード

チュートリアル($ARGUMENTS = tutorial):教育的な注釈付きの、事前にスクリプト化された 2 ターンの Complicated ティアシナリオです。プロトコル全体については、references/session-commands.md § チュートリアルモードを参照してください。

リサーチコマンド

リサーチ(アクティブなセッション中に research を実行):現在の判断時点に関する WebSearch クエリを 1~2 件実行し、インテリジェンスリサーチ表示で提示します。ターンは進みません。プロトコル全体については、references/session-commands.md § リサーチコマンドを参照してください。

ファシリテーションモード

ファシリテーションモード($ARGUMENTS = facilitated):LLM はゲームマスターのみを担当し、すべての行為者は人間が操作します。プロトコル全体については、references/session-commands.md § ファシリテーションモードを参照してください。

参照ファイル一覧

ファイル内容読むタイミング
references/frameworks.mdフレームワークのカタログ(13 項目)、選択のヒューリスティクス、適用ルールすべてのモードでフレームワークを選択するとき
references/frameworks-procedures.md各フレームワークの手順をステップごとに説明選択した特定のフレームワークを適用するとき
references/wargame-engine.mdアクター定義(9 フィールド)、ターン構成(13 ステップ)、裁定、モンテカルロ法、反実仮想/レッドチームのプロトコル、8 つの分析コマンドのプロトコル、インジェクト設計、難易度レベル分析モードのセットアップまたは実行時
references/cognitive-biases.md人間のバイアス 10 種と LLM のバイアス 4 種、バイアス検査のプロトコル、分析規約すべてのモードでバイアスを確認するとき
references/output-formats-core.mdコア表示テンプレート(20 以上)、UX 用の罫線描画システム、ジャーナル形式、アクセシビリティルールすべての出力を表示するとき
references/output-formats-commands.md分析コマンドの表示テンプレート(レッドチーム、感度分析、デルファイ法、予測など)特定の分析コマンドの出力を表示するとき
references/session-commands.mdエクスポート、メタ、比較、要約コマンドのプロトコル+ファシリテーションモードexport、meta、compare、summary、または facilitated コマンドを使うとき
references/dashboard-schema.mdHTML ダッシュボードの JSON データ契約(12 のビューのスキーマ、ビュー間のフィールド)export または dashboard コマンドを使うとき
references/visualizations.md設計原則、Unicode チャート、Mermaid 図、HTML ダッシュボードのパターン視覚的な出力を生成するとき
templates/dashboard.htmlJSON を script 内でレンダリングする、組み合わせ可能な HTML ダッシュボード(12 以上のビュー)export または dashboard コマンドを使うとき

上記の「読むタイミング」列に従って参照ファイルを読んでください。内容を 記憶や事前知識に頼ってはいけません。参照ファイルが 唯一の信頼できる情報源です。参照ファイルが存在しない場合は、 そのファイルなしで進め、ジャーナルに不足を記録してください。

重要なルール

  1. すべての出力に、予測ではなく探索的なものであると明記する(RAND ガードレール)
  2. 分類ティアは常にユーザーが上書きできるようにする
  3. インタラクティブ・ウォーゲームモードでは、AAR を決して省略しない
  4. トレードオフを必ず明示する。すべての選択肢に、明確な欠点を示す
  5. バイアスを検出したら、人間と LLM の両方について、バイアスの名称を明示する
  6. ウォーゲームのターン数のデフォルト上限は 8 とする。ユーザーは、コンテキストに関する警告を受けたうえで、最大 12 ターンまで上書きできる
  7. インタラクティブ・ウォーゲームモードでは、各ターン後にジャーナルを保存する
  8. 基準とアクションブリッジは必須とする。基準が設定されている場合は、ランキングにその影響を明確に反映する。すべての推奨、ランキング、または AAR の末尾には Probe/Position/Commit を記載する

正式な用語一覧: ティア、モード、アーキタイプ、難易度レベル、コマンド、詳細度レベル、アクションブリッジレベル、ジャーナルステータス、ドメインタグの正確な文字列値については、references/session-commands.md の § Canonical Terms を参照してください。

コメント