author-environment
Create or modify Isaac Lab-Arena environments, scenes, tasks, completion predicates, placement constraints, and environment…
Starts, reuses, verifies, and explicitly stops the local GR00T inference server used by Isaac Lab-Arena Gr00tRemoteClosedloopPolicy experiments. Use when serving the maintained N1.6-DROID policy locally, selecting a GR00T port or model, checking server readiness, handling a
$ npx -y skills add isaac-sim/isaaclab-arena --skill serve-gr00t-policy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/serve-gr00t-policyContext preview
The summary Claude sees to decide when to auto-load this skill.
Starts, reuses, verifies, and explicitly stops the local GR00T inference server used by Isaac Lab-Arena Gr00tRemoteClosedloopPolicy experiments. Use when serving the maintained N1.6-DROID policy locally, selecting a GR00T port or model, checking server readiness, handling a
name: serve-gr00t-policy description: Starts, reuses, verifies, and explicitly stops the local GR00T inference server used by Isaac Lab-Arena Gr00tRemoteClosedloopPolicy experiments. Use when serving the maintained N1.6-DROID policy locally, selecting a GR00T port or model, checking server readiness, handling a GR00T endpoint conflict, or when run-experiment discovers a local GR00T policy dependency. Do not use for running Experiment Definitions, OSMO submission, training, replay-policy serving, other policy providers, or general Arena setup. allowed-tools: Read Grep Glob Skill Bash(git rev-parse --show-toplevel) Bash(git submodule status *) Bash(git submodule update --init submodules/Isaac-GR00T) Bash(test -d *) Bash(test -f *) Bash(uv --version) Bash(nvidia-smi *) Bash(ps -eo pid=,args=) Bash(ss -ltnp *) Bash(uv run python gr00t/eval/run_gr00t_server.py *) Bash(uv run python */isaaclab_arena_gr00t/utils/wait_for_gr00t_server.py *)
Start one local, model-backed GR00T inference server and finish with a verified endpoint for an Arena `Gr00tRemoteClosedloopPolicy` client. Keep Experiment execution, artifacts, training, OSMO, and other policy providers outside this skill.
Before acting, read:
hardware notes, checkpoint, embodiment, and endpoint.
Treat the current checkout as the source of truth. The maintained documentation currently launches from `submodules/Isaac-GR00T`, but explicitly marks that location as transitional. If the docs name a separate GR00T checkout after the refactor, follow them rather than recreating the removed submodule. Report any mismatch between this skill, the docs, and the server script.
1. Confirm the Arena repository root and locate the GR00T checkout named by the current docs. 2. Resolve the host and port from the request or the Experiment policy. Start a server only for a loopback client host such as `127.0.0.1` or `localhost`. Treat another host as an external dependency and return control to `run-experiment`. 3. Identify GR00T from the resolved policy type `isaaclab_arena_gr00t.policy.gr00t_remote_closedloop_policy.Gr00tRemoteClosedloopPolicy` or its registered name `gr00t_remote_closedloop`, not from the Experiment filename. 4. Read the referenced client policy configuration for its embodiment tag. Use the model and embodiment pairing declared by the maintained GR00T quickstart only when they match that documented workflow. It currently maps `OXE_DROID` to `nvidia/GR00T-N1.6-DROID` on port `5555`. 5. For any other embodiment, require an explicit model or checkpoint path and embodiment tag. The Experiment client configuration does not declare the server checkpoint, so never infer one from a Run name, environment, task, or embodiment alone. 6. If multiple Runs require incompatible embodiments or explicitly selected models on one port, stop and ask the user to assign separate endpoints or choose one server contract.
Support model-backed inference only. Do not use this skill for fine-tuning, dataset replay, or adding `--use-sim-policy-wrapper`; Arena performs its own observation and action translation. Do not derive the server device from the client-side `policy_device` field.
Confirm that the documented GR00T checkout is populated, `uv` and a compatible NVIDIA GPU are available, and the selected port is not owned by an incompatible process. When the current docs still require the GR00T submodule and it is missing, disclose the documented submodule update and obtain confirmation before changing submodule state.
Inspect local server candidates without assuming a process ID:
ps -eo pid=,args= ss -ltnp
For a candidate on the selected port, require both:
host, and port.
timeouts. A TCP listener or startup banner alone is insufficient.
The GR00T protocol does not expose model identity. If the process command cannot prove the model and embodiment, report that compatibility is unknown rather than reusing it. If an incompatible or unidentified process owns the selected port, do not stop it or silently choose another port; ask the user whether to select a different port or explicitly stop the known owner.
The current GR00T checkout creates a separate Python 3.10 uv environment and the first model-backed launch downloads the selected checkpoint. The maintained Arena docs do not promise time or storage estimates. If the dependency environment or checkpoint cache cannot be proven ready, disclose both operations and obtain confirmation before starting them. Also warn when the GR00T server and Isaac Sim will contend for the same GPU.
Do not install or change system Python, CUDA, GPU drivers, or `uv`; clear caches; upgrade the GR00T checkout; or substitute a different model through this skill. Follow the current hardware guidance, including its separate Blackwell requirements.
Start the documented command from the GR00T checkout in a retained terminal session that runs asynchronously from this workflow. Keep the server in the foreground of that session, record the returned session or task handle, and pass every resolved value explicitly. The current maintained DROID command is:
uv run python gr00t/eval/run_gr00t_server.py \ --model-path nvidia/GR00T-N1.6-DROID \ --embodiment-tag OXE_DROID \ --device cuda --host 127.0.0.1 --port 5555
Re
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.
Create or modify Isaac Lab-Arena environments, scenes, tasks, completion predicates, placement constraints, and environment…
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,…