run-scenic-scenario

Runs Scenic probabilistic scenarios against a CARLA server with bounded, verified simulations.

3|Updated Jul 20, 2026
One-click install
npx skills add https://github.com/carla-simulator/carla-agentic-tools --skill run-scenic-scenario-carla-simulator
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: run-scenic-scenario
Source: https://github.com/carla-simulator/carla-agentic-tools/tree/main/skills/scenic/run-scenic-scenario
Command: npx skills add https://github.com/carla-simulator/carla-agentic-tools --skill run-scenic-scenario-carla-simulator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires scenic, carla, shapely, trimesh, scipy, numpy, pygame, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running Scenic scenarios against CARLA fails in confusing ways because sampling and simulation are separate phases, and errors like empty blueprint categories, unsatisfiable map filters, or client/server version mismatches all surface as opaque runtime failures. This Skill separates the phases, diagnoses each failure class, and guarantees bounded runs that restore world state afterwards. ## Core Features & Use Cases - Headless pre-flight sampling: Compile and sample .scenic files without a simulator to distinguish syntax problems from map problems before spending time on a full simulation. - Bounded, verified execution: Run scenarios with --simulate --2d plus count/time bounds, then confirm a simulation actually terminated rather than trusting the exit code. - Environment diagnostics: Check that Scenic and the CARLA client live in one interpreter, that blueprint tables match the client version, and that the server is reachable. - Use Case: A user reports that carlaChallenge10 rejects every sample. The Skill inventories each map's road features, shows the scenario needs an unsignalized four-way intersection the current map lacks, and retargets it to a suitable map with --param overrides. ## Quick Start Ask the agent to run the Scenic scenario carlaChallenge1 against the running CARLA server as a smoke test of the setup.

Frequently Asked Questions about run-scenic-scenario

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a Scenic scenario against CARLA?▼

Run scenic FILE --simulate --2d with explicit --count and --time bounds, since both default to infinity and an unbounded run never returns. The run_scenic.sh wrapper adds scenario resolution, logging, termination verification, and async world-state restoration.

Why does my Scenic scenario fail with 'discrete distribution over empty domain'?▼

This error means a filter over road features matched nothing on the current map, so it is a map problem, not a syntax or server problem. Use list_scenic.py --check-maps to see each map's intersection features and retarget the scenario with --param overrides.

Does Scenic require the CARLA client and server versions to match?▼

Yes, exactly. Scenic keys its blueprint tables off the client version, so a mismatched client silently offers blueprint ids the server does not have, causing spawn failures. The check_env.sh script verifies the client/server version match.

Why do other CARLA clients freeze after a Scenic run?▼

Scenic switches the world to synchronous mode during a run, and an interrupted run leaves it synchronous with nobody ticking, so every other client appears frozen. The run wrapper restores async mode via an exit trap, or you can reset world settings manually.

How can I test a .scenic file without starting the simulator?▼

Use sample_scenic.py, which compiles and samples scenarios headlessly in about a second per file. It reports COMPILE-FAIL for syntax or import problems, SAMPLE-FAIL for unsatisfiable requirements, and PASS when only runtime issues remain.

Why does Scenic report no blueprints recorded for my CARLA version?▼

Scenic's blueprint table may have empty categories for your client version even when the build contains those assets. Name a concrete blueprint id with 'with blueprint "..."' instead of relying on the category, and check_env.sh lists which categories are empty.