ecto/vcad/assembly-physics
Claude Code and agent skill by ecto/vcad
- community
Checking that the SKILL.md file is still in the repository.
Build multi-part assemblies with joints and run physics simulations. Use when the user asks about robot arms, mechanisms, hinges, joints, physics simulation, reinforcement learning environments, or assembly of multiple parts.
Install
npx vskill@latest install ecto/vcad/assembly-physicsSKILL.md
vcad Assembly & Physics Simulation
Create assemblies from parts, connect them with joints, and run physics simulations via the vcad MCP tools.
Assembly Structure
An assembly is defined inside create_cad_document alongside the parts:
Instances
Each instance places a part in the assembly:
id— unique identifier (referenced by joints)part— name of a part in thepartsarrayposition— initial position in mm (optional)rotation— initial rotation in degrees (optional)
Joints
Joints connect two instances and define degrees of freedom:
parent— instance ID, ornullfor world/groundchild— instance IDtype— joint type (see below)axis—"x","y","z", or custom{x, y, z}vectorparent_anchor/child_anchor— connection points in local coordinateslimits—[min, max](degrees for revolute, mm for slider)state— initial angle or position
Ground
Set "ground" to the instance ID of the fixed/base part. This anchors the kinematic chain.
Joint Types
| Type | DOF | Description | State Unit | |
|---|---|---|---|---|
fixed | 0 | Rigid attachment, no motion | n/a | |
revolute | 1 | Rotation around axis (hinge) | degrees | |
slider | 1 | Translation along axis (piston) | mm | |
cylindrical | 2 | Rotation + translation on same axis | degrees | |
ball | 3 | Omnidirectional rotation | n/a |
Physics Simulation Tools
The gym-style tools simulate assembly dynamics using phyz:
| Tool | Purpose | |
|---|---|---|
create_robot_env | Initialize simulation from assembly document | |
gym_reset | Reset to initial state, returns observation | |
gym_step | Apply action, advance physics, returns observation + reward + done | |
gym_observe | Get current state without stepping | |
gym_close | Clean up simulation |
Simulation Workflow
create_robot_env
Returns: env_id, num_joints, action_dim, observation_dim.
gym_step
Action types:
"torque"— apply torque in Nm to each joint"position"— set target position (degrees for revolute, mm for slider)"velocity"— set target velocity (deg/s or mm/s)
The values array must have one entry per joint.
Returns:
observation— joint positions, velocities, end effector posesreward— scalar reward signaldone— true if episode ended (max steps or termination)
gym_reset / gym_observe
Both return the observation object:
Complete Example: 2-DOF Robot Arm
After creating the document, run a simulation:
create_robot_envwithend_effector_ids: ["upper-arm"]gym_resetto get initial observationgym_stepwithaction_type: "torque"and values per joint- Repeat step 3 for your control loop
gym_closewhen done
Tips
- Every assembly needs a
groundinstance — this is the fixed reference - Joint anchors are in the instance's local coordinate frame
- Revolute limits are in degrees, slider limits in mm
- State outside limits is clamped automatically
- Use
positionaction type for precise pose control,torquefor dynamic simulation end_effector_idsmust reference valid instance IDs in the assembly- Forward kinematics propagates transforms from ground through the joint chain
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/claude-code/skills/assembly-physics/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ecto/vcad/assembly-physics)