EmbodiChain
AGENTS.md240 starsChanged 11 days agoApache-2.0View on GitHub
Read agent_context/MAP.yaml first for project context or code navigation, then follow .agents/skills/project-dev-context/SKILL.md. Load only the matched overview; follow its detail links when the request needs them. Verify relevant facts against current code before recommending a change. MAP.yaml is the sole topic inventory; conventions are loaded for context maintenance, not ordinary reads. Do not read docs/source/ unless the user asks for Sphinx documentation. Canonical skills live under .agents/skills/. .claude/skills/ and .github/copilot/ contain thin adapters, not independent instructions. The distribution and primary…
- Installs packages
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository35 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- 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
- 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
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
17 rules. About 0 are common, 3 are distinctive, and 14 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 5
Read agent_context/MAP.yaml first for project context or code navigation, then follow .agents/skills/project-dev-context/SKILL.md.
- Very specific: line 75
Keep import registration in the task-named module at extensions/embodichain_tasks/embodichain_tasks/<category-path>/<task>.py.
- Very specific: line 88
Every inline runnable Gym config and reusable physical environment declares exactly one physics: default|newton backend.
- Distinctive: line 96
When task analysis identifies algorithmic complexity, data layout, batching, memory use or synchronization costs as material to the …
- Very specific: line 102
Run black==26.10.1, using black ., before every commit.
- Very specific: line 103
Use /pre-commit-check for proportional checks.
- Distinctive: line 107
Add only cases that close meaningful coverage gaps.
- Very specific: line 108
Treat scripts/tutorials/ as examples, not production API test targets.
- Very specific: line 112
When a change affects both a tutorial and production code, test the underlying production contract instead.
- Very specific: line 118
Add from __future__ import annotations.
- Very specific: line 120
Use @configclass for configuration objects.
- Very specific: line 125
Update public API docs with /update-api-docs.
- Very specific: line 129
When routed behavior changes, review affected context in the same change: python .agents/skills/project-dev-context/scripts/context.py …
- Very specific: line 131
Follow the context skill's no-update/revise/add decision.
- Very specific: line 137
Use .github/ISSUE_TEMPLATE/bug.md for [Bug Report] issues with a minimal reproduction and commit/OS/GPU/CUDA/driver details.
- Very specific: line 139
Use .github/ISSUE_TEMPLATE/proposal.md for [Proposal] motivation and scope.
- Distinctive: line 140
Keep branches and PRs focused on one logical change and use the PR template.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md 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
EmbodiChain — Developer reference
Project context
Read agent_context/MAP.yaml first for project context or code navigation,
then follow .agents/skills/project-dev-context/SKILL.md.
Load only the matched overview; follow its detail links when the request needs
them. Verify relevant facts against current code before recommending a change.
MAP.yaml is the sole topic inventory; conventions are loaded for context
maintenance, not ordinary reads. Do not read docs/source/ unless the user
asks for Sphinx documentation.
Canonical skills live under .agents/skills/. .claude/skills/ and
.github/copilot/ contain thin adapters, not independent instructions.
Package and architecture
The distribution and primary import package are embodichain, lowercase
and one word. The repository directory is EmbodiChain; the same wheel
bundles official tasks as embodichain_tasks and concrete robot presets as
embodichain_robots, with the same version and distribution metadata.
Their sources live under extensions/, a repository container rather than
a Python namespace. Keep the embodichain_ prefix for bundled extension modules.
| Area | Owner |
| CLI dispatch / task discovery | embodichain/cli/ |
| Shared numerical algorithms | embodichain/compute/ |
| Shared asset downloads, cache and registry | embodichain/data/ |
| Online datasets and depth video | embodichain/data_pipeline/ |
| Scene Engine and SimReady generation | embodichain/gen_sim/ |
| Simulation world, objects, sensors, solvers, planning | embodichain/lab/sim/ |
| Gym environments and manager functors | embodichain/lab/gym/ |
| Task Program language, semantics, compiler, runtime and integrations | embodichain/lab/task_program/ |
| Browser visualization | embodichain/lab/visualization/ |
| RL algorithms, policies, collectors and trainers | embodichain/learning/rl/ |
| Real-device controllers / standalone tools | embodichain/lab/devices/, embodichain/toolkits/ |
| Shared config and math utilities | embodichain/utils/ |
| Official task entry points / components / deployments | extensions/embodichain_tasks/ |
| Concrete robot configurations / model-owned asset definitions / calibrated defaults | extensions/embodichain_robots/ |
Generic robot runtime/configuration and dual-arm composition remain in
embodichain/lab/sim/; lightweight catalog resolution lives in
embodichain/robot_registry.py. Concrete robot presets register
through the embodichain.robots catalog entry point. Concrete presets and migrated model-owned asset definitions use vendor/model
namespaces in embodichain_robots. Shared download/cache machinery stays in
embodichain/data; the embodichain.assets entry point registers robot assets.
Concrete presets import from embodichain_robots; embodichain.lab.sim.robots owns only generic
dual-arm composition.
Shared numerical algorithms belong to compute/<domain>/, with Warp kernels
under private _warp/ packages. Compute must not import lab, simulation
objects or environment managers. Stateful solvers remain in lab/sim/motion/solvers;
contact-data adaptation belongs to sensors. New trajectory consumers import
embodichain.compute.trajectory; existing utils/warp and pure
lab/sim/utility/action_utils exports remain compatibility surfaces.
Motion APIs live under embodichain.lab.sim.motion.{solvers,planners,workspace,expansion}.
motion/motion_generator.py owns MotionGenerator, MotionGenCfg, and
MotionGenOptions, composing the planner backends. Planners do not re-export it.
The motion parent and workspace analyzer exports remain lazy to preserve Robot
initialization. Trajectory augmentation owns candidates, operators, coverage and
generation bookkeeping; execution, reset and persistence belong to host integrations.
Task ownership
Official robot defaults and examples name end-effector control groups eef
(single arm) or left_eef / right_eef (dual arm), alongside arm or
left_arm / right_arm. This is a naming convention, not a schema restriction:
custom control-part names remain valid and must not be automatically rewritten.
URDF component, link and joint names are separate identifiers and retain their
asset-defined spelling. Capabilities come from explicit configuration, not names.
Organize official tasks by family, optional subdomain and task identity.
Keep import registration in the task-named module at
extensions/embodichain_tasks/embodichain_tasks/<category-path>/<task>.py; configs belong
under extensions/embodichain_tasks/configs/tasks/<category-path>/<task>/. Do not add a
same-named Python package for one entry point or scenario / mdp modules when
existing config fields and manager functors express the task.
Physical environments, robot/sensor embodiments, and Task Program semantic
integration have separate owners. Component selections cannot duplicate the
inline fields they own. A supported configuration-defined Task Program may
omit the Python task module. Follow the authoritative
configuration and registration contract
and /add-task-env before adding a deployment.
Every inline runnable Gym config and reusable physical environment declares
exactly one physics: default|newton backend. An environment component owns
its optional matching physics_config; a deployment cannot repeat or override
either field. Launcher --physics may confirm the file-owned backend but does
not switch it. Use a separate environment config for each backend.
Code and validation
- When task analysis identifies algorithmic complexity, data layout, batching,
memory use or synchronization costs as material to the implementation,
design and implement from a systems and HPC engineering perspective using
implement-performance.
Preserve numerical correctness and public contracts; validate material
performance claims with representative measurements using
/benchmark. - Run
black==26.10.1, usingblack ., before every commit. - Use
/pre-commit-checkfor proportional checks. Production fixes/features need focused behavioral coverage; existing tests may suffice. Before and after adding or extending tests, apply the test necessity review. Add only cases that close meaningful coverage gaps. - Treat
scripts/tutorials/**as examples, not production API test targets. Do not create or expand tests whose primary subject is a tutorial, and do not import tutorial scripts into new tests, unless the user explicitly requests tutorial test coverage. - When a change affects both a tutorial and production code, test the underlying production contract instead. For tutorial-only changes, use existing syntax/import/static checks and do not add a new test file unless requested.
- New source files use the Apache 2.0 copyright header from .agents/skills/pre-commit-check/SKILL.md, with DexForce's 2021–2026 copyright. Preserve existing third-party licenses.
- Add
from __future__ import annotations; fully annotate public APIs, preferA | B, and guard circular imports withTYPE_CHECKING. - Use
@configclassfor configuration objects. AnnotatedMISSINGdefaults requirecfg.validate()after assembly; construction may leave them unresolved. - Define
__all__for public modules. Use Google-style docstrings with Sphinx directives where they explain non-obvious behavior. - Manager functors have manager-specific signatures; use
/add-functor. - Update public API docs with
/update-api-docs; the read-only coverage gate ispython docs/scripts/check_api_docs.py. Sphinx sources live indocs/source/; build withpip install -r docs/requirements.txt, thenmake -C docs html. For locale errors useLC_ALL=C.UTF-8andLANG=C.UTF-8. - When routed behavior changes, review affected context in the same change:
python .agents/skills/project-dev-context/scripts/context.py affected --base origin/main --explain. Follow the context skill's no-update/revise/add decision. Review does not require an edit when guidance remains accurate and sufficient; state the reason in the PR or task result.
Contribution routes
Use .github/ISSUE_TEMPLATE/bug.md for [Bug Report] issues with a minimal
reproduction and commit/OS/GPU/CUDA/driver details; check duplicates first.
Use .github/ISSUE_TEMPLATE/proposal.md for [Proposal] motivation and scope.
Keep branches and PRs focused on one logical change and use the PR template.
| Skill | Use |
/project-dev-context | Navigate, read, refresh or add project context |
/add-task-env | Select environment-only, handwritten expert, Task Program or RL task route |
/add-task-program | Author, integrate, deploy, validate or repair a program |
/add-embodiment-component | Reuse a robot, sensors and optional skill profile |
/add-semantic-call | Expose an Atomic Skill as a Semantic Call |
/add-atomic-action | Add typed action planning/execution |
/add-robot | Add robot config and kinematic-chain wiring |
/add-solver | Add IK/FK solver, docs, tests and benchmark |
/add-functor | Add observation, reward, event, action, dataset or randomization operation |
/add-test | Add focused tests with project conventions |
/benchmark | Write a benchmark using project patterns |
/implement-performance | Design and implement performance-sensitive computation |
/update-api-docs | Synchronize public API documentation |
/pre-commit-check | Validate readiness proportionally |
/review-pr | Review a change for evidence-backed regressions |
/pr | Draft or create a single or stacked PR |
/release | Prepare or publish release artifacts |
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.

