---
name: rm75-drag-trajectory
description: "Use when Codex needs to work with the local RM75 drag-teach trajectory workflow in /home/mashiro/project/linkerhand-cpp-sdk: six-dof force position+orientation drag teaching, synchronized CSV recording, vendor trajectory save attempts, CSV-to-C++ TCP waypoint conversion, RM/data/trajectories folder management, and safe build/dry-run steps. Trigger for requests about RM75 trajectory recording, drag teach files, C++ waypoint conversion, or maintaining the rm_control trajectory modules."
---

# RM75 Drag Trajectory

Use this skill for the RM75 drag-teach trajectory pipeline in the linkerhand checkout.

## Workflow

1. Read `references/workflow.md` before editing code or running commands.
2. Prefer the `RM/` subproject for maintained C++ code.
3. Keep the older `examples/realman_trajectory_*` programs as compatibility demos unless the user explicitly asks to remove or refactor them.
4. Treat synchronized CSV as the primary artifact.
5. Treat `rm_save_trajectory` vendor output as best-effort because the six-dof force drag API does not expose a trajectory-record flag.

## Boundaries

- Put RM SDK calls only in `RM/src/drivers/realman/`.
- Put drag-teach workflow orchestration in `RM/src/core/`.
- Put CSV, directory, and C++ waypoint conversion code in `RM/src/modules/trajectory/`.
- Put human operating instructions in `docs/` or `RM/README.md`.
- Do not run motion or drag-teach commands unless the user explicitly asks and confirms the safety setup.

## Default Safety

Build and validate first. For live drag teach, ensure the workspace is clear, payload is safe, and E-stop is reachable. For TCP replay work, generate C++ waypoint data first; do not jump directly from CSV to live `rm_movel`.
