Reproduce Chat States
different-ai/openwork
Fires known chat states in the running OpenWork desktop app, such as provider errors, retries and tool steps, so you can check how each renders.
Onboard a new robot platform to COMPASS: generate robot ArticulationCfg + per-embodiment envcfg, register in EmbodimentEnvCfgMap, smoke-test the spawn with --numenvs 1.
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NVlabs/COMPASS compass-newembodiment --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/compass-newembodiment .claude/skills/compass-newembodiment && rm -rf skills-srcUse ~/.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/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .claude/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodimentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NVlabs/COMPASS compass-newembodiment --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/compass-newembodiment .agents/skills/compass-newembodiment && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .agents/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NVlabs/COMPASS compass-newembodiment --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/compass-newembodiment .cursor/skills/compass-newembodiment && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .cursor/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NVlabs/COMPASS.git --path .claude/skills/compass-newembodiment--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NVlabs/COMPASS compass-newembodiment --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/compass-newembodiment .gemini/skills/compass-newembodiment && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .gemini/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NVlabs/COMPASS compass-newembodimentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/compass-newembodiment .github/skills/compass-newembodiment && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .github/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NVlabs/COMPASS --skill compass-newembodiment -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NVlabs/COMPASS compass-newembodiment --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVlabs/COMPASS.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/compass-newembodiment .opencode/skills/compass-newembodiment && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "compass-newembodiment" agent skill from https://github.com/NVlabs/COMPASS/tree/main/.claude/skills/compass-newembodiment into .opencode/skills/compass-newembodiment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compass-newembodiment", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
compass-newembodimentOnboard a new robot platform to COMPASS: generate robot ArticulationCfg + per-embodiment envcfg, register in EmbodimentEnvCfgMap, smoke-test the spawn with --numenvs 1.
Compass Newembodiment is an agent skill from NVlabs/COMPASS. Onboard a new robot platform to COMPASS: generate robot ArticulationCfg + per-embodiment envcfg, register in EmbodimentEnvCfgMap, smoke-test the spawn with --numenvs 1. Use whenever the user wants to add a new robot, register an embodiment, or extend COMPASS with their platform. NOT for switching between built-in embodiments (use --embodiment) or for adding a new scene (the compass skill covers SAGE → register).
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering QA and bug reports. The repository describes itself as: Cross-embOdiment Mobility Policy via ResiduAl RL and Skill Synthesis. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8060f7c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadEditWriteGrepGlobAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Compass Newembodiment loads about 2k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 923 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Edit, Write, Grep, Glob, AskUserQuestionAutomated 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); files beside SKILL.md are not scanned.
The full file from NVlabs/COMPASS at commit 8060f7c, republished under its Apache-2.0 licence (© NVlabs). 923 words, ~2,037 tokens.
.claude/skills/compass-newembodiment/SKILL.md (or your agent's skills folder).You walk a user through onboarding a new robot platform to COMPASS — generating the right config files, registering the embodiment, and verifying the robot spawns correctly. The handbook's extending.md is the canonical written guide; this skill is the operational sibling that does the work interactively.
This skill assumes the docker-as-venv environment from the compass skill — source ./docker/activate already done, container up. If the user hasn't set that up, recommend /compass first.
--embodiment <name> on run.py. No code change needed./compass (Register Scene)./compass-doctor first to surface the actual error.A user prompt like "add a new robot called Galileo at /workspace/galileo.usd, similar to Spot" already contains three of the four fields the skill needs. Extract them first; only ask about what's missing or genuinely ambiguous. Don't re-ask for things the user already said — that's the dialogue-bot trap.
The four fields:
galileo; used in CLI flags and config keys).AskUserQuestion)If any of the three required fields are missing or ambiguous, ask in one batch. Sample question structure:
| Field | Question | Options |
|---|---|---|
| Robot name | "What's the robot's identifier?" | free text (default: lowercase the user's name) |
| USD path | "Where's the robot's USD file?" | free text (suggest checking ./assets/usd/ first) |
| Base-class | "Which existing robot's pattern is the best fit?" | wheeled (carter), quadruped (spot), humanoid (h1, g1, digit) |
For the base-class question, surface the trade-off in the option descriptions:
carter.spot.h1 (or g1/digit for smaller form factors).Before generating anything, read the two files that match the user's base-class choice:
| Base class | Robot block | Env cfg file |
|---|---|---|
| wheeled | carter block in compass/rl_env/exts/mobility_es/mobility_es/config/robots.py | compass/rl_env/exts/mobility_es/mobility_es/config/carter_env_cfg.py |
| quadruped | spot block in same robots.py | compass/rl_env/exts/mobility_es/mobility_es/config/spot_env_cfg.py |
| humanoid | h1 block in same robots.py | compass/rl_env/exts/mobility_es/mobility_es/config/h1_env_cfg.py |
Read both top-to-bottom. Don't skim — joint names, action term wiring, and reward shaping all come from this file. Confirming the reference exists before writing keeps you from generating content based on outdated assumptions.
Generate a preview of what will be created or modified:
compass/rl_env/exts/mobility_es/mobility_es/config/robots.py. Mirror the matching reference, swap robot name + USD path + joint config.compass/rl_env/exts/mobility_es/mobility_es/config/<robot_name>_env_cfg.py. Mirror the matching reference; swap class name (e.g., <RobotName>GoalReachingEnvCfg), scene.robot to point at the new ArticulationCfg, action term to whatever joint controller fits.run.py:from mobility_es.config.<robot_name>_env_cfg import <RobotName>GoalReachingEnvCfg.EmbodimentEnvCfgMap: '<robot_name>': <RobotName>GoalReachingEnvCfg, (around line 116–122).<robot_name> to be the default embodiment, edit configs/shared.gin's embodiment field. By default, leave existing default in place and let the user pass --embodiment <robot_name> on the CLI.Show the user each preview block (or unified diff). Ask for confirmation before writing.
Anti-pattern guard: never silently write multi-file scaffolding. Robot onboarding is high-blast-radius — wrong joint counts or an inverted action sign can cause the robot to flail into the floor in simulation. The diff-then-confirm gate is non-negotiable.
After confirmation, write the files and edit run.py. Use the Edit tool for run.py (one Edit per insertion: import + map row). Use Write for the new env_cfg.py. For robots.py, use Edit to append the new ArticulationCfg block at the end (read the file first to find the right insertion point — the last existing config).
Verify the robot spawns by running training with --num_envs 1 and without --headless so the user can see the robot appear:
python run.py \
-c configs/train_config.gin \
--enable_cameras \
-o /tmp/<robot_name>_smoke \
-b ./assets/x_mobility.ckpt \
--logger tensorboard \
--embodiment <robot_name> \
--environment warehouse_single_rack \
--num_envs 1Use run_in_background: true. Tell the user to watch the GUI:
If the robot misbehaves, route to /compass-doctor for a deeper diagnostic. Common first-onboarding issues:
init_state.pos[2].Once smoke test passes, suggest the user add their robot to docs/handbook/extending.md (under "Built-in embodiments" or as a new subsection). This is optional — many users keep their custom embodiment private. Don't push the doc change if the user is in a hurry; just flag it for later.
| File | What changes |
|---|---|
compass/rl_env/exts/mobility_es/mobility_es/config/robots.py | Append new ArticulationCfg block |
compass/rl_env/exts/mobility_es/mobility_es/config/<robot_name>_env_cfg.py | New file (mirror matching base-class reference) |
run.py | Add import; add EmbodimentEnvCfgMap row (~L116–122) |
configs/shared.gin | Optional default override; usually leave alone |
docs/handbook/extending.md | Optional doc update (suggest, don't enforce) |
carter block at robots.py:23 and carter_env_cfg.py.spot block at robots.py:275 and spot_env_cfg.py.h1 block at robots.py:72 and h1_env_cfg.py.For canonical written guidance (joint config, controller selection, reward shaping), the handbook's extending.md covers depth this skill won't replicate.
© NVlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/compass-newembodiment of NVlabs/COMPASS.
Open the folder on GitHubat commit 8060f7c
Compass Newembodiment 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Compass Newembodiment this skillNVlabs/COMPASS | 145 | — | ~2k | Automated safety check: Notes | Apache-2.0 | |
| Reproduce Chat Statesdifferent-ai/openwork | 24k | — | ~673 | Automated safety check: Pass | Custom licence | |
| Dynamo Jira TicketDynamoDS/Dynamo | 2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Moav E2EMotherofallVPNs/MoaV | 448 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Creating A Coral TaskHuman-Agent-Society/CORAL | 1.1k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Launch Rlmarin-community/marin | 3.9k | — | ~894 | Automated safety check: Pass | Apache-2.0 |
different-ai/openwork
Fires known chat states in the running OpenWork desktop app, such as provider errors, retries and tool steps, so you can check how each renders.
DynamoDS/Dynamo
Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.
MotherofallVPNs/MoaV
Run and debug MoaV's end-to-end tests — real protocol connectivity (client-test.sh) and the moav CLI smoke test — against a LIVE server, via the self-hosted e2e workflow or a local test VPS.
Human-Agent-Society/CORAL
Author a new CORAL task — the three pieces that must line up (task.yaml, seed/, a packaged grader/), the coral init → coral validate → smoke-test loop, and how to pick a grader pattern (stdout…
marin-community/marin
Define, validate, submit, or restart a Marin SkyRL experiment through its artifact main.
actionbook/actionbook
Run browser-based web tests against websites using Actionbook CLI.
NVlabs/COMPASS
Front-door for COMPASS — training, evaluation, SAGE scene workflows (search / USD conversion / scene registration), and OSMO cloud submission.
NVlabs/COMPASS
Diagnose why COMPASS isn't working: container, GPU, activated shell, assets, Isaac Sim init, checkpoint validity.
Categories
Onboard a new robot platform to COMPASS: generate robot ArticulationCfg + per-embodiment envcfg, register in EmbodimentEnvCfgMap, smoke-test the spawn with --numenvs 1. Compass Newembodiment is an agent skill from NVlabs/COMPASS. Onboard a new robot platform to COMPASS: generate robot ArticulationCfg + per-embodiment envcfg, register in EmbodimentEnvCfgMap, smoke-test the spawn with --numenvs 1.
Compass Newembodiment fits situations like: the user wants to add a new robot; register an embodiment; extend COMPASS with their platform.
Run `npx skills add NVlabs/COMPASS --skill compass-newembodiment -a claude-code`. Or copy the skill folder (.claude/skills/compass-newembodiment in NVlabs/COMPASS) into .claude/skills/compass-newembodiment in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NVlabs/COMPASS --skill compass-newembodiment -a codex`. Or copy the skill folder (.claude/skills/compass-newembodiment in NVlabs/COMPASS) into .agents/skills/compass-newembodiment in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVlabs/COMPASS --skill compass-newembodiment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compass-newembodiment, .gemini/skills/compass-newembodiment, .github/skills/compass-newembodiment and .opencode/skills/compass-newembodiment in your project.
Going by SKILL.md and its folder, Compass Newembodiment needs the command-line tools its instructions call (python). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: Bash, Read, Edit, Write, Grep, Glob, AskUserQuestion.
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.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Compass Newembodiment is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Compass Newembodiment: Reproduce Chat States (different-ai/openwork, 24k stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars), Moav E2E (MotherofallVPNs/MoaV, 448 stars) and Creating A Coral Task (Human-Agent-Society/CORAL, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NVlabs (a GitHub organization) maintains it in NVlabs/COMPASS, which has 145 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 8, 2026.
Source: NVlabs/COMPASS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.