Use when: start commander, begin tactical session, activate AI commander, command red forces, command blue forces, tactical AI setup, commander session, start tactical AI, run commander, initialize commander, /commander
Collects all required Commander session parameters via an interview, then composes and hands off the startup prompt to the Commander subagent. The Commander runs the Session Startup Procedure and executes the first Decision Cycle.
/commander or /start-commander/commander flow is triggeredIf parameters were not already provided, ask the following (use vscode_askQuestions if available):
Faction — Which side is the Commander controlling?
Objective — What is the Commander's primary mandate?
DEFEND — Hold the AO, minimize enemy penetrationATTRIT — Destroy enemy forces while preserving own strengthASSAULT — Seize terrain or destroy a specific target, accept lossesSCREEN — Buy time, trading space for time; retreat when threatenedANNIHILATE — All-in, maximum aggression, destroy everythingAWACS Unit Name — The exact DCS unit name of the faction's AWACS aircraft or early-warning radar. This is the unit the Commander will call GetDetectedTargets on when in AWACS_ONLY mode.
Intel Mode — How should the Commander sense the enemy?
AWACS_ONLY (realistic) — Enemy contacts from the AWACS radar only. Fog of war applies.SATELLITE — All enemy units visible directly via gRPC. No fog of war.Scenario Spec (optional) — Paste the MissionBuilder scenario spec or a brief description of the AO and enemy order of battle. Helps the Commander make informed decisions from the first cycle.
Using the collected parameters, build the following structured prompt:
Faction: <Red|Blue>
Objective: <DEFEND|ATTRIT|ASSAULT|SCREEN|ANNIHILATE>
AWACS Unit: <unit name>
Intel Mode: <AWACS_ONLY|SATELLITE>
Scenario: <spec or "none">
Run the Session Startup Procedure:
1. Health check (call check_health — abort if grpcClientConnected is false)
2. Register agent name via MB_setAgent('Commander') Eval inject
3. Build the initial force picture (GetGroups → GetUnits → GetPosition for own side; enemy picture per intelMode)
4. Execute one full Decision Cycle: Assess → Decide → Issue Orders → Report
Return the Commander's Report in the structured format defined in your agent file.
Hand the composed prompt to the Commander subagent using the agent tool.
Do not execute any gRPC calls yourself. Commander owns all gRPC interaction and Lua injection.
After the Commander subagent returns, display its report to the user verbatim, then ask:
"Commander cycle complete. Say next to run another decision cycle, stop to end the session, or describe any override orders."
| User response | Action |
|---|---|
| next | Invoke Commander again: "Run one Decision Cycle. Refresh the force picture and issue orders for this cycle." |
override <instruction> | Invoke Commander with the override prepended: "Override: <instruction>. Then run one Decision Cycle." |
| stop | End the session. Summarise total cycles run and orders issued. |
GetGroups to discover candidates.