[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78W9VT09XRFS7NBRAZNZZYP":3,"skill-same:01M78W9VT09XRFS7NBRAZNZZYP":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":30,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":33,"install":34,"resources":46},"01M78W9VT09XRFS7NBRAZNZZYP","dm-control",null,"Use DeepMind dm_control for MuJoCo simulation, Control Suite environments, PyMJCF models, Composer tasks, rendering, and high-level locomotion\u002Fmanipulation workflows.","VectorSpaceLab\u002FAREX-Skill","VectorSpaceLab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F180637102?v=4","01M7538C5WPSJGWF7KHR4EFZ9F","01M7538C6R2GFP53NPXTCZNBRT",351,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: dm-control\ndescription: \"Use DeepMind dm_control for MuJoCo simulation, Control Suite\n  environments, PyMJCF models, Composer tasks, rendering, and high-level\n  locomotion\u002Fmanipulation workflows.\"\nmetadata:\n  disco-role: operating\ndisable-model-invocation: true\nlicense: Apache 2.0\n---\n\n# dm-control\n\nUse 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\u002Fmanipulation task families, pixel observations, viewer launchers, or rendering backend troubleshooting.\n\n## First checks\n\n- Install public releases with `pip install dm_control`; install unreleased source with `pip install git+https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fdm_control.git`.\n- 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.\n- Run [scripts\u002Fcheck_dm_control_install.py](scripts\u002Fcheck_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.\n- Run [scripts\u002Flist_dm_control_tasks.py](scripts\u002Flist_dm_control_tasks.py) to list installed Control Suite and manipulation task registries before choosing names.\n- Read [references\u002Finstallation-and-backends.md](references\u002Finstallation-and-backends.md) when a task needs installation, MuJoCo\u002FOpenGL backend selection, optional rendering, or Blender exporter constraints.\n- Read [references\u002Fpackage-overview.md](references\u002Fpackage-overview.md) for the component map, API entry points, and how the sub-skills fit together.\n- Read [references\u002Ftroubleshooting.md](references\u002Ftroubleshooting.md) for cross-cutting install\u002Fimport, task selection, backend, and package-data failures.\n\n## Route by task\n\n| User task | Read next |\n|---|---|\n| Load a Control Suite benchmark, step an environment, inspect action\u002Fobservation specs, use wrappers, or create a random rollout | [suite-rl-workflows](sub-skills\u002Fsuite-rl-workflows\u002FSKILL.md) |\n| Build, parse, compose, export, compile, step, or inspect a MuJoCo\u002FMJCF model with PyMJCF or `dm_control.mujoco.Physics` | [mjcf-mujoco-models](sub-skills\u002Fmjcf-mujoco-models\u002FSKILL.md) |\n| Create a custom Composer `Entity`, `Task`, observable, variation, arena, robot, or `composer.Environment` | [composer-environments](sub-skills\u002Fcomposer-environments\u002FSKILL.md) |\n| Use high-level locomotion, soccer, walker, mocap, prop, or manipulation task families | [locomotion-manipulation](sub-skills\u002Flocomotion-manipulation\u002FSKILL.md) |\n| 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\u002Frendering-viewer-assets\u002FSKILL.md) |\n\n## Operating defaults\n\n1. Prefer installed-package imports over source-tree assumptions. The public distribution name and import package are both `dm_control`.\n2. Start from CPU\u002Fnon-rendering simulation unless the user explicitly needs images, camera observations, a viewer, EGL, OSMesa, GLFW, or Blender export.\n3. Validate task names from registries before loading them: `suite.TASKS_BY_DOMAIN`, `suite.ALL_TASKS`, `manipulation.ALL`, and `manipulation.TAGS`.\n4. 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.\n5. For custom environments, decide whether the request is a ready-made task selection problem (`suite` \u002F manipulation \u002F locomotion) or a model\u002Ftask-construction problem (`mjcf` \u002F Composer).\n6. Keep rendering failures separate from simulation failures. A Control Suite task can reset\u002Fstep correctly even when GLFW warns that `DISPLAY` is missing; only pixel\u002Frender\u002Fviewer tasks require backend fixes.\n7. When using cameras or pixel wrappers on headless Linux, try `MUJOCO_GL=egl` first when a compatible NVIDIA\u002FEGL stack is available; use OSMesa only when system OSMesa libraries are installed; use GLFW only with a display.\n8. Treat `dm_control.blender.mujoco_exporter` as optional and system-mutating: it requires Blender, and add-on installation should be an explicit user choice.\n\n## Minimal smoke snippets\n\n```python\nfrom dm_control import suite\nimport numpy as np\n\nenv = suite.load('cartpole', 'balance')\ntime_step = env.reset()\naction_spec = env.action_spec()\naction = np.zeros(action_spec.shape, dtype=action_spec.dtype)\ntime_step = env.step(action)\nprint(time_step.reward, time_step.discount, time_step.observation.keys())\n```\n\n```python\nfrom dm_control import mjcf\n\nmodel = mjcf.RootElement(model='smoke')\nmodel.worldbody.add('geom', name='floor', type='plane', size=[1, 1, 0.1])\nphysics = mjcf.Physics.from_mjcf_model(model)\nphysics.step()\nprint(physics.model.nbody, physics.data.time)\n```\n\n## Verification notes\n\n- Safe native verification should prefer small CPU cases first: Control Suite registry\u002Floading, PyMJCF model compilation, MuJoCo named access\u002Fmath, Composer environment reset\u002Fstep, and manipulation registry tasks.\n- Rendering native checks are backend-specific. Use the bundled render probe before asserting pixel observations or viewer behavior.\n- 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.\n","# dm-control\n\nUse 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\u002Fmanipulation task families, pixel observations, viewer launchers, or rendering backend troubleshooting.\n\n## First checks\n\n- Install public releases with `pip install dm_control`; install unreleased source with `pip install git+https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fdm_control.git`.\n- 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.\n- Run [scripts\u002Fcheck_dm_control_install.py](scripts\u002Fcheck_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.\n- Run [scripts\u002Flist_dm_control_tasks.py](scripts\u002Flist_dm_control_tasks.py) to list installed Control Suite and manipulation task registries before choosing names.\n- Read [references\u002Finstallation-and-backends.md](references\u002Finstallation-and-backends.md) when a task needs installation, MuJoCo\u002FOpenGL backend selection, optional rendering, or Blender exporter constraints.\n- Read [references\u002Fpackage-overview.md](references\u002Fpackage-overview.md) for the component map, API entry points, and how the sub-skills fit together.\n- Read [references\u002Ftroubleshooting.md](references\u002Ftroubleshooting.md) for cross-cutting install\u002Fimport, task selection, backend, and package-data failures.\n\n## Route by task\n\n| User task | Read next |\n|---|---|\n| Load a Control Suite benchmark, step an environment, inspect action\u002Fobservation specs, use wrappers, or create a random rollout | [suite-rl-workflows](sub-skills\u002Fsuite-rl-workflows\u002FSKILL.md) |\n| Build, parse, compose, export, compile, step, or inspect a MuJoCo\u002FMJCF model with PyMJCF or `dm_control.mujoco.Physics` | [mjcf-mujoco-models](sub-skills\u002Fmjcf-mujoco-models\u002FSKILL.md) |\n| Create a custom Composer `Entity`, `Task`, observable, variation, arena, robot, or `composer.Environment` | [composer-environments](sub-skills\u002Fcomposer-environments\u002FSKILL.md) |\n| Use high-level locomotion, soccer, walker, mocap, prop, or manipulation task families | [locomotion-manipulation](sub-skills\u002Flocomotion-manipulation\u002FSKILL.md) |\n| 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\u002Frendering-viewer-assets\u002FSKILL.md) |\n\n## Operating defaults\n\n1. Prefer installed-package imports over source-tree assumptions. The public distribution name and import package are both `dm_control`.\n2. Start from CPU\u002Fnon-rendering simulation unless the user explicitly needs images, camera observations, a viewer, EGL, OSMesa, GLFW, or Blender export.\n3. Validate task names from registries before loading them: `suite.TASKS_BY_DOMAIN`, `suite.ALL_TASKS`, `manipulation.ALL`, and `manipulation.TAGS`.\n4. 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.\n5. For custom environments, decide whether the request is a ready-made task selection problem (`suite` \u002F manipulation \u002F locomotion) or a model\u002Ftask-construction problem (`mjcf` \u002F Composer).\n6. Keep rendering failures separate from simulation failures. A Control Suite task can reset\u002Fstep correctly even when GLFW warns that `DISPLAY` is missing; only pixel\u002Frender\u002Fviewer tasks require backend fixes.\n7. When using cameras or pixel wrappers on headless Linux, try `MUJOCO_GL=egl` first when a compatible NVIDIA\u002FEGL stack is available; use OSMesa only when system OSMesa libraries are installed; use GLFW only with a display.\n8. Treat `dm_control.blender.mujoco_exporter` as optional and system-mutating: it requires Blender, and add-on installation should be an explicit user choice.\n\n## Minimal smoke snippets\n\n```python\nfrom dm_control import suite\nimport numpy as np\n\nenv = suite.load('cartpole', 'balance')\ntime_step = env.reset()\naction_spec = env.action_spec()\naction = np.zeros(action_spec.shape, dtype=action_spec.dtype)\ntime_step = env.step(action)\nprint(time_step.reward, time_step.discount, time_step.observation.keys())\n```\n\n```python\nfrom dm_control import mjcf\n\nmodel = mjcf.RootElement(model='smoke')\nmodel.worldbody.add('geom', name='floor', type='plane', size=[1, 1, 0.1])\nphysics = mjcf.Physics.from_mjcf_model(model)\nphysics.step()\nprint(physics.model.nbody, physics.data.time)\n```\n\n## Verification notes\n\n- Safe native verification should prefer small CPU cases first: Control Suite registry\u002Floading, PyMJCF model compilation, MuJoCo named access\u002Fmath, Composer environment reset\u002Fstep, and manipulation registry tasks.\n- Rendering native checks are backend-specific. Use the bundled render probe before asserting pixel observations or viewer behavior.\n- 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.\n",{"name":5,"license":23,"metadata":24,"description":7,"disable-model-invocation":26},"Apache 2.0",{"disco-role":25},"operating",true,"main","ac3fe1afa80fb9a09775ecfb2b6cc3ba850a2db6","skills\u002Frepositories\u002Frepo-skills\u002Fdm-control",27,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab","2026-09-03 10:25:21",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":26},[36,39,42],{"tool":37,"command":38},"npx","npx skills add VectorSpaceLab\u002FAREX-Skill --skill dm-control",{"tool":40,"command":41},"bunx","bunx skills add VectorSpaceLab\u002FAREX-Skill --skill dm-control",{"tool":43,"command":44},"pnpm","pnpm dlx skills add VectorSpaceLab\u002FAREX-Skill --skill dm-control","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002FSKILL.md",[47,53,57,61,65,69,75],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Finstallation-and-backends.md","REFERENCE","参考文档",4279,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Freferences\u002Finstallation-and-backends.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fpackage-overview.md",5282,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Freferences\u002Fpackage-overview.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Frepo-provenance.md",2409,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Freferences\u002Frepo-provenance.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Frepo-routing-metadata.json",510,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Freferences\u002Frepo-routing-metadata.json",{"path":66,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Ftroubleshooting.md",5117,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Freferences\u002Ftroubleshooting.md",{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"scripts\u002Fcheck_dm_control_install.py","SCRIPT","脚本",4595,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Fscripts\u002Fcheck_dm_control_install.py",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"scripts\u002Flist_dm_control_tasks.py",2494,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fdm-control\u002Fscripts\u002Flist_dm_control_tasks.py",[80,87,94,101,108,115],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":18},"01M799NYSH1R3RVAHSM2D88Y84","passnet-triton-opt","Make a single PassNet Triton kernel fast AND numerically faithful: performance model (when a replacement can win at all), block\u002Fgrid\u002Fwarp tuning, autotune policy, launch overhead, and per-op numeric recipes to pass the dtype baseline tolerances. Use when a pass matches and is correct but speedup below expected, or when correctness fails by small numeric margins.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-triton-opt\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":18},"01M799NS5APEC0N1FZ7XZVW6BN","passnet-solve","END-TO-END playbook for solving one PassNet sample: analyze the computation graphs, decide the optimization strategy (what to fuse, what to replace, what to leave alone), drive the iteration loop, and maximize the sample score. This is the ENTRY skill — invoke it first for any PassNet optimization task; it tells you when to use passnet-pattern-fusion, passnet-triton-opt and passnet-feedback.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-solve\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":18},"01M799NNY9BKSM21V5R7QVTBJX","passnet-skill","PassNet GPU kernel optimization via compiler passes. Design and implement Triton-based optimization passes, create pass files under .\u002Fpass_dir\u002F, self-evaluate with pass_evaluator, and iterate to maximize GPU speedup.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-skill\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":18},"01M799NHH6NP7Z1RK77KGXAN6S","passnet-pattern-fusion","Author PassNet pass files: write patterns that actually MATCH the FX graph, pick fusion regions (which ops to absorb into one Triton kernel), and structure multi-pass submissions with the mandatory shared-dispatch architecture. Use when creating or fixing pattern()\u002Freplacement_args()\u002Freplacement_func() files, when a pass \"failed to match\", or when deciding how to fuse multiple kernels\u002Fops.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-pattern-fusion\u002FSKILL.md",[],[],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":18},"01M799ND2J4WNC2PGAZ0A06NDF","passnet-orchestrate","Round\u002Fbatch planning and decision support for PassNet graph optimization. Use for multi-sample triage, worker allocation, eval-budget policy, and post-eval keep\u002Frevert decisions. For solving one concrete sample end to end, use passnet-solve as the entry skill; consult this skill only when you need broader planning or a specific decision gate.","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-orchestrate\u002FSKILL.md",[],[],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":18},"01M799N8SBTMY02ZDG2AZF5ZWE","passnet-feedback","Fast, deterministic feedback for PassNet work: pre-flight pattern\u002Fmatch verification WITHOUT burning a GPU evaluation, per-node bottleneck analysis of a sample's graphs, and eval-log parsing into per-variant status + estimated score + failure classification. Use BEFORE every GPU evaluation (check_pattern), at the START of a sample (analyze_graph), and AFTER every evaluation (parse_eval_log).","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-feedback\u002FSKILL.md",[],[]]