Generate MULTIPLE autonomous driving test scenarios using the Deontic MCP server. Only use this skill when BOTH of these conditions are met: (1) the user wants to generate more than one scenario (e.g. "generate 5 scenarios", "create a batch of test scenarios", "multiple scenario variants"), AND (2) the user provides or references an ODD (Operational Design Domain) description — either as a file or inline text describing the operational context. Do NOT use this skill for single scenario generation or when no ODD is provided. Triggers include phrases like "generate N scenarios for this ODD", "create multiple test scenarios based on my ODD", or "batch scenario generation with ODD coverage".
A skill for generating structured autonomous driving test scenarios using the Deontic MCP server.
This skill orchestrates an interactive workflow to:
Before starting, ensure you have:
If any of these are missing, ask the user to provide them before proceeding.
If the ODD is provided as a file, read it fully. Note any taxonomy files it references and read those too. This context is needed for suggest-scenario-attributes.
Call suggest-scenario-attributes from the Deontic MCP server:
scenario_promptoddPresent the suggested attribute combinations to the user in a clear table or list, showing each combination with its labels. Explain what each attribute controls.
Ask the user:
"Here are the suggested attribute combinations. Would you like to approve these, or would you like to modify, add, or remove any attributes before I generate the scenarios?"
Wait for explicit approval. Allow the user to:
Generate the scenarios one by one (not in parallel). For each approved attribute combination:
4.1 — Call Deontic:generate_open_drive
scenario_prompt: the scenario promptscenario_constraints: the additional constraints (if any; omit or pass empty string if none)odd: the ODD definition4.2 — Call Deontic:generate_open_scenario
scenario_prompt: the scenario promptroad_network_id: the road network ID, returned by the previous stepscenario_constraints: the additional constraints (if any; omit or pass empty string if none)odd: the ODD definition4.3 — Create output subdirectory
Name the subdirectory using the scenario number and attribute labels:
{output_directory}/scenario_{N}_{attribute_label_slug}/
Where N is a zero-padded index (01, 02, ...) and the slug replaces spaces/special chars with underscores.
4.4 — Save scenario.md
Write a scenario.md file to the subdirectory containing:
# Scenario {N}: {attribute labels}
## Road Network Description
{road_network_description from API response}
## Scene Description
{scene_description from API response}
4.5 — Download OpenDRIVE file
Download the file from the open_drive URL in the response. Keep the original filename from the URL. Save to the scenario subdirectory.
4.6 — Download OpenSCENARIO file
Downl oad the file from the open_scenario URL in the response. Keep the original filename from the URL. Save to the scenario subdirectory.
After all scenarios are generated, provide a summary:
Then suggest follow-up tasks:
Next steps you might want to try:
- 🎬 Create a video for one or more scenarios to visualize the simulation
- 💬 Give feedback on the generated scenarios to refine them
- 🔄 Regenerate a specific scenario with adjusted constraints
suggest-scenario-attributes returns no results, inform the user and ask them to provide attributes manually.output_directory/
├── scenario_01_urban_intersection_rain/
│ ├── scenario.md
│ ├── 3f7a2c1e-84b0-4d9f-a123-56789abcdef0.xodr
│ └── 7b1d4e8f-23c0-4a6e-b456-89012cdef123.xosc
├── scenario_02_highway_merge_fog/
│ ├── scenario.md
│ ├── a2b3c4d5-e6f7-4890-b123-456789abcdef.xodr
│ └── f1e2d3c4-b5a6-4789-c012-345678901234.xosc
└── scenario_03_parking_lot_pedestrian/
├── scenario.md
├── 9c8b7a6f-5e4d-4321-d890-123456789abc.xodr
└── 0d1e2f3a-4b5c-4678-e901-234567890bcd.xosc