wargame
Domain-agnostic strategic decision analysis and wargaming. Auto-classifies scenario complexity: simple decisions get structured analysis (pre-mortem, ACH, decision trees); complex or adversarial scena
Domain-agnostic strategic decision analysis and wargaming. Auto-classifies scenario complexity: simple decisions get structured analysis (pre-mortem, ACH, decision trees); complex or adversarial scenarios get full multi-turn interactive wargames with AI-controlled actors, Monte Carlo outcome exploration, and structured adjudication. Generates visual dashboards and saves markdown decision journals. Use for business strategy, crisis management, competitive analysis, geopolitical scenarios, personal decisions, or any consequential choice under uncertainty.
| Field | Value |
|---|---|
| Name | wargame |
| License | MIT |
| Version | 1.0 |
| Author | wyattowalsh |
| Field | Value |
|---|---|
| Model | opus |
| Argument Hint | <scenario description> |
Details
Section titled “Details”Wargame
Section titled “Wargame”Domain-agnostic strategic decision analysis. Every output labeled exploratory.
Dispatch
Section titled “Dispatch”| $ARGUMENTS | Action |
|---|---|
| Scenario text provided | Go to Scenario Classification |
resume <path> | Read the journal file at path, restore state, continue wargame from last turn |
| Empty | Prompt user to describe their decision scenario |
If $ARGUMENTS begins with “resume”, extract the file path, read the journal,
reconstruct actor state and turn history, and continue the wargame from the
last recorded turn. If the file does not exist or is malformed, report the
error and prompt the user for a new scenario.
If $ARGUMENTS is empty, ask:
Describe the decision or scenario you want to analyze. Include context, constraints, and what outcome you are trying to achieve.
Otherwise, proceed to Scenario Classification with the provided text.
Wargame Principles
Section titled “Wargame Principles”Core principles governing all modes. Violations are bugs.
Exploratory, not predictive — RAND guardrail: all outputs are thought experiments, never forecasts. Label every output accordingly. Do not imply certainty where none exists.
Sensitive scenario handling — Treat all scenarios with analytical rigor regardless of domain. Real-world violence, harm, and crisis scenarios are analyzed dispassionately as strategic problems. Analytical distance is a feature, not a defect.
Depth calibration — Match analysis depth to scenario complexity. The classification rubric determines this. Do not over-analyze trivial decisions or under-analyze consequential ones.
User override rights — The user can always override the classification tier, end early, skip sections, or redirect analysis. Acknowledge overrides and proceed without resistance.
Adversary simulation is best-effort — LLMs cannot truly model adversary cognition or maintain hidden information. Acknowledge this limitation explicitly at the start of every Interactive Wargame.
Force trade-offs — Never present costless options. Every choice has downsides. If an option appears to dominate, search harder for its weaknesses.
LLM bias awareness — Actively mitigate known LLM biases: sycophancy,
anchoring on user framing, status quo bias, and dramatic escalation. Run
bias sweeps per references/cognitive-biases.md.
Scenario Classification
Section titled “Scenario Classification”Score the scenario on five dimensions. Show all scores to the user.
Scoring Rubric
Section titled “Scoring Rubric”| Dimension | 0 | 1 | 2 |
|---|---|---|---|
| Adversary / competing interests | None | Passive / indirect | Active adversary optimizing against you |
| Reversibility | Easily reversible | Partially reversible / costly to undo | Irreversible or extremely costly |
| Time pressure | Months+ to decide | Weeks | Days or hours |
| Stakeholder count | 1-2 | 3-5 | 6+ with conflicting interests |
| Information completeness | Full information available | Partial / uncertain | Asymmetric or actively obscured |
Tier Assignment
Section titled “Tier Assignment”| Total Score | Tier | Mode | Depth |
|---|---|---|---|
| 0-3 | Clear | Quick Analysis | Single output |
| 4-6 | Complicated | Structured Analysis | Single output |
| 7-8 | Complex | Interactive Wargame | 3-5 turns |
| 9-10 | Chaotic | Interactive Wargame (TTX) | 3-8 turns |
Score each dimension independently. Present a filled-in rubric table with the user’s scenario mapped to each row. Sum the scores, announce the tier and mode, and ask:
Your scenario scores N/10 — tier X, mode Y. Override? [yes/no]
If the user overrides, acknowledge and switch without argument. If the user provides additional context that changes scores, rescore and re-announce before proceeding. Proceed to the assigned mode.
Mode A: Quick Analysis
Section titled “Mode A: Quick Analysis”Clear tier (score 0-3). Single output, minimal ceremony.
- Restate decision in the user’s own terms. Confirm framing.
- Key Assumptions Check — Surface 2-3 unstated assumptions baked into the scenario framing. Challenge each briefly.
- Framework application — Select 2-3 frameworks from
references/frameworks.mdusing the heuristic table. Apply each to the scenario. Show reasoning, not just labels. - Analysis — Present findings using a Unicode decision tree (see
references/output-formats.md). Map options to outcomes with probabilities where estimable. - Recommendation — State clearly with:
- Confidence level: high, medium, or low
- Key assumption that could change this recommendation
- Watch signal: what to monitor that would trigger reconsideration
- Save journal to
~/.claude/wargames/{date}-{slug}.md
Keep the total output concise. This mode exists for decisions that do not warrant deep analysis. Resist scope creep. If the analysis reveals the scenario is more complex than initially scored, note this and offer to re-classify upward.
Mode B: Structured Analysis
Section titled “Mode B: Structured Analysis”Complicated tier (score 4-6). Single output, thorough examination.
-
Key Assumptions Check — Surface and challenge all major assumptions. For each assumption, state what changes if it is wrong.
-
Stakeholder mapping — Table format:
Stakeholder Interest Power Position Power: high, medium, low. Position: supportive, neutral, opposed.
-
Framework application — Select 3-5 frameworks from
references/frameworks.md. Include ACH (Analysis of Competing Hypotheses) if the scenario involves competing explanations or theories. -
Option analysis — For each viable option, present explicit trade-offs. Every option must have at least one significant downside. No free lunches.
-
Ranking with rationale — Rank options. State the criteria used and how each option scored against them.
-
Decision triggers — Define conditions that would change the recommendation. Be specific: thresholds, events, new information.
-
Pre-mortem — For each top-ranked option, imagine it has failed catastrophically. Identify the most likely cause of failure. State what early warning signs would precede that failure.
-
Quadrant chart — Generate a Mermaid quadrant chart plotting options on risk (x-axis) vs. reward (y-axis). Label each quadrant and place options with brief annotations.
-
Save journal to
~/.claude/wargames/{date}-{slug}.md
Mode C: Interactive Wargame
Section titled “Mode C: Interactive Wargame”Complex/Chaotic tier (score 7-10). Multi-turn interactive protocol.
Setup Phase
Section titled “Setup Phase”- Define actors — Create 3-6 actors using structured persona templates
from
references/wargame-engine.md. Each actor has: name, role, goals, resources, constraints, personality archetype (hawk, dove, pragmatist, ideologue, bureaucrat, opportunist, disruptor, or custom). - User role selection — User selects which actor they control. If none fit, create a custom actor for them.
- Initial conditions — Define the starting state: resources, positions, alliances, constraints, information each actor has access to.
- Pre-seed injects — Create 3-5 injects (unexpected events). At least one must be a positive opportunity, not just a crisis. Injects remain hidden from the user until deployed.
- Set turn count — Complex: 3-5 turns. Chaotic: 3-8 turns. Maximum 8 turns per wargame regardless of tier.
- Present setup summary — Show all actors, initial conditions, and turn count. Confirm with user before proceeding.
State the adversary simulation limitation explicitly during setup: “AI- controlled actors optimize for their stated goals, but this is best-effort simulation, not genuine adversarial cognition.”
Ensure actor goals genuinely conflict. If all actors want the same thing, the wargame degenerates into a coordination exercise. Introduce at least one structural tension between actor objectives.
Turn Loop
Section titled “Turn Loop”Each turn follows this sequence:
- Situation brief — Render using Roguelike Layout from
references/output-formats.md. Show current state, resources, tensions, and recent changes at a glance. - AI actor actions — Each AI-controlled actor takes an action optimizing for THEIR goals, not the user’s. Actors may cooperate, compete, or act unpredictably based on their archetype and the current situation.
- Present actor actions — Show what each actor did with visible effects on the game state. Hide actor reasoning that the user’s character would not plausibly know.
- User decision menu — Present 3+ options with: domain of action, risk level (low/medium/high), and expected impact. Include a “custom action” slot for user-defined moves.
- User chooses — Accept selection or custom action description.
- Adjudicate — Resolve the turn using the Matrix Game protocol from
references/wargame-engine.md. Evaluate argument strength, apply modifiers, determine outcomes. - Unexpected consequences — Generate at least 1 emergent event: a second-order effect, an unintended outcome, or a delayed consequence of a prior action.
- Bias check — Run the bias sweep protocol from
references/cognitive-biases.md. Flag any detected biases (human or LLM) in a brief callout. - Save turn — Append the turn record to the journal immediately.
- Monte Carlo — If the user requests “explore N variations”, run the
Monte Carlo protocol from
references/wargame-engine.md. Present outcome distributions. - Visualizations — Render per
references/visualizations.mdas appropriate for the current state. At minimum, update the actor status display and resource tracker each turn.
Inject Deployment
Section titled “Inject Deployment”Fire pre-seeded injects at dramatically appropriate moments, not on a fixed schedule. Injects must create dilemmas — force the user to trade off between competing objectives. An inject that is merely a complication without a trade-off is a failed inject. Rewrite it.
End Conditions
Section titled “End Conditions”The wargame ends when: max turns reached, user explicitly ends early, or a decisive outcome renders continued play moot. If the user says “end”, “stop”, “done”, or “AAR”, proceed to AAR immediately. Proceed to AAR regardless of end condition — never end without it.
Mandatory AAR (After Action Review)
Section titled “Mandatory AAR (After Action Review)”Never skip the AAR. This is where learning happens.
- Timeline — Key decisions and their outcomes in chronological order.
- What worked and what failed — With evidence from turn records.
- Biases detected — Both human decision biases and LLM simulation biases observed during play. Name each bias explicitly.
- Transferable insights — Decision principles extracted from this scenario that apply to the user’s real context.
- Paths not taken — Briefly explore 2-3 alternative decision paths and their likely consequences. For each, identify the turn where the divergence would have occurred and the likely cascade.
- Actor performance — Evaluate each AI-controlled actor: did they behave consistently with their archetype and goals? Flag any actors that drifted from their persona (LLM consistency check).
- Visualizations — Generate a Mermaid timeline and decision tree in the journal showing the full arc of the wargame.
- Final journal save — Write the complete AAR to the journal file.
State Management
Section titled “State Management”- Journal directory:
~/.claude/wargames/ - Create the directory on first use with
mkdir -p - Filename:
{YYYY-MM-DD}-{scenario-slug}.mdwhere slug is the first 5 words of the scenario description in kebab-case - Quick Analysis and Structured Analysis: save journal once at end
- Interactive Wargame: save after EVERY turn (append turn record) and after AAR (append final section)
- Journal header must include: scenario description, classification scores, tier, mode, date, and actor roster (Interactive Wargame only)
- Each turn record must include: turn number, situation summary, actor actions, user decision, adjudication result, emergent events
- Resume protocol: if
$ARGUMENTSstarts with “resume”, read the journal file at the given path, reconstruct all actor states and turn history, and continue from the last recorded turn - If the journal file already exists for today’s scenario, append a
version suffix:
{date}-{slug}-v2.md
Reference File Index
Section titled “Reference File Index”| File | Content | Read When |
|---|---|---|
references/frameworks.md | 12 decision analysis frameworks with selection heuristics | Selecting frameworks for any mode |
references/wargame-engine.md | Persona templates, adjudication rules, Monte Carlo protocol, inject design | Setting up or running Interactive Wargame |
references/cognitive-biases.md | 10 human + 4 LLM biases, sweep protocol | Bias checks in any mode |
references/output-formats.md | All output templates, Roguelike Layout, decision trees | Rendering any output |
references/visualizations.md | Unicode charts, Mermaid diagrams, HTML dashboard patterns | Generating visual outputs |
Read reference files as indicated by the “Read When” column above. Do not rely on memory or prior knowledge of their contents. Reference files are the source of truth. If a reference file does not exist, proceed without it but note the gap in the journal.
Critical Rules
Section titled “Critical Rules”- Label ALL outputs as exploratory, not predictive (RAND guardrail)
- Always allow the user to override the classification tier
- Never skip AAR in Interactive Wargame mode — it is where learning happens
- Force trade-offs — every option must have explicit downsides
- Name biases explicitly when detected — both human and LLM
- Maximum 8 turns per wargame — cognitive fatigue degrades quality beyond this
- Save journal after every turn in Interactive Wargame mode
- Require at least one actor to genuinely disagree per turn (anti-farcical-harmony)
- Flag escalation when detected — LLMs tend toward dramatic outcomes
- Read reference files as indicated by the reference index — do not rely on memory
- Acknowledge information asymmetry limitations — LLM cannot truly hide information from itself
- Injects must create dilemmas (trade-offs), not just complications
Canonical terms (use these exactly throughout):
- Tiers: “Clear”, “Complicated”, “Complex”, “Chaotic”
- Modes: “Quick Analysis”, “Structured Analysis”, “Interactive Wargame”
- Persona archetypes: “hawk”, “dove”, “pragmatist”, “ideologue”, “bureaucrat”, “opportunist”, “disruptor”, “custom”