/scenario - Guided MoM Scenario Creation
Create a new Mansions of Madness 2nd Edition scenario for the Valkyrie app using AI-assisted tools.
Workflow
Step 1: Concept
Ask for a scenario concept:
- Theme and setting (haunted house, mysterious town, abandoned asylum, etc.)
- Target difficulty (0.0-1.0, where 0.5 is medium)
- Estimated play length (minutes)
- Number of investigators (2-5)
- Any specific expansions required (base game only vs. Beyond the Threshold, Horrific Journeys, etc.)
Step 2: Create Scenario
Use create_scenario to scaffold the scenario directory. This creates the directory with default quest.ini, quest.txt, and supporting files.
Step 3: Map Design
- Use
suggest_tile_layout with a style (linear, l_shape, hub_spoke) based on the concept
- Use
search_game_content to find appropriate tiles (e.g., "hallway", "study", "garden")
- Use
upsert_tile to place each tile with a side from the tile catalog
- Use
get_map_ascii to visualize the layout
- Adjust positions with
place_tile_relative as needed
For systematic placement methodology, see /tile-placement.
Step 4: Event Chain
Build the event flow:
- Create
EventStart with trigger=EventStart - the scenario introduction
- Create a setup chain: EventStart → place tiles → place tokens → remove TokenInvestigators
- Create exploration events that reveal tiles and place tokens
- Create encounter events for monster spawns and puzzles
- Create finale events with
$end operation
- Wire events together via
event1..event6 fields
For complex patterns like loops, branching, and dialogues, see /event-patterns and /variables-and-mythos.
Step 5: Tokens
Place tokens on the map:
TokenExplore - reveals new areas (place at tile boundaries)
TokenSearch - provides items (1 per area recommended)
TokenInteract - triggers story events
TokenInvestigators - starting position (remove after setup)
TokenWallOutside/TokenWallInside - walls and barriers
Step 6: Monsters & Spawns
Use upsert_spawn for each monster encounter:
- Reference monsters from catalog (MonsterCultist, MonsterGhost, etc.)
- Set health scaling with
uniquehealth and uniquehealthhero
- Use
conditions to gate spawns on game state
For custom monsters with unique behaviors, see /custom-monsters.
Step 7: Items
Use upsert_item for starting and discoverable items:
- Set
starting=True for initial loadout
- Use
traits to specify item types (weapon, lightsource, equipment, spell, common)
- Use
itemname for specific named items
For advanced distribution patterns, see /items-and-distribution.
Step 8: Narrative
Use set_localization to write all text:
quest.name and quest.description for the scenario listing
EventName.text for event dialog
EventName.button1 etc. for button labels
TokenName.text for token descriptions
Step 9: Validate & Build
validate_scenario - fix any errors reported
build_scenario - create .valkyrie package
Advanced Patterns
These skills cover complex patterns from the scenario editor guide:
/event-patterns - Event loops, multi-question dialogues, silent events, token swaps, random events, variable branching
/tile-placement - Systematic tile placement chains, multi-entry tiles, naming conventions
/variables-and-mythos - Variable system, mythos scaling, random generation, hero detection
/custom-monsters - Custom monsters with unique activations, evade, horror
/ui-and-puzzles - UI elements, custom puzzles, splash screens, interactive journals
/items-and-distribution - Random items, unique items, starting items, inspection events
Tips
- Use
{qst:CONTINUE} for standard continue buttons
- Use
{ffg:TILE_NAME} to reference tile display names
- Use
{c:ComponentName} to reference component names in text
- Skill tests use
{strength}, {agility}, {observation}, {lore}, {influence}, {will}
- Standard tile spacing is 7 units
- Always remove TokenInvestigators after setup to prevent it staying interactable
- Run
validate_scenario frequently during development
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: scenario-23description: Guided end-to-end MoM scenario creation workflow. Use when creating a new Mansions of Madness scenario from scratch. Use when this capability is needed.4---56# /scenario - Guided MoM Scenario Creation78Create a new Mansions of Madness 2nd Edition scenario for the Valkyrie app using AI-assisted tools.910## Workflow1112### Step 1: Concept1314Ask for a scenario concept:15- Theme and setting (haunted house, mysterious town, abandoned asylum, etc.)16- Target difficulty (0.0-1.0, where 0.5 is medium)17- Estimated play length (minutes)18- Number of investigators (2-5)19- Any specific expansions required (base game only vs. Beyond the Threshold, Horrific Journeys, etc.)2021### Step 2: Create Scenario2223Use `create_scenario` to scaffold the scenario directory. This creates the directory with default `quest.ini`, `quest.txt`, and supporting files.2425### Step 3: Map Design26271. Use `suggest_tile_layout` with a style (linear, l_shape, hub_spoke) based on the concept282. Use `search_game_content` to find appropriate tiles (e.g., "hallway", "study", "garden")293. Use `upsert_tile` to place each tile with a `side` from the tile catalog304. Use `get_map_ascii` to visualize the layout315. Adjust positions with `place_tile_relative` as needed3233For systematic placement methodology, see `/tile-placement`.3435### Step 4: Event Chain3637Build the event flow:381. Create `EventStart` with `trigger=EventStart` - the scenario introduction392. Create a setup chain: EventStart → place tiles → place tokens → remove TokenInvestigators403. Create exploration events that reveal tiles and place tokens414. Create encounter events for monster spawns and puzzles425. Create finale events with `$end` operation436. Wire events together via `event1`..`event6` fields4445For complex patterns like loops, branching, and dialogues, see `/event-patterns` and `/variables-and-mythos`.4647### Step 5: Tokens4849Place tokens on the map:50- `TokenExplore` - reveals new areas (place at tile boundaries)51- `TokenSearch` - provides items (1 per area recommended)52- `TokenInteract` - triggers story events53- `TokenInvestigators` - starting position (remove after setup)54- `TokenWallOutside`/`TokenWallInside` - walls and barriers5556### Step 6: Monsters & Spawns5758Use `upsert_spawn` for each monster encounter:59- Reference monsters from catalog (MonsterCultist, MonsterGhost, etc.)60- Set health scaling with `uniquehealth` and `uniquehealthhero`61- Use `conditions` to gate spawns on game state6263For custom monsters with unique behaviors, see `/custom-monsters`.6465### Step 7: Items6667Use `upsert_item` for starting and discoverable items:68- Set `starting=True` for initial loadout69- Use `traits` to specify item types (weapon, lightsource, equipment, spell, common)70- Use `itemname` for specific named items7172For advanced distribution patterns, see `/items-and-distribution`.7374### Step 8: Narrative7576Use `set_localization` to write all text:77- `quest.name` and `quest.description` for the scenario listing78- `EventName.text` for event dialog79- `EventName.button1` etc. for button labels80- `TokenName.text` for token descriptions8182### Step 9: Validate & Build83841. `validate_scenario` - fix any errors reported852. `build_scenario` - create .valkyrie package8687## Advanced Patterns8889These skills cover complex patterns from the scenario editor guide:90- `/event-patterns` - Event loops, multi-question dialogues, silent events, token swaps, random events, variable branching91- `/tile-placement` - Systematic tile placement chains, multi-entry tiles, naming conventions92- `/variables-and-mythos` - Variable system, mythos scaling, random generation, hero detection93- `/custom-monsters` - Custom monsters with unique activations, evade, horror94- `/ui-and-puzzles` - UI elements, custom puzzles, splash screens, interactive journals95- `/items-and-distribution` - Random items, unique items, starting items, inspection events9697## Tips9899- Use `{qst:CONTINUE}` for standard continue buttons100- Use `{ffg:TILE_NAME}` to reference tile display names101- Use `{c:ComponentName}` to reference component names in text102- Skill tests use `{strength}`, `{agility}`, `{observation}`, `{lore}`, `{influence}`, `{will}`103- Standard tile spacing is 7 units104- Always remove TokenInvestigators after setup to prevent it staying interactable105- Run `validate_scenario` frequently during development106107---108> Converted and distributed by [TomeVault](https://tomevault.io/claim/thijs-hakkenberg) — claim your Tome and manage your conversions.109<!-- tomevault:4.0:skill_md:2026-04-15 -->