Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live…

MITAuto-check passed

Install Mujoco

skills CLI
$ npx skills add autonomous-ai/openharness --skill mujoco -a claude-code

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

GitHub CLI
$ gh skill install autonomous-ai/openharness mujoco --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/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/mujoco/skills/mujoco .claude/skills/mujoco && 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
mujoco
GitHub stars
1.1k
Token cost
~1.5k tokens
SKILL.md length
708 words
Files
1
Skills in repo
99
Repo updated
First seen
Licence
MIT

At a glance

Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live…

  • Any request that ends in a simulation
  • SKILL.md covers Simulate, record — the pane…, The robots (Menagerie, pinned), MJCF, the parts that matter and Controllers and policies, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Mujoco is an agent skill from autonomous-ai/openharness. Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live simulation, and train with MJX and MuJoCo Playground. Use for any request that ends in a simulation, a rollout or a policy.

Its SKILL.md is about 1.5k 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: The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across… The licence is MIT.

When your agent uses it

  • Any request that ends in a simulation

Example prompts

  • “/mujoco”

Requirements

  • Python 3

What it can do on your machine

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

Mujoco loads about 1.5k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 708 words of instructions outside code blocks.

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

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 autonomous-ai/openharness at commit 54a1f1b, republished under its MIT licence (© autonomous-ai). 708 words, ~1,544 tokens.

Download SKILL.mdSave it as .claude/skills/mujoco/SKILL.md (or your agent's skills folder).
name
mujoco
description
Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live simulation, and train with MJX and MuJoCo Playground. Use for any request that ends in a simulation, a rollout or a policy.

mujoco

MuJoCo is a physics engine for robotics: a model (MJCF XML → MjModel), a state (MjData), a step (mj_step). Tools: $MUJOCO_PYTHON (the pinned venv), $MENAGERIE (the robots), harness_mujoco on PYTHONPATH (load, servos, record, PD hold). Never install another MuJoCo.

Simulate, record — the pane runs it live

bash
"$MUJOCO_PYTHON" sim/hello.py                  # → out/rollout.qpos.json (+ .model.xml, rollout.json, rollout.mp4)
"$MUJOCO_PYTHON" "$MUJOCO_TOOLCHAIN/verdict.py"         # record() already refreshes it; run it after anything else
python
from harness_mujoco import load_menagerie, load_xml, pd_hold, record
model, data = load_menagerie("unitree_go2", servos=(60, 2))   # torque motors → position servos (PD in the model)
def ctrl(model, data, t):                              # called before every step
    data.ctrl[:] = model.key_ctrl[0]                   # joint-angle targets: hold the "home" pose
record(model, data, ctrl, seconds=4, track="base")     # track: the body the cameras follow

The pane is MuJoCo's simulate, not a video player. It opens out/rollout.qpos.json and runs the model live in the browser (MuJoCo's WebAssembly build): from the rollout's first frame, with the controls your controller produced, so the robot does what it did — and then the user can shove it, drive any actuator from a slider, pose joints, load keyframes, look at contacts and forces, or replay the exact recording frame by frame. What record writes is what makes that work:

  • rollout.qpos.json — per frame: time, qpos, qvel, ctrl (and act). It is written while the rollout runs ("status": "recording"), so the pane shows the run in progress.
  • rollout.model.xml — when you built or edited the model with MjSpec (servos, added bodies, swapped actuators), the compiled model as MJCF, so the pane simulates your model and not the file you started from. Runtime edits (model.opt.timestep = …, model.dof_damping[:] = …) ride in the rollout as model_patch. All automatic.
  • rollout.json — the report the verdict reads. rollout.mp4 — a video to share; video=False skips it while you iterate (faster). The pane never opens on the video.

Put the low-level controller in the model. The pane re-simulates with the recorded ctrl. A position servo's target is a pose, and replaying poses keeps the robot standing and reacting to pushes after the recording ends. Torques computed in Python (pd_hold on a motor, an MPC, a raw torque policy) replay open-loop and drift. So for legged robots: servos=(kp, kv) (Go2/A1: 60, 2 to start) and command joint angles; the G1 already has position actuators. Keep keyframes in the MJCF (<key name qpos ctrl>) for poses worth loading in the pane.

The rollout must know which MJCF it came from. load_xml, load_menagerie and a plain MjModel.from_xml_path or MjSpec.from_file(...).compile() are traced automatically; a model built from a string needs record(..., model_path="scenes/mine.xml") — save it under scenes/ first — or the pane has nothing to run and the verdict says so. Keep rollouts short while iterating (2–4 s).

The robots (Menagerie, pinned)

unitree_go2 (quadruped, 12 torque motors → use servos, keyframe "home"), unitree_go1, unitree_a1, unitree_g1 (humanoid, 29 DoF, position actuators, keyframe "stand"), unitree_h1 (humanoid), berkeley_humanoid, booster_t1. Each has scene.xml (robot + floor + light) and <robot>.xml; the MJX variants (scene_mjx.xml) are the ones to train with. Body and joint names: [model.body(i).name for i in range(model.nbody)].

Show full SKILL.md (289 more words)Show less

MJCF, the parts that matter

  • <worldbody> → nested <body pos quat> with <joint type="hinge|slide|ball|free" axis range damping> and <geom type="box|sphere|capsule|cylinder|mesh|plane" size mass rgba>; <light>, <camera name> (every named camera is a view in the pane).
  • <actuator>: <motor joint gear ctrlrange> (torque), <position joint kp kv ctrlrange> (servo), <velocity>. Give actuators names — the pane labels its sliders with them.
  • <sensor>: jointpos, framepos, accelerometer, touch… — the pane lists and plots them live.
  • <option timestep="0.002" gravity>; <keyframe><key name qpos ctrl/> for start poses.
  • <default class> and <include file> keep a robot's XML short; <asset><mesh file> for STL/OBJ.
  • Contacts: <geom condim friction>; <contact><exclude> for self-collisions that should not happen.

Controllers and policies

  • Servos: data.ctrl[:] = q_target (joint angles). Torque motors: data.ctrl[:] = tau, or pd_hold(kp, kd).
  • Gaits by hand: a phase t * 2π * f per leg, targets from the home pose plus sinusoids; keep it slow.
  • A trained policy: load weights (.npz, .pt), map data.qpos/qvel/sensordata → observation → action → data.ctrl (position targets, so the pane can re-simulate it).
  • Training: toolchain/install-training.sh adds JAX, MJX and MuJoCo Playground (from mujoco_playground import registry; env = registry.load("Go2JoystickFlatTerrain"); PPO via Brax in mujoco_playground examples). On a Mac JAX runs on the CPU — a smoke run, not a policy; say so, and point at a GPU machine in Harness's Machines menu for the real run. Save checkpoints under out/, and record the policy's rollout with record so the pane shows what it learned.

Rules

  • sim/ holds scripts, scenes/ your MJCF, out/ rollouts; never write inside $MENAGERIE.
  • Always let record write the rollout; never hand-roll rollout.qpos.json or point anything at the mp4.
  • Divergence (NaN) means the timestep is too large for the gains, or a joint has no range/damping.
  • Every request that says "make it walk / stand / reach" is a controller first and a policy second.

© autonomous-ai, MIT. 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 store/agents/mujoco/skills/mujoco of autonomous-ai/openharness.

Open the folder on GitHubat commit 54a1f1b

Compare with similar skills

Mujoco 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.

Mujoco compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mujoco this skillautonomous-ai/openharness1.1k—~1.5kAutomated safety check: PassMIT
Robots Meta Conflictthedaviddias/Front-End-Checklist74k—~555Automated safety check: PassMIT
Eas Simulatorsickn33/agentic-awesome-skills47k1 repos~6kAutomated safety check: NotesMIT
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
  • Eas Simulator

    sickn33/agentic-awesome-skills

    Curated upstream guidance for Eas Simulator; use when the workflow matches the user goal.

    47k GitHub starsUsed in 1 repo~6k tokens
    MobileAuto-check: notes
  • 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
  • Simulate

    indranilbanerjee/digital-marketing-pro

    Run Monte Carlo simulations (default 10,000 iterations via revenue-simulator.py) of marketing scenarios — channel-mix shifts, budget reallocations, new-channel launches — reporting…

    854 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed

More from autonomous-ai/openharness

All 99 skills in this repo
  • G-code Slicer Tool

    autonomous-ai/openharness

    Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.

    1.1k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Home Assistant Automation Builder

    autonomous-ai/openharness

    Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.

    1.1k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Score Music Composer

    autonomous-ai/openharness

    Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.

    1.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • OrcaSlicer 3MF and G-code Workflow

    autonomous-ai/openharness

    Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.

    1.1k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Sheets and Docs Report Builder

    autonomous-ai/openharness

    Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.

    1.1k GitHub stars~708 tokensUpdated today
    Auto-check passed
  • Bambu Labs

    autonomous-ai/openharness

    Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.

    1.1k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: warnings

Questions about Mujoco

What does Mujoco do?

Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live…. Mujoco is an agent skill from autonomous-ai/openharness. Simulate robots and scenes with MuJoCo — Menagerie robots (Unitree Go2, G1, H1, Berkeley Humanoid, Booster T1), your own MJCF, controllers and policies — record rollouts the pane runs as a live simulation, and train with MJX and MuJoCo Playground.

When should I use Mujoco?

Mujoco fits situations like: any request that ends in a simulation.

How do I install Mujoco in Claude Code?

Run `npx skills add autonomous-ai/openharness --skill mujoco -a claude-code`. Or copy the skill folder (store/agents/mujoco/skills/mujoco in autonomous-ai/openharness) into .claude/skills/mujoco in your project. Claude Code loads it when a task matches its description.

How do I install Mujoco in Codex?

Run `npx skills add autonomous-ai/openharness --skill mujoco -a codex`. Or copy the skill folder (store/agents/mujoco/skills/mujoco in autonomous-ai/openharness) into .agents/skills/mujoco in your project. Codex loads it when a task matches its description.

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

What does Mujoco need to run?

SKILL.md names no scripts, command-line tools or credentials: Mujoco is instructions for the agent only. Our summary lists: Python 3.

Does Mujoco 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 Mujoco 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 Mujoco use?

Mujoco is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mujoco use?

About 1.5k tokens (SKILL.md is roughly 6.2k 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 Mujoco?

Skills that share tags, products or a category with Mujoco: Robots Meta Conflict (thedaviddias/Front-End-Checklist, 74k stars), Eas Simulator (sickn33/agentic-awesome-skills, 47k 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 Mujoco?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,137 GitHub stars. The repository holds 99 skills in this directory. The repository was last updated on October 7, 2026.

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