commit-and-pr
Creates Arena-conformant commits and pull requests. Enforces DCO sign-off (git commit -s), no AI attribution lines (no…
Create or modify Isaac Lab-Arena environments, scenes, tasks, completion predicates, placement constraints, and environment variations by composing existing features. Use for environment authoring and feature discovery; use run-experiment to execute an existing evaluation.
$ npx -y skills add isaac-sim/isaaclab-arena --skill author-environment --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/author-environmentContext preview
The summary Claude sees to decide when to auto-load this skill.
Create or modify Isaac Lab-Arena environments, scenes, tasks, completion predicates, placement constraints, and environment variations by composing existing features. Use for environment authoring and feature discovery; use run-experiment to execute an existing evaluation.
name: author-environment description: Create or modify Isaac Lab-Arena environments, scenes, tasks, completion predicates, placement constraints, and environment variations by composing existing features. Use for environment authoring and feature discovery; use run-experiment to execute an existing evaluation.
Produce the smallest environment definition that expresses the request and follows a maintained Arena example. Prefer configuration, then composition, then a small extension for a demonstrated gap.
Use `rg --files` to find relevant concepts under `docs/pages/concepts/`, examples under `isaaclab_arena_environments/` and `isaaclab_arena_examples/`, and implementations in `isaaclab_arena/` or the relevant first-party extension. Inspect the checked-out source when docs and examples differ; Arena's APIs are evolving.
Use any relevant Arena feature, including untagged classes and Python APIs outside registries. `@agent_ready` filters the built-in environment generator's prompt catalogues; it does not restrict coding agents. The references below are starting points, not an exhaustive feature inventory. Inspect the [registries](../../../isaaclab_arena/assets/registries.py) for registered components. Load registries only in the supported runtime after SimulationApp startup; imports can require USD.
Identify reusable components for each requirement before implementing. Check constructors and their inheritance chains before adding capabilities. If reuse cannot express a requirement, name the missing capability and add the smallest extension. Do not duplicate solvers, predicates, temporal counters, reset loops, progress tracking, or variation systems that Arena already provides.
Read only the references relevant to the requested behavior:
[maintained Maple-table factory](../../../isaaclab_arena_environments/pick_and_place_maple_table_environment.py) and [factory contract](../../../isaaclab_arena/environments/arena_environment_factory.py). Reuse [builder configuration](../../../isaaclab_arena/environments/arena_env_builder_cfg.py) for existing build and reset controls; keep environment configuration focused on the scene and task. For graph YAML, inspect the [schema](../../../isaaclab_arena/environment_spec/arena_env_graph_types.py) and [task conversion](../../../isaaclab_arena/environment_spec/arena_env_graph_task_conversion_utils.py) alongside `isaaclab_arena_environments/robolab/` examples. Choose Python when the graph cannot express the required semantics; a field parsing successfully does not prove it is consumed.
[relations](../../../docs/pages/concepts/object_placement/relations.rst), [placement pools](../../../docs/pages/concepts/object_placement/pooled_placement.rst), and [validation workflow](../../../docs/pages/concepts/object_placement/validation.rst). Check asset identity, collision handling, reachability, physical support, and reset requirements.
and [predicates and progress](../../../docs/pages/concepts/task/concept_progress_tracking_design.rst) for ordered milestones, current final conditions, simultaneous truth, temporal holds, and reporting. Reuse existing tasks and preserve their sensors and failure conditions.
and inspect asset constructors, including [object base classes](../../../isaaclab_arena/assets/object_base.py), for existing attachments before adding one. Verify names, units, and sampling timing against the relevant implementation in `isaaclab_arena/variations/`.
and [variation example](../../../isaaclab_arena_environments/experiment_configs/droid_pnp_variations_experiment.yaml). Check effective defaults across every supplied Run and constraints in the [Run configuration](../../../isaaclab_arena/evaluation/arena_run.py). Keep variations opt-in and cameras optional unless requested. Keep execution settings separate from task semantics.
Use [dev-container](../dev-container/SKILL.md) for the clone's runtime and host-user execution, [setup-arena](../../user/setup-arena/SKILL.md) for requested runtime preparation, and [run-tests](../run-tests/SKILL.md) for pytest. Run lint and source inspection on the host. If no runtime is ready, complete static review and report the limit; do not install dependencies or claim runtime success. Authoring alone does not require policy rollouts or policy servers.
Check Python/YAML syntax, referenced constructors, registration, schema conversion, defaults, and feature reuse without importing Arena on the host. In a ready runtime, build and reset the environment, then use bounded direct steps for inspection. Use existing focused tests to check changed success logic, temporal interruptions, and reset isolation across parallel environments. Parsing or passive stepping alone does not establish task solvability.
For variation inspection, use the `--list_variations` path through [run-experiment](../../user/run-experiment/SKILL.md). Check the [Environment Runner](../../../isaaclab_arena/scripts/environment_runner.py) requirements before using it for interactive inspection; do not assume it supports headless validation.
Finish with the reference example, reused features, any extension rationale, definition/configuration paths, checks actually run, and remaining simulation validation. Keep this in the handoff; no extra design document is required.
Isaac Lab - Arena is a robotics simulation framework that enhances NVIDIA Isaac Lab by providing a composable, scalable system for creating diverse simulation environments and evaluating robot learning policies. The framework enables developers to rapidly prototype and test robotic tasks with various robot embodiments, objects, and environments.
Creates Arena-conformant commits and pull requests. Enforces DCO sign-off (git commit -s), no AI attribution lines (no…
Bootstraps and maintains the Docker environment used when contributing to Isaac Lab-Arena. Use when preparing a checkout for…
Downloads Isaac Lab-Arena OSMO workflow output (evaluation results, videos, HDF5 demos) to a local folder with `osmo data…
Runs the Isaac Lab-Arena pytest suite across its three required phases (no-cameras, with-cameras, with-subprocess) inside the…
Runs existing Isaac Lab-Arena Experiment Definitions locally with experiment_runner.py in a ready native or Docker runtime,…
Starts, reuses, verifies, and explicitly stops the local GR00T inference server used by Isaac Lab-Arena…