
Cap Tool Usage
Localize objects and compose low-level CAP MCP actions using observations, Cartesian or...
Install
npx skills add NVlabs/ASPIRE --skill cap-tool-usage -g -a claude-code -y- Repository
- NVlabs/ASPIRE925
- Category
- AI and agents
- Updated
- 20d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 1,550 tokens
- Runs scripts
- No, instructions only
What it does
Localize objects and compose low-level CAP MCP actions using observations, Cartesian or synchronized motion, joint targets, and single-arm gripper control.
CAP Tool Usage
Follow AGENTS.md. Use the native mcp__cap__* interface
attached to the ASPIRE CAP session. Keep that session as the only environment and
camera owner; do not create another robot or camera runtime during a physical task.
For a plainly short-horizon task, execute the shortest dependency-ordered MCP sequence immediately. Skip source inspection, a full planning report, and redundant checks.
ASPIRE action contract
Native MCP schemas are authoritative. The low-level action tools are:
| Tool | Target |
|---|---|
cap_move_to_pose | target_pose, with arm="left" or "right" |
cap_move_synchronized | targets={"left": pose, "right": pose} for jointly planned motion |
cap_move_to_joints | target containing six joint angles in radians, with arm |
cap_set_gripper | position from 0 closed to 1 open, with arm |
An absolute pose includes position: [x, y, z] in metres, frame, and exactly one
of rpy_deg: [roll, pitch, yaw] or quaternion_wxyz: [w, x, y, z]. RPY uses degrees
and fixed-axis XYZ: R = Rz(yaw) @ Ry(pitch) @ Rx(roll) in the declared frame.
Returned poses use WXYZ quaternions. Read measured arm poses with cap_get_robot_state.
For Cartesian or synchronized pose motion with cuRobo configured, select
strategy={"ik_solver":"mink","trajectory_planner":"curobo"}. Never disable
collision checking to force a failed plan through. Do not use direct joint motion
as implicit IK or to bypass a failed collision-aware Cartesian plan.
For a layer turn, derive successive absolute pose targets from the measured cube
axis and EEF pose. An offset EEF needs both its position and orientation rotated
about that axis. Verify contact and actual sticker motion from returned evidence.
Use separate cap_set_gripper calls for intended grip changes. Prefer synchronized
motion only when both targets are grounded and neither depends on the other's feedback.

