Agent skill

Moveit Wbc

by AgibotTech in AgibotTech/genie_sim

Bring up MoveIt 2 + whole-body-control RViz for the Genie G2 family, using ros2 launch geniesimmoveit wbc.launch.py.

MPL-2.0Auto-check passed

Install Moveit Wbc

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

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

GitHub CLI
$ gh skill install AgibotTech/genie_sim moveit-wbc --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/moveit-wbc .claude/skills/moveit-wbc && 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
moveit-wbc
GitHub stars
1.4k
Token cost
~1.9k tokens
SKILL.md length
533 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
MPL-2.0

At a glance

Bring up MoveIt 2 + whole-body-control RViz for the Genie G2 family, using ros2 launch geniesimmoveit wbc.launch.py.

  • Works in 5 steps: Confirm the scene is up → Pick arm + gripper → Launch MoveIt → …
  • Asks to start moveit
  • SKILL.md covers When to Use, Critical Patterns, The matrix and Workflow, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Moveit Wbc is an agent skill from AgibotTech/genie_sim. Bring up MoveIt 2 + whole-body-control RViz for the Genie G2 family, using ros2 launch geniesimmoveit wbc.launch.py. Covers arm × gripper selection, the three packaged IK plugins (KDL-coupled, bioik-coupled, relaxed-IK), the GenieBioIK human-prior A/B switch, and the useros2control:=false mode for direct /jointcommand driving. Trigger: When the user asks to "start moveit", "wbc rviz", "plan with moveit", "switch IK plugin", "drive jointcommand directly", "compare human priors", or pairs MoveIt with a sceneg2…

Its SKILL.md is about 1.9k 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 start moveit
  • Plan with moveit
  • Switch IK plugin
  • Drive jointcommand directly

Example prompts

  • “start moveit”
  • “wbc rviz”
  • “plan with moveit”
  • “/moveit-wbc”

Workflow steps

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

  1. Confirm the scene is up
  2. Pick arm + gripper
  3. Launch MoveIt
  4. Plan in RViz
  5. (optional) Drive the chassis as a single chain

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    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

Moveit Wbc loads about 1.9k tokens when it runs. Until then it costs about 146 tokens; SKILL.md has 533 words of instructions outside code blocks.

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

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). 533 words, ~1,899 tokens.

Download SKILL.mdSave it as .claude/skills/moveit-wbc/SKILL.md (or your agent's skills folder).
name
moveit-wbc
description
Bring up MoveIt 2 + whole-body-control RViz for the Genie G2 family, using `ros2 launch genie_sim_moveit wbc.launch.py`. Covers arm × gripper selection, the three packaged IK plugins (KDL-coupled, bio_ik-coupled, relaxed-IK), the GenieBioIK human-prior A/B switch, and the `use_ros2_control:=false` mode for direct `/joint_command` driving. Trigger: When the user asks to "start moveit", "wbc rviz", "plan with moveit", "switch IK plugin", "drive joint_command directly", "compare human priors", or pairs MoveIt with a `scene_*_g2_*` launched by the `launch-scene` skill.
license
MPL-2.0
metadata.author
genie-sim
metadata.version
1.0
prerequisites
geniesim_ros:launch-scene

When to Use

  • A scene_*_g2_{op,sp} is running (via the launch-scene skill) and the user wants planning + RViz on top.
  • User wants to switch the active IK plugin or A/B the GenieBioIK "human priors" (torso-straight, chassis-pin, head LookAt).
  • User wants to drive the arm directly via /joint_command (e.g. wok_flip_cmds.py) without ros2_control fighting the publisher.

Do not use for:

  • Robots other than Genie G2 — the SRDF, coupled-joint constraints, and ros2_controllers manifest are G2-only. Other robots run on the engine but don't have a packaged MoveIt config.
  • Launching the simulator itself → launch-scene skill.
  • Building the workspace → build-workspace skill.

Critical Patterns

  1. arm and gripper are independent. Defaults are arm:=crsB gripper:=swiftpicker. The launch wires both into the URDF filename and the SRDF xacro mappings, so any (arm, gripper) combo that has a corresponding URDF under genie_sim_robot_model/urdf/ works.
  2. Match MoveIt's (arm, gripper) to the scene's robot variant. scene_pnp_g2_op → gripper:=omnipicker, scene_wbc_g2_sp → gripper:=swiftpicker. Mismatched values produce a URDF MoveIt can plan against but a robot the engine refuses to drive.
  3. Pick the IK plugin via use_human_priors, not by editing yaml. use_human_priors:=true (default) loads config/kinematics.yaml (GenieBioIK with priors); use_human_priors:=false loads config/kinematics_vanilla.yaml (upstream BioIK, every prior weight zeroed). Both files share the plugin selection / IK links / timeouts so the only A/B variable is the goal stack.
  4. use_ros2_control:=false for /joint_command driving. When an external publisher (teleop, wok-flip script) writes /joint_command, the ros2_control node would republish at the CM update rate and fight it — set this flag to leave move_group alone (the /compute_ik, /compute_fk services) so there's a single source on the topic.

The matrix

Scene (from launch-scene)Recommended wbc.launch.py args
scene_pnp_g2_oparm:=crsB gripper:=omnipicker
scene_wbc_g2_sparm:=crsB gripper:=swiftpicker (defaults)
scene_flat_g2_sp / _chef / _shirtdefaults (crsB + swiftpicker)
IK plugin / modeArgs
GenieBioIK with human priors (default)use_human_priors:=true
Upstream BioIK (priors zeroed, for A/B)use_human_priors:=false
move_group only — /compute_ik services, no controllersuse_ros2_control:=false

Workflow

Step 1 — Confirm the scene is up

launch-scene skill should already be running in another shell. Verify:

bash
ros2 topic list | grep -E "joint_states|tf|clock"
ros2 topic hz /clock                    # sim-time pacing should be live
Show full SKILL.md (215 more words)Show less
Step 2 — Pick arm + gripper

Ask via AskUserQuestion if not given. Default to the scene's gripper (see matrix above).

Step 3 — Launch MoveIt
bash
source devel/setup.bash

# Default (Genie G2 + crsB + swiftpicker + human priors + ros2_control):
ros2 launch genie_sim_moveit wbc.launch.py

# crs arm + omnipicker:
ros2 launch genie_sim_moveit wbc.launch.py arm:=crs gripper:=omnipicker

# A/B vanilla BioIK (priors disabled):
ros2 launch genie_sim_moveit wbc.launch.py use_human_priors:=false

# Direct /joint_command (e.g. external teleop / wok_flip_cmds.py):
ros2 launch genie_sim_moveit wbc.launch.py use_ros2_control:=false
Step 4 — Plan in RViz

The launch starts move_group, robot_state_publisher, and rviz2 with the MoveIt-Plan-Execute panel. Drag the interactive marker on the IK link, hit Plan, then Execute.

Step 5 — (optional) Drive the chassis as a single chain

simple_body_controller claims the same body-joint position interfaces as simple_waist_controller + simple_torso_controller, so it's configured but not auto-spawned. To drive the body as one chain:

bash
ros2 control switch_controllers \
  --activate simple_body_controller \
  --deactivate simple_waist_controller simple_torso_controller

Commands (copy-paste summary for the user)

bash
# Inside the container, after sourcing the overlay:
source devel/setup.bash

# Most common: match a pnp scene
ros2 launch genie_sim_moveit wbc.launch.py arm:=crsB gripper:=omnipicker

# A/B the human priors
ros2 launch genie_sim_moveit wbc.launch.py use_human_priors:=false

# move_group only (for external /joint_command publishers)
ros2 launch genie_sim_moveit wbc.launch.py use_ros2_control:=false

Notes

  • The MoveIt URDF joint limits are widened by ±0.01 rad / ±0.001 m at launch time to absorb MuJoCo soft-limit drift — CheckStartStateBounds reads URDF limits directly, so the per-pipeline start_state_max_bounds_error doesn't help. Helper lives in genie_sim_robot_model.urdf_utils.pad_urdf_joint_limits.
  • Default workspace half-extent for OMPL planar-joint bounds is set to 200 m via ompl.default_workspace_bounds — without this, FixWorkspaceBounds clamps planar_joint/trans_{x,y} to a narrow box that excludes the actual map → base_link pose.
  • fix_start_state:=true lets jazzy's CheckStartStateBounds adapter actively renormalise joint values that drift past <limit> by sub-mrad under contact load (default upstream is false).
  • The MoveIt config is distro-agnostic (Humble + Jazzy). Distro drift is absorbed by moveit_compat.hpp in genie_sim_moveit_plugins/, never by #ifdef in the config package.

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/moveit-wbc of AgibotTech/genie_sim.

Open the folder on GitHubat commit 6ca11c7

Compare with similar skills

Moveit Wbc 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.

Moveit Wbc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Moveit Wbc this skillAgibotTech/genie_sim1.4k—~1.9kAutomated safety check: PassMPL-2.0
Aria Hidden Bodythedaviddias/Front-End-Checklist74k—~444Automated safety check: PassMIT
Meta In Bodythedaviddias/Front-End-Checklist74k—~541Automated safety check: PassMIT
Pull Request Title and Body Writeropeninterpreter/openinterpreter69k2 repos~1.1kAutomated safety check: PassApache-2.0
Add Function Bodyonnx/onnx22k—~1.1kAutomated safety check: PassApache-2.0
Aer Paper Bodybrycewang-stanford/Auto-Empirical-Research-Skills4.5k1 repos~3.3kAutomated safety check: PassCustom licence

Similar skills

  • Aria Hidden Body

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Do not use aria-hidden on the document body.

    74k GitHub stars~444 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Meta In Body

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing HTML document structure.

    74k GitHub stars~541 tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Add a function body definition to an ONNX operator, defining how it decomposes into simpler ops.

    22k GitHub stars~1.1k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Aer Paper Body

    brycewang-stanford/Auto-Empirical-Research-Skills

    A skill your agent uses when drafting or revising the body sections of an AER, AER:Insights, or AEJ manuscript — institutional background, data, empirical strategy, results, mechanisms, and…

    4.5k GitHub starsUsed in 1 repo~3.3k tokens
    Media & CreativeAuto-check passed
  • Multi-stage workflow for producing videos set in the Three-Body universe, from lore research and storyboards to voice, sound and music generation and final compositing.

    7.6k GitHub stars~1.6k tokensUpdated yesterday
    Media & CreativeAuto-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
  • Add Robot

    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…

    1.4k GitHub stars~2.1k 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

Questions about Moveit Wbc

What does Moveit Wbc do?

Bring up MoveIt 2 + whole-body-control RViz for the Genie G2 family, using ros2 launch geniesimmoveit wbc.launch.py. Moveit Wbc is an agent skill from AgibotTech/genie_sim.py.

When should I use Moveit Wbc?

Moveit Wbc fits situations like: asks to start moveit; plan with moveit; switch IK plugin; drive jointcommand directly.

How do I install Moveit Wbc in Claude Code?

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

How do I install Moveit Wbc in Codex?

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

Can I use Moveit Wbc 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 moveit-wbc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/moveit-wbc, .gemini/skills/moveit-wbc, .github/skills/moveit-wbc and .opencode/skills/moveit-wbc in your project.

What does Moveit Wbc need to run?

SKILL.md names no scripts, command-line tools or credentials: Moveit Wbc is instructions for the agent only.

Does Moveit Wbc 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 Moveit Wbc 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 Moveit Wbc use?

Moveit Wbc 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 Moveit Wbc use?

About 1.9k tokens (SKILL.md is roughly 7.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 Moveit Wbc?

Skills that share tags, products or a category with Moveit Wbc: Aria Hidden Body (thedaviddias/Front-End-Checklist, 74k stars), Meta In Body (thedaviddias/Front-End-Checklist, 74k stars), Pull Request Title and Body Writer (openinterpreter/openinterpreter, 69k stars) and Add Function Body (onnx/onnx, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Moveit Wbc?

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.