Local authoring syntax for motorized moving parts and future electromechanics sections. Use when editing `assembly_definition.yaml`, `final_assembly`, `moving_parts`, `AssemblyPartConfig.control`, or related motion syntax in planner and solution handoffs.
This skill covers the solution-facing syntax for motorized moving parts. It is
the contract layer between authored handoffs and runtime controller mapping.
Use it before editing assembly_definition.yaml or solution scripts that
declare moving parts, motor controls, or future explicit electronics.
For explicit circuit, power, or wire-routing work, still load
electronics-engineering.
specs/architecture/agents/handover-contracts.mdshared/models/schemas.py../cots-parts/SKILL.md../electronics-engineering/SKILL.md when the handoff includes an explicit
electronics section or circuit-validation taskAssemblyDefinition.final_assembly is the authored source of truth.
moving_parts is derived from it.PartConfig.name as the stable moving-part identifier.AssemblyPartConfig.dofs to declare motion. dofs: [] means static.AssemblyPartConfig.control only for motorized parts. The canonical
control modes are CONSTANT, SINUSOIDAL, and ON_OFF. The parser accepts
case-insensitive spellings, but new handoffs should use uppercase canonical
values.speed populated for motorized parts. Use frequency only when the
selected control mode needs it.assembly_definition.yaml.cots_parts.
Motion syntax does not replace provenance.electronics section. Add power or wiring only
when the handoff explicitly requires it.part_id aligned with the
motion contract.electronics-engineering for that part of the contract.cots_parts:
- part_id: ServoMotor_DS3218
manufacturer: Generic
unit_cost_usd: 18.0
quantity: 1
source: catalog
final_assembly:
- name: drive_motor
config:
dofs: ["rotate_z"]
control:
mode: CONSTANT
speed: 1.0
- name: frame
config:
dofs: []
electronics-engineering.build123d-cad-drafting-skill and cots-parts.