Skip to main content

create-mission

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.

Source facts

Repository
deadl1f7/dcs-hivemind
Last source activity
April 3, 2026 at 20:33
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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 `/createmission` in 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](../../assets/theatre-reference.md). 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): 1. **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) 2. **Complexity** — Simple (1-2 objectives, small force), Medium (3-4 objectives, mixed arms), Complex (multi-phase, large force) 3. **Bluefor Faction** — Who is the Bluefor side? (e.g. USA, NATO, UK) 4. **Redfor Faction** — Who is the Redfor side? (e.g. Russia, Iran, Generic OPFOR) 5. **Area of Operations** — Where on the map? Name a city, airbase, or region as the focal point. 6. **Key Objective** — What must Bluefor accomplish? (e.g. "destroy the radar at Gudauta", "hold the Sukhumi corridor") 7. **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](./assets/mission-spec-template.md). The spec must include all of these sections: #### 3.1 Header - `Theatre` — resolved from `GetTheatre` (do not ask the user) - `Mission Type` — primary type - `Complexity` — Simple / Medium / Complex - `Summary` — 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 done - `Faction` — Bluefor or Redfor - `Type` — Destroy / Capture / Defend / Escort / Suppress / Reach - `Priority` — Primary / Secondary - `Win 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. --- ## References - [Mission Spec Template](./assets/mission-spec-template.md) - [DCS Theatre Reference](../../assets/theatre-reference.md)
View on GitHub