Help us improve
Share bugs, ideas, or general feedback.
From dora-skills
Records and replays robot sensor data using dora-rs and LeRobot for imitation learning and dataset management. Useful for data collection and training pipelines.
npx claudepluginhub zhanghandong/dora-skills --plugin dora-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/dora-skills:data-pipelineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Recording and replaying robot data with dora-rs
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides systematic root-cause debugging when tests fail, builds break, or unexpected errors occur. Provides a structured triage checklist to preserve evidence, localize, and fix issues instead of guessing.
Share bugs, ideas, or general feedback.
Recording and replaying robot data with dora-rs
Dora supports data pipelines for:
Note: dora-lerobot is from a separate repository, not PyPI. Install from source:
git clone https://github.com/dora-rs/dora-lerobot cd dora-lerobot pip install -e dora_lerobot
nodes:
# Camera
- id: camera
build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/33
outputs:
- image
# Robot arm
- id: arm
build: pip install dora-rustypot
path: dora-rustypot
inputs:
command: teleop/command
outputs:
- state
- feedback
# LeRobot recorder (install from dora-lerobot repo first)
- id: recorder
path: dora-lerobot-recorder
inputs:
image: camera/image
state: arm/state
action: teleop/command
env:
DATASET_NAME: my_robot_dataset
EPISODE_INDEX: "0"
nodes:
# LeRobot replay (install from dora-lerobot repo first)
- id: replay
path: dora-lerobot-replay
inputs:
tick: dora/timer/millis/33
outputs:
- image
- state
- action
env:
DATASET_NAME: my_robot_dataset
EPISODE_INDEX: "0"
# Visualization
- id: plot
build: pip install dora-rerun
path: dora-rerun
inputs:
image: replay/image
# 1. Start recording session
dora run record_dataflow.yml
# 2. Perform teleoperation
# 3. Press Ctrl+C to stop and save
# 4. Repeat for multiple episodes
EPISODE_INDEX=1 dora run record_dataflow.yml
EPISODE_INDEX=2 dora run record_dataflow.yml
# 5. Train policy
python train_policy.py --dataset my_robot_dataset
| Node | Install | Purpose |
|---|---|---|
| dora-lerobot-recorder | From dora-lerobot repo | Record data |
| dora-lerobot-replay | From dora-lerobot repo | Replay data |
| llama-factory-recorder | pip install llama-factory-recorder | Record for LLM/VLM training |
| lerobot-dashboard | pip install lerobot-dashboard | Pygame recording interface |
| dora-rdt-1b | pip install dora-rdt-1b | VLA policy inference |
# Run teleoperation dataflow
dora run record_dataflow.yml
# Mark episodes
# Press 'n' for new episode, 'f' for failed
# The recorder automatically saves in LeRobot format
# Dataset saved to: ~/.lerobot/datasets/<dataset_name>
# Using LeRobot CLI
python lerobot/train.py \
--dataset my_robot_dataset \
--policy diffusion \
--output_dir outputs/my_policy
nodes:
- id: camera
path: opencv-video-capture
inputs:
tick: dora/timer/millis/33
outputs:
- image
- id: policy
build: pip install dora-rdt-1b
path: dora-rdt-1b
inputs:
image: camera/image
outputs:
- action
- id: robot
path: dora-piper
inputs:
joint_positions: policy/action