[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78SSKW2A7FHD9FBTKART3K7":3,"skill-same:01M78SSKW2A7FHD9FBTKART3K7":66},{"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":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":32,"install":33,"resources":45},"01M78SSKW2A7FHD9FBTKART3K7","sim2real-deployment",null,"Run ASAP sim2sim playback, sim2real policy runtime, Unitree\u002FROS2 bridges, joystick or keyboard controls, and real-data collection safely.","VectorSpaceLab\u002FAREX-Skill","VectorSpaceLab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F180637102?v=4","01M7538C5WPSJGWF7KHR4EFZ9F","01M7538C6R2GFP53NPXTCZNBRT",351,"MIT","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: sim2real-deployment\ndescription: \"Run ASAP sim2sim playback, sim2real policy runtime, Unitree\u002FROS2\n  bridges, joystick or keyboard controls, and real-data collection safely.\"\ndisable-model-invocation: true\nmetadata:\n  disco-role: operating\nlicense: MIT\n---\n\n# sim2real-deployment\n\nUse this sub-skill when the task is to operate ASAP deployment code: MuJoCo sim2sim playback, sim2real policy runtime on a Unitree G1, ROS2\u002FUnitree bridge setup, joystick or keyboard command input, and real-world data collection.\n\n## First Safety Gate\n\nReal robot deployment can injure people and damage hardware. Do **not** start policy actions on physical hardware until a qualified human confirms the robot is mechanically configured for the intended DOF count, in low-level mode, on a clear test area or support rig, with emergency-stop procedures ready. The bundled instructions explain repository behavior; they do not replace a hardware safety review.\n\n## Route by Need\n\n- **Local MuJoCo sim2sim playback**: read [`references\u002Fworkflows.md`](references\u002Fworkflows.md#sim2sim-mujoco-playback) and run the simulator plus policy terminals from the repository `sim2real\u002F` directory.\n- **Real Unitree G1 policy runtime**: read [`references\u002Fworkflows.md`](references\u002Fworkflows.md#sim2real-unitree-g1-runtime) and [`references\u002Ftroubleshooting.md`](references\u002Ftroubleshooting.md#real-hardware-and-ddsnetwork-failures) before changing `INTERFACE` away from localhost.\n- **Keyboard, joystick, or MuJoCo viewer controls**: use [`references\u002Fworkflows.md`](references\u002Fworkflows.md#control-maps) for the exact key\u002Fbutton maps implemented by `base_policy.py`, `deepmimic_dec_loco.py`, and `unitree_sdk2py_bridge.py`.\n- **Robot\u002Fconfig\u002Fmodel path edits**: use [`references\u002Fconfiguration.md`](references\u002Fconfiguration.md) before editing `sim2real\u002Fconfig\u002Fg1_29dof_hist.yaml`.\n- **Safe readiness check**: run the bundled [`scripts\u002Fdeployment_doctor.py`](scripts\u002Fdeployment_doctor.py) to check imports, config shape, assets, model paths, joystick visibility, and network-interface expectations without initializing Unitree DDS or commanding motors.\n- **Real-data collection**: use [`references\u002Fworkflows.md`](references\u002Fworkflows.md#real-data-collection-with-listener_deltaapy) for `listener_deltaa.py` and its recording keys.\n\n## Working Directory Convention\n\nDeployment commands in ASAP are written to run from the repository `sim2real\u002F` directory, because config paths point to `..\u002Fhumanoidverse\u002F...`, policy scripts append `.\u002Frl_policy`, and model examples use `.\u002Fmodels\u002F...`.\n\n```bash\ncd sim2real\npython sim_env\u002Fbase_sim.py --config=config\u002Fg1_29dof_hist.yaml\npython rl_policy\u002Fdeepmimic_dec_loco_height.py --config=config\u002Fg1_29dof_hist.yaml \\\n  --loco_model_path=.\u002Fmodels\u002Fdec_loco\u002F20250109_231507-noDR_rand_history_loco_stand_height_noise-decoupled_locomotion-g1_29dof\u002Fmodel_6600.onnx \\\n  --mimic_model_paths=.\u002Fmodels\u002Fmimic\n```\n\n## Boundaries and Cross-Links\n\n- For HumanoidVerse training, checkpoint export, Hydra overrides, or evaluation, use [`..\u002Ftraining-and-evaluation\u002FSKILL.md`](..\u002Ftraining-and-evaluation\u002FSKILL.md) and the root [`..\u002F..\u002FSKILL.md`](..\u002F..\u002FSKILL.md).\n- For SMPL\u002FAMASS shape fitting, motion fitting, or retargeting, use [`..\u002Fmotion-retargeting\u002FSKILL.md`](..\u002Fmotion-retargeting\u002FSKILL.md).\n- For base installs, simulator backends, ROS2, and optional SDK prerequisites, use root [`..\u002F..\u002Freferences\u002Finstall-and-backends.md`](..\u002F..\u002Freferences\u002Finstall-and-backends.md) when present.\n- For cross-cutting package\u002Fimport\u002Fconfig failures, use root [`..\u002F..\u002Freferences\u002Ftroubleshooting.md`](..\u002F..\u002Freferences\u002Ftroubleshooting.md) when present; keep deployment-specific failures in this sub-skill's [`references\u002Ftroubleshooting.md`](references\u002Ftroubleshooting.md).\n\nThis sub-skill intentionally excludes HumanoidVerse training internals and SMPL motion retargeting details except where a trained ONNX policy or retargeted mimic model path is required for deployment.\n","# sim2real-deployment\n\nUse this sub-skill when the task is to operate ASAP deployment code: MuJoCo sim2sim playback, sim2real policy runtime on a Unitree G1, ROS2\u002FUnitree bridge setup, joystick or keyboard command input, and real-world data collection.\n\n## First Safety Gate\n\nReal robot deployment can injure people and damage hardware. Do **not** start policy actions on physical hardware until a qualified human confirms the robot is mechanically configured for the intended DOF count, in low-level mode, on a clear test area or support rig, with emergency-stop procedures ready. The bundled instructions explain repository behavior; they do not replace a hardware safety review.\n\n## Route by Need\n\n- **Local MuJoCo sim2sim playback**: read [`references\u002Fworkflows.md`](references\u002Fworkflows.md#sim2sim-mujoco-playback) and run the simulator plus policy terminals from the repository `sim2real\u002F` directory.\n- **Real Unitree G1 policy runtime**: read [`references\u002Fworkflows.md`](references\u002Fworkflows.md#sim2real-unitree-g1-runtime) and [`references\u002Ftroubleshooting.md`](references\u002Ftroubleshooting.md#real-hardware-and-ddsnetwork-failures) before changing `INTERFACE` away from localhost.\n- **Keyboard, joystick, or MuJoCo viewer controls**: use [`references\u002Fworkflows.md`](references\u002Fworkflows.md#control-maps) for the exact key\u002Fbutton maps implemented by `base_policy.py`, `deepmimic_dec_loco.py`, and `unitree_sdk2py_bridge.py`.\n- **Robot\u002Fconfig\u002Fmodel path edits**: use [`references\u002Fconfiguration.md`](references\u002Fconfiguration.md) before editing `sim2real\u002Fconfig\u002Fg1_29dof_hist.yaml`.\n- **Safe readiness check**: run the bundled [`scripts\u002Fdeployment_doctor.py`](scripts\u002Fdeployment_doctor.py) to check imports, config shape, assets, model paths, joystick visibility, and network-interface expectations without initializing Unitree DDS or commanding motors.\n- **Real-data collection**: use [`references\u002Fworkflows.md`](references\u002Fworkflows.md#real-data-collection-with-listener_deltaapy) for `listener_deltaa.py` and its recording keys.\n\n## Working Directory Convention\n\nDeployment commands in ASAP are written to run from the repository `sim2real\u002F` directory, because config paths point to `..\u002Fhumanoidverse\u002F...`, policy scripts append `.\u002Frl_policy`, and model examples use `.\u002Fmodels\u002F...`.\n\n```bash\ncd sim2real\npython sim_env\u002Fbase_sim.py --config=config\u002Fg1_29dof_hist.yaml\npython rl_policy\u002Fdeepmimic_dec_loco_height.py --config=config\u002Fg1_29dof_hist.yaml \\\n  --loco_model_path=.\u002Fmodels\u002Fdec_loco\u002F20250109_231507-noDR_rand_history_loco_stand_height_noise-decoupled_locomotion-g1_29dof\u002Fmodel_6600.onnx \\\n  --mimic_model_paths=.\u002Fmodels\u002Fmimic\n```\n\n## Boundaries and Cross-Links\n\n- For HumanoidVerse training, checkpoint export, Hydra overrides, or evaluation, use [`..\u002Ftraining-and-evaluation\u002FSKILL.md`](..\u002Ftraining-and-evaluation\u002FSKILL.md) and the root [`..\u002F..\u002FSKILL.md`](..\u002F..\u002FSKILL.md).\n- For SMPL\u002FAMASS shape fitting, motion fitting, or retargeting, use [`..\u002Fmotion-retargeting\u002FSKILL.md`](..\u002Fmotion-retargeting\u002FSKILL.md).\n- For base installs, simulator backends, ROS2, and optional SDK prerequisites, use root [`..\u002F..\u002Freferences\u002Finstall-and-backends.md`](..\u002F..\u002Freferences\u002Finstall-and-backends.md) when present.\n- For cross-cutting package\u002Fimport\u002Fconfig failures, use root [`..\u002F..\u002Freferences\u002Ftroubleshooting.md`](..\u002F..\u002Freferences\u002Ftroubleshooting.md) when present; keep deployment-specific failures in this sub-skill's [`references\u002Ftroubleshooting.md`](references\u002Ftroubleshooting.md).\n\nThis sub-skill intentionally excludes HumanoidVerse training internals and SMPL motion retargeting details except where a trained ONNX policy or retargeted mimic model path is required for deployment.\n",{"name":5,"license":14,"metadata":23,"description":7,"disable-model-invocation":25},{"disco-role":24},"operating",true,"main","ac3fe1afa80fb9a09775ecfb2b6cc3ba850a2db6","skills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment",27,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab","2026-09-03 10:25:21",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":25},[35,38,41],{"tool":36,"command":37},"npx","npx skills add VectorSpaceLab\u002FAREX-Skill --skill sim2real-deployment",{"tool":39,"command":40},"bunx","bunx skills add VectorSpaceLab\u002FAREX-Skill --skill sim2real-deployment",{"tool":42,"command":43},"pnpm","pnpm dlx skills add VectorSpaceLab\u002FAREX-Skill --skill sim2real-deployment","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002FSKILL.md",[46,52,56,60],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"references\u002Fconfiguration.md","REFERENCE","参考文档",8478,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002Freferences\u002Fconfiguration.md",{"path":53,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":54,"sourceHtmlUrl":55},"references\u002Ftroubleshooting.md",7963,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002Freferences\u002Ftroubleshooting.md",{"path":57,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":58,"sourceHtmlUrl":59},"references\u002Fworkflows.md",11115,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002Freferences\u002Fworkflows.md",{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"scripts\u002Fdeployment_doctor.py","SCRIPT","脚本",16246,"https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Frepositories\u002Frepo-skills\u002Fasap\u002Fsub-skills\u002Fsim2real-deployment\u002Fscripts\u002Fdeployment_doctor.py",[67,75,82,89,96,103],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"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.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FVectorSpaceLab\u002FAREX-Skill\u002Fblob\u002Fmain\u002Fskills\u002Ftask-oriented\u002FPassNet\u002Fskills\u002Fpassnet-triton-opt\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"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":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"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":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"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":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"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":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":71,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"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",[],[]]