add-embodiment-component
Skill240 starsChanged 11 days agoApache-2.0View on GitHub
Add or update a reusable EmbodiChain embodiment YAML component that owns one simulation robot, its sensor suite, and an optional Task Program skill_profile. Use for configs/components/embodiments, new Task Program-compatible robots, or multi-embodiment task deployment.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- add-atomic-actionSkill
- add-functorSkill
- add-robotSkill
- add-semantic-callSkill
- add-solverSkill
- add-task-envSkill
- add-task-programSkill
- add-testSkill
- benchmarkSkill
- implement-performanceSkill
- pre-commit-checkSkill
- project-dev-contextSkill
- prSkill
- releaseSkill
- review-prSkill
- update-api-docsSkill
- add-atomic-actionSkill
- add-embodiment-componentSkill
- add-functorSkill
- add-robotSkill
- add-semantic-callSkill
- add-solverSkill
- add-task-envSkill
- add-task-programSkill
- add-testSkill
- benchmarkSkill
- implement-performanceSkill
- pre-commit-checkSkill
- project-dev-contextSkill
- prSkill
- releaseSkill
- review-prSkill
- update-api-docsSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Create the reusable physical and semantic declaration that lets one robot configuration serve many tasks.
- Very specific: line 32
Read agent_context/MAP.yaml, then resolve:
- Very specific: line 44
If an existing registered robot config can express the request, select it in simulation and add only necessary config overrides.
- Very specific: line 49
Keep robot-mounted camera calibration in the robot configuration.
- Very specific: line 71
Use logical resource IDs such as primary_manipulator, left, or right.
- Very specific: line 77
Put embodiment-calibrated services in skill_profile.runtime_services, such as gripper-specific antipodal grasp generation or control-part …
- Distinctive: line 85
Only use service kinds accepted by the current configured decoder.
- Distinctive: line 110
verify the combined independent/mounted sensor UIDs, parent links and shapes.
- Distinctive: line 111
verify every profile endpoint/control part/capability and command preset.
- Distinctive: line 115
run a minimal live robot/sensor smoke test when available.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Add Embodiment Component
Create the reusable physical and semantic declaration that lets one robot configuration serve many tasks.
Establish scope
An embodiment component belongs at:
extensions/embodichain_tasks/configs/components/embodiments/<embodiment_id>.yamlIt owns exactly:
embodiment_id;- one
simulationrobot mapping; - the independent
sensorlist (mounted defaults belong toRobotCfg.sensors); - optional
skill_profile.
It does not own a task, physical scene, Task Program, execution policy,
task-local object IDs, or runnable Gym ID. Component files do not use a
compatibility version field.
Load current context
Read agent_context/MAP.yaml, then resolve:
robot-system;sensor-system; andtask-programswhen askill_profileis requested.
Inspect the closest current component under
extensions/embodichain_tasks/configs/components/embodiments/ and the intended runnable
task deployment.
Reuse or add the robot
If an existing registered robot config can express the request, select it in
simulation and add only necessary config overrides. If a new
RobotCfg/URDF/control-part implementation is required, invoke $add-robot
first. This skill does not duplicate robot registration logic in YAML.
Keep robot-mounted camera calibration in the robot configuration. The component
selects that robot and declares additional independent sensors; do not repeat
mounted defaults in sensor. Sensor UIDs must be unique across both sources.
Gym initializes both sources by default and uses enable_sensor: false to
disable both, overriding the robot's standalone initialization switch.
Add skill_profile only when needed
Handwritten and RL deployments may use an embodiment without semantic
metadata. A configured Task Program requires skill_profile with:
contract_id: the compatibility contract tasks/policies require;profile_id: stable unversioned profile identity;resources: logical task-facing resources;command_presets: named control commands;- optional
runtime_services.
Each resource declares logical endpoints. Endpoint declarations map to actual
control_part names and list only capabilities the selected robot/runtime
can provide. Grasp endpoints that require open/grasp commands select a matching
command preset.
Use logical resource IDs such as primary_manipulator, left, or right;
Task Program integrations bind Semantic Call slots to these IDs. Do not expose
task-local names as reusable resources.
Runtime service ownership
Put embodiment-calibrated services in skill_profile.runtime_services, such
as gripper-specific antipodal grasp generation or control-part evidence. Put
task-specific targets, poses, and overrides in the task integration.
For reusable joint-position constraint evidence, omit object_ids unless the
embodiment truly supports only an explicit global set. Omission lets runtime
assembly scope evidence to graspable objects in the selected task scene.
Only use service kinds accepted by the current configured decoder. Never serialize a dotted import or callable.
Attach without copying
A runnable deployment selects:
embodiment:
component: ../../../components/embodiments/<embodiment_id>.yamlOptional deployment overrides are limited to uid, init_pos, init_rot,
and init_qpos. Do not repeat inline robot or sensor fields.
One task can provide multiple thin deployments selecting compatible embodiments. Keep the program embodiment-independent and validate the integration and policy contracts against every variant.
Validation
At minimum:
- decode the YAML as a closed embodiment component;
- build the selected robot config and verify control parts;
- verify the combined independent/mounted sensor UIDs, parent links and shapes;
- verify every profile endpoint/control part/capability and command preset;
- compose at least one intended task deployment;
- for Task Program use, run
$add-task-program's deployment inspector; - run a minimal live robot/sensor smoke test when available.
Checklist
- Component selects exactly one robot and declares only additional sensors
- Existing robot config was reused, or
$add-robotwas completed first - Profile is omitted when no semantic consumer needs it
- Contract/profile/resource/preset IDs are stable and unversioned
- Endpoint control parts exist on the robot
- Declared capabilities and commands are actually supported
- Reusable services contain no task-local object IDs or poses
- At least one intended deployment composes successfully
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

