add-atomic-action

Add a custom atomic action to an EmbodiChain environment via ActionCfg and AtomicAction interfaces.

206|20|Updated Oct 24, 2025
One-click install
npx skills add https://github.com/DexForce/EmbodiChain --skill add-atomic-action
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-atomic-action
Source: https://github.com/DexForce/EmbodiChain/tree/main/skills/add-atomic-action
Command: npx skills add https://github.com/DexForce/EmbodiChain --skill add-atomic-action

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you add a new atomic action to an EmbodiChain environment without fighting the framework’s ActionCfg / AtomicAction conventions, so your custom observation, event, reward, action, dataset, or randomization functor can be recognized and executed correctly.

Core Features & Use Cases

  • ActionCfg scaffolding: Create a configclass that extends the right base config and provides a unique registry name used for discovery.
  • AtomicAction implementation: Implement fast validation and an execute method that returns success plus a properly shaped trajectory and joint_ids.
  • Engine registration and API export: Register the action with AtomicActionEngine and export it from the public package so it’s usable by downstream code.
  • Docs and tests guidance: Update the supported-actions documentation and add minimal tests to prevent regressions.

Quick Start

Ask your AI to “Create an EmbodiChain PushAction using the ActionCfg/AtomicAction pattern, register it under the name push, export it in atomic_actions/init.py, and add a basic test for config defaults and validate().”

Frequently Asked Questions about add-atomic-action

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a custom atomic action to an EmbodiChain environment?

To add a custom atomic action to an EmbodiChain environment, define an ActionCfg extending the base config with a unique name, implement the AtomicAction interface with execute() and validate() methods, then register it with AtomicActionEngine and export it in the public API.

What format should trajectory data return from an EmbodiChain AtomicAction execute method?

The trajectory data returned by an EmbodiChain AtomicAction execute method must be shaped as (n_envs, n_waypoints, len(joint_ids)). The execute() method must return this trajectory array alongside joint_ids and a boolean is_success flag.

Why do I need a unique name in my ActionCfg for robot simulation?

A unique name in your ActionCfg is required for registry discovery within the EmbodiChain framework. This registration ensures the custom motion primitive is recognized and can be correctly executed by the AtomicActionEngine across simulation workloads.

Can I use built-in EmbodiChain actions instead of scaffolding new motion primitives?

Built-in EmbodiChain actions cover standard behaviors, but you need to scaffold new motion primitives when extending AtomicActionEngine with behavior not covered by built-in actions for custom training data generation pipelines.

Does EmbodiChain require a validate() check before executing trajectory planning actions?

Yes, EmbodiChain requires a cheap validate() feasibility check in your AtomicAction implementation. This fast validation runs before the execute() method to ensure the trajectory planning action can be performed successfully.

What do I need to update after creating an ActionCfg for embodied AI simulation?

After creating an ActionCfg for embodied AI simulation, you must register the action with AtomicActionEngine, export it from the public package, update supported-actions documentation, and add minimal tests to prevent regressions.