Agent skill

Scenario Studio

by VectorSpaceLab in VectorSpaceLab/AREX-Skill

Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata.

MITAuto-check passed

Install Scenario Studio

skills CLI
$ npx skills add VectorSpaceLab/AREX-Skill --skill scenario-studio -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install VectorSpaceLab/AREX-Skill scenario-studio --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/VectorSpaceLab/AREX-Skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/repositories/repo-skills/smarts/sub-skills/scenario-studio .claude/skills/scenario-studio && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scenario-studio
GitHub stars
330
Token cost
~1.5k tokens
SKILL.md length
579 words
Files
8 (incl. scripts, references)
Skills in repo
159
Repo updated
First seen
Licence
MIT

At a glance

Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata.

  • Works in 6 steps: Create an application-owned scenario… → Select a map source: map.net.xml/another… → Define named traffic, missions, and… → …
  • SKILL.md covers Decide the boundary first, Minimal authoring contract, Fast recipe and Generated-artifact explanation, plus 1 more section
  • Runs Python scripts from its folder; calls python

What it does

Scenario Studio is an agent skill from VectorSpaceLab/AREX-Skill. Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata. Use this route when the task is scenario DSL or generated scenario layout; route live SUMO/TraCI, Envision replay, or environment lifecycle elsewhere.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/api-reference.md`, `references/data-formats.md` and `references/maps-and-traffic.md`).

The repository describes itself as: A Skill Library for Automated Machine Learning. The licence is MIT.

Example prompts

  • “/scenario-studio”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Create an application-owned scenario directory and put a scenario.py in
  2. Select a map source: map.net.xml/another .net.xml for SUMO, map.xodr
  3. Define named traffic, missions, and optional social/bubble/history metadata.
  4. Call gen_scenario(..., output_dir=scenario_dir, seed=). Set the
  5. Validate the source and then the generated build/ tree. Build assets are
  6. Before simulation, ensure the selected engine is compatible with the map and

What it can do on your machine

Read from SKILL.md and the folder at commit ac3fe1a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Studio loads about 1.5k tokens when it runs, and up to ~8.8k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 579 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from VectorSpaceLab/AREX-Skill at commit ac3fe1a, republished under its MIT licence (© VectorSpaceLab). 579 words, ~1,538 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-studio/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
scenario-studio
description
Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata. Use this route when the task is scenario DSL or generated scenario layout; route live SUMO/TraCI, Envision replay, or environment lifecycle elsewhere.
disable-model-invocation
true
metadata.disco-role
operating
license
MIT

Scenario Studio

Use this route when you need a self-contained SMARTS scenario definition or need to explain why generated scenario artifacts are missing or incompatible. The runtime DSL is smarts.sstudio.types (smarts.sstudio.sstypes is the implementation module) and the high-level entry point is smarts.sstudio.genscenario.gen_scenario(scenario, output_dir, seed=42).

Decide the boundary first

  • Use Scenario from smarts.sstudio.types for the authoring DSL. It combines map_spec, named traffic, ego_missions, social_agent_missions, bubbles, friction_maps, traffic_histories, and scenario_metadata.
  • Use the runtime smarts.core.scenario.Scenario only after generation, when SMARTS discovers a map and build/ assets. It is not the authoring dataclass.
  • Use scripts/validate_scenario_layout.py for a read-only layout check and scripts/generate_minimal_scenario.py for a bounded local fixture. Both take explicit paths and never start SUMO, TraCI, Envision, or a network download.
  • Route scl scenario build, scl scenario clean, SUMO/TraCI, Waymo/Argoverse conversion, and other system integrations to cli-integrations.
  • Route Gym/RLlib environment reset/step/close to simulation-environments. Route Envision replay and rendered sensors to sensors-visualization.

Read the linked references before authoring a nontrivial scenario:

  • API reference for live constructor signatures and the stable meaning of each DSL object.
  • Workflows for minimal generation, custom maps, social agents, histories, deterministic rebuilds, and discovery.
  • Data formats for source-vs-build layout and artifact ownership.
  • Maps and traffic for map engines, routes, flows, missions, bubbles, friction, and dataset boundaries.
  • Troubleshooting for actionable recovery.

Minimal authoring contract

  1. Create an application-owned scenario directory and put a scenario.py in it. Keep input maps and data paths explicit; do not depend on the current working directory.
  2. Select a map source: map.net.xml/another .net.xml for SUMO, map.xodr for OpenDRIVE, a Waymo .tfrecord source, an Argoverse map archive, or a MapSpec(source=..., builder_fn=...) for a custom RoadMap implementation.
  3. Define named traffic, missions, and optional social/bubble/history metadata. Use edge/lane/offset tuples only when the referenced roads and lanes exist.
  4. Call gen_scenario(..., output_dir=scenario_dir, seed=<integer>). Set the same seed for comparable generated output; seed random choices before the call as well when authoring code uses Python or NumPy randomness.
  5. Validate the source and then the generated build/ tree. Build assets are generated state, not source code; regenerate after changing the DSL or map.
  6. Before simulation, ensure the selected engine is compatible with the map and manually check that ego mission starts do not overlap traffic starts. Studio does not detect that collision-prone overlap for you.
Show full SKILL.md (204 more words)Show less

Fast recipe

python
from pathlib import Path
from smarts.sstudio import gen_scenario, types as t

root = Path("my_scenario").resolve()
car = t.TrafficActor(name="car")
scenario = t.Scenario(
    map_spec=t.MapSpec(source=str(root / "map.net.xml")),
    traffic={"background": t.Traffic(
        engine="SUMO",
        flows=[t.Flow(
            route=t.Route(begin=("edge_in", 0, "random"),
                          end=("edge_out", 0, "max")),
            rate=60, begin=0, end=60, actors={car: 1.0},
        )]
    )},
    ego_missions=[t.Mission(t.Route(
        begin=("edge_in", 1, 10), end=("edge_out", 1, "max")
    ))],
)
gen_scenario(scenario, root, seed=42)

SUMO traffic requires a SUMO road network and the SUMO Python/runtime integration; use engine="SMARTS" for supported non-SUMO road maps. The recipe is a shape example: replace edge ids with ids from the selected map and install optional dependencies before claiming a successful build.

Generated-artifact explanation

A successful generation normally creates build/build.db, a map artifact under build/map/, route files under build/traffic/, and optional files for missions, social agents, bubbles, friction, histories, and metadata. The exact set is determined by non-empty Scenario fields; see the data-format reference. smarts.core.scenario.Scenario.is_valid_scenario() checks that a map can be built, not that every optional artifact or traffic combination is semantically safe. Missing build/map/map.glb, stale build.db, or absent route files means regenerate/build rather than edit generated pickle/XML files manually.

Checks and handoff

Run the validator from any cwd:

bash
python /path/to/skills/disco/smarts/sub-skills/scenario-studio/scripts/validate_scenario_layout.py \
  --scenario /absolute/path/to/my_scenario --require-build

For a safe local fixture (OpenDRIVE is used only when the installed optional parser can load the supplied map), write to an explicit empty output directory:

bash
python /path/to/skills/disco/smarts/sub-skills/scenario-studio/scripts/generate_minimal_scenario.py \
  --map /absolute/path/to/map.net.xml --output /absolute/path/to/out --seed 42

The helper refuses to overwrite non-empty output unless --force is supplied, uses no external service, and exits nonzero with the failing path or import reason. Treat missing SUMO, Waymo, Argoverse, or dataset packages as explicit integration gaps, not as evidence that core Scenario Studio is broken.

© VectorSpaceLab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in skills/repositories/repo-skills/smarts/sub-skills/scenario-studio of VectorSpaceLab/AREX-Skill.

  • SKILL.md
  • references/api-reference.md
  • references/data-formats.md
  • references/maps-and-traffic.md
  • references/troubleshooting.md
  • references/workflows.md
  • scripts/generate_minimal_scenario.py
  • scripts/validate_scenario_layout.py

Open the folder on GitHubat commit ac3fe1a

Compare with similar skills

Scenario Studio next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scenario Studio compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Studio this skillVectorSpaceLab/AREX-Skill330—~1.5kAutomated safety check: PassMIT
Studioremotion-dev/remotion63k—~376Automated safety check: PassCustom licence
Node Inspect Debuggeropenclaw/openclaw392k1 repos~894Automated safety check: PassMIT
Studio Error Handlingsupabase/supabase111k—~1.3kAutomated safety check: PassApache-2.0
Studio Queriessupabase/supabase111k—~1.3kAutomated safety check: PassApache-2.0
Scenario Caption Studioscenario-labs/skills931—~3.2kAutomated safety check: PassMIT

Similar skills

  • Studio

    remotion-dev/remotion

    Official

    Start Remotion Studio from packages/example and open it in the Codex browser.

    63k GitHub stars~376 tokensUpdated today
    Media & CreativeAuto-check passed
  • Node Inspect Debugger

    openclaw/openclaw

    Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.

    392k GitHub starsUsed in 1 repo~894 tokens
    Frontend & DesignAuto-check passed
  • Studio Error Handling

    supabase/supabase

    Official

    Error display and troubleshooting pattern for Supabase Studio.

    111k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Studio Queries

    supabase/supabase

    Official

    React Query conventions for data fetching in Supabase Studio.

    111k GitHub stars~1.3k tokensUpdated today
    Backend & APIsAuto-check passed
  • Scenario Caption Studio

    scenario-labs/skills

    A skill your agent uses when a video needs its spoken words on screen through Scenario via MCP: burned-in styled captions for a TikTok, Reels, or Shorts cut, ad captions for sound-off feeds, YouTube…

    931 GitHub stars~3.2k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Studio Testing

    supabase/supabase

    Official

    Testing strategy for Supabase Studio. An agent skill from supabase/supabase.

    111k GitHub stars~2.2k tokensUpdated today
    Testing & QAAuto-check passed

More from VectorSpaceLab/AREX-Skill

All 159 skills in this repo
  • Agent Lightning

    VectorSpaceLab/AREX-Skill

    Use this repo skill for Agent Lightning package tasks: authoring trainable agents, tracing rewards and spans, running LightningStore/Trainer loops, using agl CLI services, choosing examples, and…

    330 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Agent Tools

    VectorSpaceLab/AREX-Skill

    A skill your agent uses when configuring LiteLLM for MCP tools, A2A agents, Claude Code/Cursor agent gateway traffic, MCP auth/OAuth, tool permissions, semantic filtering, or agent-specific proxy…

    330 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents And Awel

    VectorSpaceLab/AREX-Skill

    Build and debug DB-GPT agents, tools, skills, teams, and AWEL workflows, including deterministic local DAG runs and HTTP-trigger topology without assuming an LLM, credential, or external service.

    330 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents And Middleware

    VectorSpaceLab/AREX-Skill

    Work on the actively maintained LangChain v1 agent package: initchatmodel, createagent, structured output, tools, middleware, embeddings initialization, provider routing, and agent runtime…

    330 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Agents Workflows

    VectorSpaceLab/AREX-Skill

    A skill your agent uses for giskard.agents async chat workflows, tools, prompt templates, structured outputs, retries, rate limiting, embeddings, and optional LiteLLM backend.

    330 GitHub stars~500 tokensUpdated 1 mo ago
    Auto-check passed
  • Alphafold3

    VectorSpaceLab/AREX-Skill

    A skill your agent uses for AlphaFold 3 input preparation, prediction command planning, output interpretation, and Python API inspection.

    330 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Scenario Studio

What does Scenario Studio do?

Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata. Scenario Studio is an agent skill from VectorSpaceLab/AREX-Skill. Define, generate, inspect, and troubleshoot SMARTS scenarios from supported maps, traffic, missions, social agents, bubbles, surface patches, traffic histories, and metadata.

How do I install Scenario Studio in Claude Code?

Run `npx skills add VectorSpaceLab/AREX-Skill --skill scenario-studio -a claude-code`. Or copy the skill folder (skills/repositories/repo-skills/smarts/sub-skills/scenario-studio in VectorSpaceLab/AREX-Skill) into .claude/skills/scenario-studio in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Studio in Codex?

Run `npx skills add VectorSpaceLab/AREX-Skill --skill scenario-studio -a codex`. Or copy the skill folder (skills/repositories/repo-skills/smarts/sub-skills/scenario-studio in VectorSpaceLab/AREX-Skill) into .agents/skills/scenario-studio in your project. Codex loads it when a task matches its description.

Can I use Scenario Studio in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VectorSpaceLab/AREX-Skill --skill scenario-studio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-studio, .gemini/skills/scenario-studio, .github/skills/scenario-studio and .opencode/skills/scenario-studio in your project.

What does Scenario Studio need to run?

Going by SKILL.md and its folder, Scenario Studio needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Scenario Studio access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Scenario Studio safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scenario Studio use?

Scenario Studio is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Studio use?

About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.3k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Studio?

Skills that share tags, products or a category with Scenario Studio: Studio (remotion-dev/remotion, 63k stars), Node Inspect Debugger (openclaw/openclaw, 392k stars), Studio Error Handling (supabase/supabase, 111k stars) and Studio Queries (supabase/supabase, 111k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Studio?

VectorSpaceLab (a GitHub organization) maintains it in VectorSpaceLab/AREX-Skill, which has 330 GitHub stars. The repository holds 159 skills in this directory. The repository was last updated on September 3, 2026.

Source: VectorSpaceLab/AREX-Skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.