name: create-mission description: "Use when: creating a new DCS mission, /createmission, generate mission spec, design scenario, plan mission, build scenario spec, define mission objectives, scenario design, mission planning. Generates a full structured mission specification (factions, unit groups, flights, SAM sites, IADS, objectives, win conditions) for the currently running mission and hands it off to MissionBuilder for injection." argument-hint: "Describe the type of mission you want, e.g. 'SEAD escort strike on a defended airfield' or leave blank to be interviewed"
create-mission Skill
Generates a complete, structured DCS mission specification from a brief description or an interactive interview, then delegates execution to the MissionBuilder agent.
When to Use
- User types
/createmissionin chat - User asks to "create a mission", "design a scenario", "plan a mission", "build a scenario"
- Any request to design a new DCS mission from scratch
Procedure
Step 1 — Query the Live Theatre
Before interviewing the user, call GetTheatre via the dcs-world skill to determine the active map. Use the returned theatre name to look up location names, airbases, and terrain features from DCS Theatre Reference. This grounds all AO descriptions in the correct geography.
Step 2 — Interview the User
If the user has not provided enough detail, ask the following questions (use vscode_askQuestions if available, otherwise ask in chat):
- Mission Type — What is the core mission type?
- Strike / Deep Strike
- SEAD / DEAD
- CAS (Close Air Support)
- CAP / Air Superiority
- Ground Assault / Armoured Push
- Interdiction
- Combined Arms (mixed air + ground)
- Other (describe)
- Complexity — Simple (1-2 objectives, small force), Medium (3-4 objectives, mixed arms), Complex (multi-phase, large force)
- Bluefor Faction — Who is the Bluefor side? (e.g. USA, NATO, UK)
- Redfor Faction — Who is the Redfor side? (e.g. Russia, Iran, Generic OPFOR)
- Area of Operations — Where on the map? Name a city, airbase, or region as the focal point.
- Key Objective — What must Bluefor accomplish? (e.g. "destroy the radar at Gudauta", "hold the Sukhumi corridor")
- Player Role (optional) — Is there a human player slot? What aircraft/role?
If the user already provided a description with enough context, skip the interview and infer answers from it.
Step 3 — Generate the Mission Spec
Using the theatre (from GetTheatre) and the user's answers, produce a formatted mission specification following the Mission Spec Template.
The spec must include all of these sections:
3.1 Header
Theatre— resolved fromGetTheatre(do not ask the user)Mission Type— primary typeComplexity— Simple / Medium / ComplexSummary— 2-3 sentence narrative hook
3.2 Factions
- Bluefor: faction name, doctrine (aggressive/defensive/combined arms)
- Redfor: faction name, doctrine
3.3 Area of Operations
- Primary AO name and description (map region, approximate lat/lon zone or named location)
- Key terrain features relevant to the scenario (ridgelines, chokepoints, urban areas, coastline)
3.4 Objectives
List each objective with:
ID(OBJ-1, OBJ-2, …)Description— what must be doneFaction— Bluefor or RedforType— Destroy / Capture / Defend / Escort / Suppress / ReachPriority— Primary / SecondaryWin Condition— what marks it complete
3.5 Ground Forces
For each ground group, specify:
| Group Name (Template) | Coalition | Type | Role | Location | Units |
|---|---|---|---|---|---|
RED_ArmourPush_1 |
Redfor | Armour | Assault | East of Sukhumi | T-80U x4, BMP-2 x2 |
BLUE_MANPAD_Screen |
Bluefor | Infantry | Air Defence | Batumi perimeter | Igla-S x3 |
3.6 Air Defence / IADS
For each SAM or EWR group:
| Group Name (Template) | Coalition | System | Role | Location | Notes |
|---|---|---|---|---|---|
RED_SA10_Site |
Redfor | S-300 PS | Long Range SAM | NE Sukhumi | MANTIS-managed |
RED_SA6_FWD |
Redfor | Kub | Medium SAM | Forward line | Roving threat |
RED_EWR_East |
Redfor | 55G6 EWR | Early Warning | Tbilisi East | Feeds IADS |
3.7 Air Assets / Flights
For each flight (AI or player):
| Flight Name (Template) | Coalition | Aircraft | Role | Task | Airbase/FARP | Loadout Hint | Notes |
|---|---|---|---|---|---|---|---|
BLUE_F16_SEAD |
Bluefor | F-16C | SEAD | Suppress SA-6 | Batumi | AGM-88 x4, AIM-9 x2 | AI |
RED_Su27_CAP |
Redfor | Su-27 | CAP | Patrol AO | Gudauta | R-77 x4, R-73 x2 | AI dispatcher |
BLUE_A10_CAS |
Bluefor | A-10C | CAS | Attack armour | Senaki | Mk-82 x8, GAU | AI |
3.8 Static Structures (optional)
For structures to spawn as static objects:
| Static Name | Coalition | Type | Location | Purpose |
|---|---|---|---|---|
RED_Radar_Gudauta |
Redfor | EWR Radar | Gudauta airfield | Target - strike objective |
BLUE_FARP_Alpha |
Bluefor | FARP | South Sukhumi | Rearming point |
3.9 Moose Systems to Use
List the autonomous Moose systems that MissionBuilder should activate:
- MANTIS — for Redfor IADS (SAMs + EWR)
- AI_A2A_DISPATCHER — for Redfor CAP (threat detection → scramble)
- AI_A2G_DISPATCHER — for Bluefor CAS response
- AI_A2G_SEAD — for Bluefor SEAD flights
- ARMYGROUP — for ground assault management
- SET_GROUP / SCHEDULER — for timed reinforcements
3.10 Triggers & Events (optional)
| Trigger | Condition | Action |
|---|---|---|
| Phase 2 Start | OBJ-1 complete | Spawn RED_Reinforcements_Tank |
| Radio Message | Mission start | Bluefor briefing text |
| End Condition | OBJ-1 + OBJ-2 complete | Message "Mission Success" |
3.11 MissionBuilder Prompt
End the spec with a ready-to-use MissionBuilder invocation block — a single paragraph starting with @MissionBuilder the user can copy directly:
@MissionBuilder <paste the full spec above>
Step 4 — Present and Confirm
- Display the complete spec in the chat response
- Ask the user: "Does this look right? Type go to inject it via MissionBuilder, or tell me what to change."
- If the user says go (or equivalent), delegate to MissionBuilder by handing off the full spec as the input prompt
- If the user requests changes, update the relevant sections of the spec and re-present it
Rules
- Do not inject Lua yourself. This skill only produces specs. Execution is MissionBuilder's responsibility.
- All group names in the spec are template group names that must already exist in the mission editor, OR flag them with
[SPAWN-TEMPLATE NEEDED]so MissionBuilder knows to ask or create a generic template. - Keep the spec precise. Vague specs lead to poor injections. Include unit counts, system names, and location hints.
- Balanced scenarios. Do not design so that one side has an insurmountable advantage unless explicitly requested.
- Flag player slots. If the user wants a player slot, mark the flight row with
[PLAYER]in the Notes column. MissionBuilder must not issue orders to that slot.