dm-control
Use DeepMind dm_control for MuJoCo simulation, Control Suite environments, PyMJCF models, Composer tasks, rendering, and high-level locomotion/manipulation…
Skill by VectorSpaceLab
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vectorspacelab-dm-control
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dm-control
What's inside
- Skill name
dm-control- Description
- Use DeepMind dm_control for MuJoCo simulation, Control Suite environments, PyMJCF models, Composer tasks, rendering, and high-level locomotion/manipulation workflows.
- License
- Apache-2.0
- Metadata
- disco-role: operating
- Instructions
- 66 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (34)
- SKILL.md
- installation-and-backends.md · references/
- package-overview.md · references/
- repo-provenance.md · references/
- repo-routing-metadata.json · references/
- troubleshooting.md · references/
- check_dm_control_install.py · scripts/
- list_dm_control_tasks.py · scripts/
- SKILL.md · sub-skills/composer-environments/
- composer-api-reference.md · sub-skills/composer-environments/references/
- observables-and-variation.md · sub-skills/composer-environments/references/
- troubleshooting.md · sub-skills/composer-environments/references/
- composer_minimal_task.py · sub-skills/composer-environments/scripts/
- SKILL.md · sub-skills/locomotion-manipulation/
- locomotion-reference.md · sub-skills/locomotion-manipulation/references/
- manipulation-reference.md · sub-skills/locomotion-manipulation/references/
- troubleshooting.md · sub-skills/locomotion-manipulation/references/
- list_locomotion_manipulation.py · sub-skills/locomotion-manipulation/scripts/
- SKILL.md · sub-skills/mjcf-mujoco-models/
- mujoco-physics-reference.md · sub-skills/mjcf-mujoco-models/references/
- pymjcf-reference.md · sub-skills/mjcf-mujoco-models/references/
- troubleshooting.md · sub-skills/mjcf-mujoco-models/references/
- mjcf_smoke_model.py · sub-skills/mjcf-mujoco-models/scripts/
- SKILL.md · sub-skills/rendering-viewer-assets/
- blender-exporter-reference.md · sub-skills/rendering-viewer-assets/references/
- rendering-viewer-reference.md · sub-skills/rendering-viewer-assets/references/
- troubleshooting.md · sub-skills/rendering-viewer-assets/references/
- render_backend_probe.py · sub-skills/rendering-viewer-assets/scripts/
- viewer_launch_template.py · sub-skills/rendering-viewer-assets/scripts/
- SKILL.md · sub-skills/suite-rl-workflows/
- suite-api-reference.md · sub-skills/suite-rl-workflows/references/
- troubleshooting.md · sub-skills/suite-rl-workflows/references/
- wrappers-and-observations.md · sub-skills/suite-rl-workflows/references/
- suite_random_rollout.py · sub-skills/suite-rl-workflows/scripts/
SKILL.md (first lines)
# dm-control
Use this repo skill when a task involves Google's `dm_control` package: DeepMind Control Suite environments, MuJoCo simulation through `dm_control.mujoco`, PyMJCF model construction, Composer custom tasks, locomotion/manipulation task families, pixel observations, viewer launchers, or rendering backend troubleshooting.
## First checks
- Install public releases with `pip install dm_control`; install unreleased source with `pip install git+https://github.com/google-deepmind/dm_control.git`.
- Do **not** use editable installs for normal use. `dm_control` generates legacy MuJoCo bindings during installation, and editable installs can leave `dm_control.mujoco.wrapper.mjbindings` partially initialized.
- Run [scripts/check_dm_control_install.py](scripts/check_dm_control_install.py) for an installed-package smoke check that imports core modules, loads one Control Suite task, builds a tiny PyMJCF model, and optionally probes rendering.
- Run [scripts/list_dm_control_tasks.py](scripts/list_dm_control_tasks.py) to list installed Control Suite and manipulation task registries before choosing names.
- Read [references/installation-and-backends.md](references/installation-and-backends.md) when a task needs installation, MuJoCo/OpenGL backend selection, optional rendering, or Blender exporter constraints.
- Read [references/package-overview.md](references/package-overview.md) for the component map, API entry points, and how the sub-skills fit together.
- Read [references/troubleshooting.md](references/troubleshooting.md) for cross-cutting install/import, task selection, backend, and package-data failures.
## Route by task
| User task | Read next |
|---|---|
| Load a Control Suite benchmark, step an environment, inspect action/observation specs, use wrappers, or create a random rollout | [suite-rl-workflows](sub-skills/suite-rl-workflows/SKILL.md) |
| Build, parse, compose, export, compile, step, or inspect a MuJoCo/MJCF model with PyMJCF or `dm_control.mujoco.Physics` | [mjcf-mujoco-models](sub-skills/mjcf-mujoco-models/SKILL.md) |
| Create a custom Composer `Entity`, `Task`, observable, variation, arena, robot, or `composer.Environment` | [composer-environments](sub-skills/composer-environments/SKILL.md) |
| Use high-level locomotion, soccer, walker, mocap, prop, or manipulation task families | [locomotion-manipulation](sub-skills/locomotion-manipulation/SKILL.md) |
| Render frames, use pixel observations, launch the viewer, choose `MUJOCO_GL`, diagnose headless OpenGL, or reason about the Blender exporter | [rendering-viewer-assets](sub-skills/rendering-viewer-assets/SKILL.md) |
## Operating defaults
1. Prefer installed-package imports over source-tree assumptions. The public distribution name and import package are both `dm_control`.
2. Start from CPU/non-rendering simulation unless the user explicitly needs images, camera observations, a viewer, EGL, OSMesa, GLFW, or Blender export.
3. Validate task names from registries before loading them: `suite.TASKS_BY_DOMAIN`, `suite.ALL_TASKS`, `manipulation.ALL`, and `manipulation.TAGS`.
4. For RL loops, use `dm_env.TimeStep` semantics: reset first, sample actions within `action_spec()`, step until `time_step.last()`, and inspect `reward`, `discount`, and observation keys.
5. For custom environments, decide whether the request is a ready-made task selection problem (`suite` / manipulation / locomotion) or a model/task-construction problem (`mjcf` / Composer).
6. Keep rendering failures separate from simulation failures. A Control Suite task can reset/step correctly even when GLFW warns that `DISPLAY` is missing; only pixel/render/viewer tasks require backend fixes.
7. When using cameras or pixel wrappers on headless Linux, try `MUJOCO_GL=egl` first when a compatible NVIDIA/EGL stack is available; use OSMesa only when system OSMesa libraries are installed; use GLFW only with a display.
8. Treat `dm_control.blender.mujoco_exporter` as optional and system-mutating: it requires Blender, and add-on installation should be an explicit user choice.
## Minimal smoke snippets
```python
from dm_control import suite
import numpy as np
env = suite.load('cartpole', 'balance')
time_step = env.reset()
action_spec = env.action_spec()
action = np.zeros(action_spec.shape, dtype=action_spec.dtype)
time_step = env.step(action)
print(time_step.reward, time_step.discount, time_step.observation.keys())
```
```python
from dm_control import mjcf
model = mjcf.RootElement(model='smoke')
model.worldbody.add('geom', name='floor', type='plane', size=[1, 1, 0.1])
physics = mjcf.Physics.from_mjcf_model(model)
physics.step()
print(physics.model.nbody, physics.data.time)
```
## Verification notes
- Safe native verification should prefer small CPU cases first: Control Suite registry/loading, PyMJCF model compilation, MuJoCo named access/math, Composer environment reset/step, and manipulation registry tasks.
- Rendering native checks are backend-specific. Use the bundled render probe before asserting pixel observations or viewer behavior.
- Long locomotion, mocap, soccer, GUI, Blender, benchmark-scale, or data-download workflows should be treated as optional or documentation-backed unless the user provides runtime budget and dependencies.From VectorSpaceLab/AREX-Skill, Apache-2.0.
More from VectorSpaceLab/AREX-Skill
- 0.563score
data-designer-repo-skill
VectorSpaceLab
Use when you need to design DataDesigner configs, run preview/create/validate workflows, inspect the CLI or agent context, work with plugins or MCP tools, or…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
everos
VectorSpaceLab
Use this skill for EverOS local-first Markdown memory service setup, HTTP memory and knowledge APIs, cascade/OME operations, and observability integration.
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
bentoml
VectorSpaceLab
Use BentoML to author model-serving Services, build and containerize Bentos, run HTTP/gRPC servers and clients, manage models, operate the CLI and BentoCloud…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
dash
VectorSpaceLab
Use when building, debugging, testing, or maintaining Plotly Dash applications, callbacks, server backends, component packages, renderer internals, and Dash…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
diffusers
VectorSpaceLab
Use this skill for Hugging Face Diffusers tasks: pipeline inference, schedulers, adapters/loaders, training recipes, modular pipelines, conversion helpers…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
espnet
VectorSpaceLab
Use when working with ESPnet speech AI toolkit: installation, ESPnet2 recipes and training, pretrained inference/model zoo, ESPnet3 stage workflows, and…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
alphafold3
VectorSpaceLab
Use this skill for AlphaFold 3 input preparation, prediction command planning, output interpretation, and Python API inspection.
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
autogen
VectorSpaceLab
Use this skill for maintaining, migrating, debugging, and safely operating Microsoft AutoGen Python 0.7.x applications, including AgentChat, Core runtimes…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
browser-use
VectorSpaceLab
Use this self-contained Browser Use repo skill for Python agents that automate websites, browser sessions, custom tools, LLM/provider setup, persistent CLI…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
dagster
VectorSpaceLab
Use when working with Dagster OSS: assets, jobs, Definitions, config/resources, schedules/sensors, automation, CLI/local development, deployment operations…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
datasets
VectorSpaceLab
Use this skill when working with Hugging Face Datasets: loading local or Hub datasets, defining Features schemas, processing/streaming datasets, converting…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
geopandas
VectorSpaceLab
Use when working with GeoPandas GeoDataFrame and GeoSeries workflows, vector geospatial I/O, CRS-aware spatial operations, mapping, geocoding, and…
SkillBFreshness: B★ 341Claude Code +9
Signals
- Stars
- 341
- Forks
- 26
- Open issues
- 0
- Last commit (this folder)
- Aug 26, 2026 (2 months ago)
- Last release
- Sep 2, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/VectorSpaceLab/AREX-Skill
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from VectorSpaceLab
- 0.563score
bentoml
VectorSpaceLab
Use BentoML to author model-serving Services, build and containerize Bentos, run HTTP/gRPC servers and clients, manage models, operate the CLI and BentoCloud…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
dagster
VectorSpaceLab
Use when working with Dagster OSS: assets, jobs, Definitions, config/resources, schedules/sensors, automation, CLI/local development, deployment operations…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
alphafold3
VectorSpaceLab
Use this skill for AlphaFold 3 input preparation, prediction command planning, output interpretation, and Python API inspection.
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
autogen
VectorSpaceLab
Use this skill for maintaining, migrating, debugging, and safely operating Microsoft AutoGen Python 0.7.x applications, including AgentChat, Core runtimes…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
browser-use
VectorSpaceLab
Use this self-contained Browser Use repo skill for Python agents that automate websites, browser sessions, custom tools, LLM/provider setup, persistent CLI…
SkillBFreshness: B★ 341Claude Code +9 - 0.563score
dash
VectorSpaceLab
Use when building, debugging, testing, or maintaining Plotly Dash applications, callbacks, server backends, component packages, renderer internals, and Dash…
SkillBFreshness: B★ 341Claude Code +9
Cite this page
dm-control skill. Agent Mart. https://agentmart.dev/skills/vectorspacelab-dm-control (last updated 2026-10-24)