Agent skill

Add Robot

by AgibotTech in AgibotTech/genie_sim

Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in geniesimrobotmodel, prep meshes with the offline tools (normalizeobjnames.py, diagnoseurdf.py, recomputeinertia.py…

MPL-2.0Auto-check passed

Install Add Robot

skills CLI
$ npx skills add AgibotTech/genie_sim --skill add-robot -a claude-code

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

GitHub CLI
$ gh skill install AgibotTech/genie_sim add-robot --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/AgibotTech/genie_sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/source/geniesim_ros/skills/add-robot .claude/skills/add-robot && 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
add-robot
GitHub stars
1.4k
Token cost
~2.1k tokens
SKILL.md length
553 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
MPL-2.0

At a glance

Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in geniesimrobotmodel, prep meshes with the offline tools (normalizeobjnames.py, diagnoseurdf.py, recomputeinertia.py…

  • Works in 6 steps: Stage the URDF / xacro → Diagnose → Prep meshes → …
  • Asks to add a new robot
  • SKILL.md covers When to Use, Critical Patterns, Workflow and Commands (copy-paste summary…, plus 2 more sections
  • Calls python

What it does

Add Robot is an agent skill from AgibotTech/genie_sim. Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in geniesimrobotmodel, prep meshes with the offline tools (normalizeobjnames.py, diagnoseurdf.py, recomputeinertia.py, fixdaeunits.py, copydaematerial.py), stage assets into the AS3 layout (robot.usda + payloads/Physics/{physics,physx,mujoco}.usda) that the engine consumes, and wire the result into a scene.yaml. Trigger: When the user asks to "add a new robot", "import a robot", "support <vendor in geniesim", names a URDF / xacro not…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Simulation Platform from AgiBot. The licence is MPL-2.0.

When your agent uses it

  • Asks to add a new robot
  • Support <vendor in geniesim
  • Names a URDF / xacro not currently in geniesimrobotmodel/urdf/
  • Wants to convert a third-party mesh pack into AS3-ready USD

Example prompts

  • “add a new robot”
  • “import a robot”
  • “support <vendor in geniesim”
  • “/add-robot”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Stage the URDF / xacro
  2. Diagnose
  3. Prep meshes
  4. Confirm the URDF imports
  5. Wire into a scene yaml
  6. Launch via launch-scene

What it can do on your machine

Read from SKILL.md and the folder at commit 6ca11c7. 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

    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

Add Robot loads about 2.1k tokens when it runs. Until then it costs about 167 tokens; SKILL.md has 553 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~167
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgibotTech/genie_sim at commit 6ca11c7, republished under its MPL-2.0 licence (© AgibotTech). 553 words, ~2,143 tokens.

Download SKILL.mdSave it as .claude/skills/add-robot/SKILL.md (or your agent's skills folder).
name
add-robot
description
Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in `genie_sim_robot_model`, prep meshes with the offline tools (`normalize_obj_names.py`, `diagnose_urdf.py`, `recompute_inertia.py`, `fix_dae_units.py`, `copy_dae_material.py`), stage assets into the AS3 layout (`robot.usda` + `payloads/Physics/{physics,physx,mujoco}.usda`) that the engine consumes, and wire the result into a `scene_*.yaml`. Trigger: When the user asks to "add a new robot", "import a robot", "support <vendor> in geniesim", names a URDF / xacro not currently in `genie_sim_robot_model/urdf/`, or wants to convert a third-party mesh pack into AS3-ready USD.
license
MPL-2.0
metadata.author
genie-sim
metadata.version
1.0
prerequisites
geniesim_ros:build-workspace

When to Use

  • User wants to run an off-tree robot on the RT Engine.
  • User has a URDF / xacro that fails to import (missing inertia, unit mismatch, DAE materials lost, OBJ names colliding) and needs the offline mesh-prep tools.
  • User wants to add the new robot to a scene_*.yaml and launch it via the launch-scene skill.

Do not use for:

  • Tweaking an existing Genie G2 variant → just edit the relevant URDF / xacro and rebuild via build-workspace.
  • Authoring a MoveIt config for the new robot → that's a separate, larger job (port SRDF + coupled_constraints.yaml).
  • Adding a benchmark task that uses the new robot → run-benchmark in geniesim_benchmark/skills/.

Critical Patterns

  1. Tier 1 only validates Genie G2. Reference robots (Franka, UR5, Aloha, ARX, Agilex) have correct URDFs and import cleanly, but scene yamls and physics tuning may be stale. Treat them as starting points, not certified configs.
  2. AS3 layout is mandatory. The engine expects the per-robot directory robot.usda + payloads/Physics/{physics,physx,mujoco}.usda regardless of which backend is active — switching physics never rewrites the asset.
  3. Fix the URDF before importing. diagnose_urdf.py catches missing inertia, zero-mass links, collision/visual mismatches, and bad OBJ name collisions — every one of these breaks the URDF→USD importer downstream.
  4. Mesh names must be unique. USD's flat namespace will silently merge two meshes that share an OBJ name. normalize_obj_names.py rewrites names to be prefix-unique.
  5. Mimic joints handled at runtime. Don't model gripper mimics inside the URDF — the engine bridges them via the controller layer (see 86308f040 in git history). URDF stays plain.
  6. Robots live in genie_sim_robot_model, not in geniesim_assets. Meshes can move to geniesim_assets once stabilised, but URDFs + xacros stay in the ROS package.

Workflow

Step 1 — Stage the URDF / xacro

Drop the file under source/geniesim_ros/src/ros_ws/src/genie_sim_robot_model/urdf/ next to the reference robots. Name follows the convention <vendor>_<model>[_<gripper>].urdf.

bash
ls source/geniesim_ros/src/ros_ws/src/genie_sim_robot_model/urdf/
# e.g. franka_fr3.urdf, ur5_robotiq_140.urdf, your_robot.urdf
Step 2 — Diagnose
bash
cd source/geniesim_ros/src/ros_ws/src/genie_sim_robot_model
python scripts/diagnose_urdf.py urdf/<your_robot>.urdf

Look for: missing <inertial>, zero mass, visual/collision link mismatches, mesh path resolution failures.

Step 3 — Prep meshes

For each issue the diagnose tool flagged:

bash
# OBJ name collisions:
python scripts/normalize_obj_names.py path/to/meshes/

# DAE units off (mm vs m):
python scripts/fix_dae_units.py path/to/meshes/<file>.dae

# DAE materials missing after a re-export:
python scripts/copy_dae_material.py source.dae target.dae

# Missing or wrong inertials (uniform-density approximation):
python scripts/recompute_inertia.py urdf/<your_robot>.urdf
Show full SKILL.md (231 more words)Show less
Step 4 — Confirm the URDF imports

Re-run diagnose_urdf.py until it's clean, then build the workspace (build-workspace skill) and let the engine's URDF→USD importer stage the AS3 layout on first run. The importer writes:

assets/scenes/<scene>/
├── manifest.json
├── scene.usda
└── robot/
    ├── robot.usda
    └── payloads/
        └── Physics/
            ├── physics.usda
            ├── physx.usda
            └── mujoco.usda

manifest.json presence = cache hit. To force a regenerate:

bash
rm -rf assets/scenes/<scene>/
# or pass:
ros2 launch genie_sim_bringup app.launch.py … always_regenerate_robot_usd:=true
Step 5 — Wire into a scene yaml

Create genie_sim_bringup/config/scene_flat_<your_robot>.yaml modelled on one of the reference scenes (e.g. scene_flat_fr3.yaml). Required keys:

yaml
robot:
  urdf: <your_robot>.urdf            # filename, resolved against genie_sim_robot_model/urdf/
  init_base_pose:                    # non-physics teleport at spawn
    x: 0.0
    y: 0.0
    z: 0.0
    theta: 0.0
  init_joint_pos:                    # optional, per-joint dict
    joint_name: <value>

viewer_camera:                       # Newton GL viewer default cam
  pos: [1.6, -1.6, 1.2]
  lookat: [0.0, 0.0, 0.8]

scene:
  base_path: <relative_to_geniesim_assets>
  scene_usda: <stage>.usda           # or omit for an empty scene
Step 6 — Launch via launch-scene
bash
ros2 launch genie_sim_bringup app.launch.py \
  scene:=scene_flat_<your_robot> \
  launcher_config:=launcher_ovrtx_isaac_physx \
  headless:=false   # local workstation with a screen; flip to true on a remote/headless host

If anything goes wrong, fall back to the experimental launcher_newton_mjwarp to see whether the issue is PhysX-specific or applies to all backends.

Commands (copy-paste summary for the user)

bash
# Inside the container:
cd source/geniesim_ros/src/ros_ws/src/genie_sim_robot_model

# 1. Diagnose
python scripts/diagnose_urdf.py urdf/<your_robot>.urdf

# 2. Mesh prep (only the ones the diagnose tool flagged)
python scripts/normalize_obj_names.py path/to/meshes/
python scripts/fix_dae_units.py path/to/meshes/<file>.dae
python scripts/copy_dae_material.py src.dae dst.dae
python scripts/recompute_inertia.py urdf/<your_robot>.urdf

# 3. Build, then let the engine stage AS3 on first run
cd /workspace
geniesim ros build dev && source devel/setup.bash

# 4. Author scene_flat_<your_robot>.yaml, then:
ros2 launch genie_sim_bringup app.launch.py \
  scene:=scene_flat_<your_robot> \
  launcher_config:=launcher_ovrtx_isaac_physx \
  headless:=false   # local workstation with a screen; flip to true on a remote/headless host

Notes

  • The AS3 layout is the same regardless of backend, so a robot that works under Isaac PhysX also works under Newton-standalone — only the physics tuning (gains, contact compliance) may need per-backend trimming.
  • recompute_inertia.py assumes uniform density and is only a starting point. For Tier 1 quality, source inertials from the vendor's CAD.
  • The URDF→USD importer is cache-gated by manifest.json. Editing init_joint_pos does not bust the cache (it's forwarded as a JSON-encoded launch param, not a manifest field) — only changes that affect topology (URDF, xacro args, mimic, fixed-base selection) require a regenerate.
  • For non-G2 robots, MoveIt is not packaged. The engine runs fine without it; you just don't get planning or RViz interactive markers out of the box.

Resources

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

Files

Just SKILL.md in source/geniesim_ros/skills/add-robot of AgibotTech/genie_sim.

Open the folder on GitHubat commit 6ca11c7

Compare with similar skills

Add Robot 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.

Add Robot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Robot this skillAgibotTech/genie_sim1.4k—~2.1kAutomated safety check: PassMPL-2.0
Robots Meta Conflictthedaviddias/Front-End-Checklist74k—~555Automated safety check: PassMIT
Sim Helmsimstudioai/sim30k—~2.2kAutomated safety check: PassApache-2.0
Robot Framework Skillsickn33/agentic-awesome-skills47k1 repos~1.4kAutomated safety check: PassMIT
Robots Metathedaviddias/Front-End-Checklist74k—~494Automated safety check: PassMIT
Robots Txtthedaviddias/Front-End-Checklist74k—~483Automated safety check: PassMIT

Similar skills

  • Robots Meta Conflict

    thedaviddias/Front-End-Checklist

    A skill your agent uses when applies to sites that use both robots.txt disallow rules and meta robots noindex tags.

    74k GitHub stars~555 tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Sim Helm

    simstudioai/sim

    Install, upgrade, and operate the Sim Helm chart on Kubernetes.

    30k GitHub stars~2.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Robot Framework Skill

    sickn33/agentic-awesome-skills

    Generates Robot Framework tests in keyword-driven syntax with Python.

    47k GitHub starsUsed in 1 repo~1.4k tokens
    Testing & QAAuto-check passed
  • Robots Meta

    thedaviddias/Front-End-Checklist

    A skill your agent uses when applies to all HTML pages. An agent skill from thedaviddias/Front-End-Checklist.

    74k GitHub stars~494 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Robots Txt

    thedaviddias/Front-End-Checklist

    A skill your agent uses when applies to any public website. An agent skill from thedaviddias/Front-End-Checklist.

    74k GitHub stars~483 tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Genie

    automagik-dev/genie

    Route Genie questions, operations, bugs, and planned work. An agent skill from automagik-dev/genie.

    345 GitHub stars~1.5k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from AgibotTech/genie_sim

All 26 skills in this repo
  • Challenge Baseline Model

    AgibotTech/genie_sim

    Provision and launch the Simulation Challenge baseline inference model end to end: clone the inference code from a given git repo/branch, download the checkpoints from ModelScope into the repo's…

    1.4k GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Download Datasets

    AgibotTech/genie_sim

    Download the Simulation Challenge LeRobot v2.1 training datasets from ModelScope using ./scripts/downloaddataset.sh.

    1.4k GitHub stars~960 tokensUpdated 1 mo ago
    Auto-check passed
  • Build Workspace

    AgibotTech/genie_sim

    Build the geniesimros colcon workspace inside the Genie Sim Docker container using the geniesim ros build CLI verb.

    1.4k GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Inference Protocol

    AgibotTech/genie_sim

    Reference for the Simulation Challenge inference wire protocol — the exact obs (input) and action (output) message format exchanged between the gateway/genie-sim simulator and the contestant's…

    1.4k GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Login

    AgibotTech/genie_sim

    A skill your agent uses when the contestant needs to obtain or refresh their Simulation Challenge JWT (CHALLENGETOKEN), or wants to inspect the current logged-in user.

    1.4k GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Poll Result

    AgibotTech/genie_sim

    A skill your agent uses to track a Simulation Challenge job's progress — list jobs, watch a job's status until terminal, fetch its per-task scores, or pull execution logs when it failed.

    1.4k GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Add Robot

What does Add Robot do?

Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in geniesimrobotmodel, prep meshes with the offline tools (normalizeobjnames.py, diagnoseurdf.py, recomputeinertia.py…. Add Robot is an agent skill from AgibotTech/genie_sim.yaml.

When should I use Add Robot?

Add Robot fits situations like: asks to add a new robot; support <vendor in geniesim; names a URDF / xacro not currently in geniesimrobotmodel/urdf/; wants to convert a third-party mesh pack into AS3-ready USD.

How do I install Add Robot in Claude Code?

Run `npx skills add AgibotTech/genie_sim --skill add-robot -a claude-code`. Or copy the skill folder (source/geniesim_ros/skills/add-robot in AgibotTech/genie_sim) into .claude/skills/add-robot in your project. Claude Code loads it when a task matches its description.

How do I install Add Robot in Codex?

Run `npx skills add AgibotTech/genie_sim --skill add-robot -a codex`. Or copy the skill folder (source/geniesim_ros/skills/add-robot in AgibotTech/genie_sim) into .agents/skills/add-robot in your project. Codex loads it when a task matches its description.

Can I use Add Robot 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 AgibotTech/genie_sim --skill add-robot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-robot, .gemini/skills/add-robot, .github/skills/add-robot and .opencode/skills/add-robot in your project.

What does Add Robot need to run?

Going by SKILL.md and its folder, Add Robot needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Add Robot 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 Add Robot 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. Review the folder before installing.

What licence does Add Robot use?

Add Robot is published under the MPL-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Robot use?

About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Robot?

Skills that share tags, products or a category with Add Robot: Robots Meta Conflict (thedaviddias/Front-End-Checklist, 74k stars), Sim Helm (simstudioai/sim, 30k stars), Robot Framework Skill (sickn33/agentic-awesome-skills, 47k stars) and Robots Meta (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Robot?

AgibotTech (a GitHub organization) maintains it in AgibotTech/genie_sim, which has 1,413 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 7, 2026.

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