
i4h Workflow Teleop Record
OfficialFreeRecord teleoperated episodes into HDF5 format.
Free · Opens the source repo
What i4h Workflow Teleop Record does
The i4h Workflow Teleop Record skill is designed for users who need to record episodes in an agentic environment through teleoperation. This skill supports various input methods, including keyboard, SO-ARM leader, or VR devices, allowing for flexible interaction. It is particularly useful for researchers and developers who want to capture human demonstrations for training or testing AI agents. By recording these interactions, users can create datasets that reflect real-world scenarios, enhancing the learning capabilities of their models.
To begin using the skill, users must set up their environment and ensure that the necessary workflows are in place. The skill provides a clear command structure to facilitate the recording process, starting with environment configuration and followed by the execution of teleoperation commands. Users can specify the number of episodes to record and the target file for saving the data, which is stored in HDF5 format. This structured approach helps maintain organization and clarity in the recorded data.
The skill also includes essential controls and keybindings that are consistent across devices, ensuring that users can easily start and manage their recording sessions. The documentation provides detailed guidance on how to set up and run the teleoperation, including device-specific instructions and troubleshooting tips. By following these guidelines, users can effectively capture the desired episodes and verify successful recordings, making this skill a valuable tool for anyone working with AI agents in teleoperated environments.
When to use it
Use this skill when you need to record episodes in an agentic environment, especially during testing or training phases.
When not to use it
Avoid using this skill if you do not have a compatible teleoperation device or if you are looking for a headless recording solution without human input.
What you can build with it
Recording Human Demos
Capture real-time human interactions with the agent environment to create training datasets.
Testing AI Agents
Use recorded episodes to evaluate and improve the performance of AI agents in simulated environments.
Demonstrating Capabilities
Showcase the functionality of AI agents by recording and replaying human-driven demonstrations.
How to install i4h Workflow Teleop Record
View source1. Install with the skills CLI
npx skills add nvidia/skills/i4h-workflow-dataset-teleop --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nvidiai4h Workflow — Teleop Record
Purpose
Record episodes for an agentic env via teleoperation (keyboard, SO-ARM leader, or VR) into HDF5. Use when the user wants to teleop or record human demos.
Base Code
These steps drive the i4h-workflows base code (the workflows/agentic/ tree). To reuse an existing checkout, set I4H_WORKFLOWS to its path (no clone happens). Otherwise this resolves the current repo, or clones to ~/i4h-workflows — pick that default without prompting. Run every command below from the resolved root:
# Resolve the i4h-workflows base code (provides workflows/agentic/).
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/agentic" ]; then
ROOT="${I4H_WORKFLOWS:-$HOME/i4h-workflows}"
[ -d "$ROOT/workflows/agentic" ] || git clone https://github.com/isaac-for-healthcare/i4h-workflows "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"; cd "$ROOT"
Basics
- Env config (source of truth):
workflows/agentic/config/environments/<env>.yaml—robot.type,zenoh.camera_names, and the task for<env>. - Teleop runs through
arena/run.sh --teleop. - Device support is env-specific. Check
arena/run.sh --env <env> --helpfor valid--teleop-devicevalues. - Do not run teleop headless unless the user explicitly asks. Teleop is a GUI/hardware handoff: launching the recorder is not the same as recording successful demos.
Controls
Reserved keys (consistent across devices):
| Key | Action |
|---|---|
B | Start episode |
N | Mark success, save, advance |
R | Discard, reset |
F | Reserved by Isaac Sim — do not bind |
Device-specific keybindings (move, rotate, gripper, mode switches) are printed by the teleop process at startup and vary by --teleop-device. Report them to the user from the log; they cannot drive the sim without them. See "Surface Device Keybindings". For keyboard_23d, the banner can print late, after scene creation and recorder setup; wait for mode/control markers such as BOTH_HANDS, HAND MODE, BASE NAVIGATION MODE, SPECIAL KEYS, or Current Mode before saying the controls are missing.
Stop from terminal:
workflows/agentic/stop.sh arena --env <env>
Known Devices
| Env | Devices |
|---|---|
scissor_pick_and_place | keyboard, so101_leader |
locomanip_tray_pick_and_place | keyboard_23d |
locomanip_push_cart | keyboard_23d |
For other envs, consult arena/run.sh --env <env> --help.
Run
Run the steps below in order. Each step is a separate bash call; variables persist in the local agent's tmux session.
Step 1 — setup
REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"
ENV_ID=scissor_pick_and_place
RUNS_ROOT="${REPO_ROOT}/workflows/agentic/runs"
RUN_DIR="${RUNS_ROOT}/teleop_${ENV_ID}_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/data" "${RUN_DIR}/logs"
ln -sfn "${RUN_DIR}" "${RUNS_ROOT}/.latest"
Step 2 — teleop record
Use the foreground form when the human operator is ready to drive immediately and the agent can stay attached until completion:
"${REPO_ROOT}/workflows/agentic/arena/run.sh" \
--env "${ENV_ID}" \
--teleop \
--teleop-device <device> \
--episodes 3 \
--record-to "${RUN_DIR}/data/demo.hdf5" \
2>&1 | tee "${RUN_DIR}/logs/teleop.log"
If no human operator is ready, do not fake demos and do not leave a teleop process behind. You may launch long enough to confirm the visible GUI, recorder, and controls, then stop cleanly and report that recording is waiting on a human operator.
Surface Device Keybindings
The teleop process prints its keybinding table to stdout shortly after launch (look for sections such as Keybindings, Controls, Key Map, BOTH_HANDS, HAND MODE, BASE NAVIGATION MODE, SPECIAL KEYS, WORKSPACE LIMITS, Current Mode, mode-switch lines, or any block enumerating keys/actions). Wait for the table to appear, extract it from the log, and report it to the user before they need to drive the sim.
# After launching teleop and tailing the log:
for i in $(seq 1 180); do
if grep -qiE 'Keybind|Controls|Key Map|BOTH_HANDS|HAND MODE|BASE NAVIGATION MODE|SPECIAL KEYS|WORKSPACE LIMITS|Current Mode|Mode\] Switched|run complete|Traceback|Error' "${RUN_DIR}/logs/teleop.log" 2>/dev/null; then
break
fi
sleep 1
done
grep -n -A80 -E 'Keybind|Controls|Key Map|BOTH_HANDS|HAND MODE|BASE NAVIGATION MODE|SPECIAL KEYS|WORKSPACE LIMITS|Current Mode|Mode\] Switched' "${RUN_DIR}/logs/teleop.log" | head -120
If the block is multi-section (e.g. BOTH_HANDS, BASE_NAV, LEFT_HAND, RIGHT_HAND modes), include every mode in the report. Append the reserved keys above so the user has one consolidated reference.
Notes
--record-tomust be absolute. The recorder resolves relative paths againstworkflows/agentic/arena(its CWD) and writes to a nested orphan dir.${RUN_DIR}/data/demo.hdf5built from${REPO_ROOT}is absolute.- Use
--save-all-episodesonly when failed attempts must be kept. - If the prompt asks "Run teleop for N episodes" and no human/operator input is available, launch the visible recorder only for readiness/control verification, stop it cleanly, and report that no demos were recorded; do not claim N episodes were recorded.
Verify
${RUN_DIR}/data/demo.hdf5exists.- Log contains
run complete: N/M episodes succeeded, and N must equal the requested episode count before reporting success. A tiny HDF5 with0/M episodes succeededis only a failed/empty recording artifact, not a usable dataset. - Before final response, verify no unintended teleop process is left running unless the user explicitly asked to keep it open.
Prerequisites
- Workflow set up via [[i4h-workflow-setup]] (the
.venvmust exist). - A valid env id and a
--teleop-deviceit supports (see Known Devices orarena/run.sh --env <env> --help). - The chosen teleop device available (keyboard, SO-ARM leader, or VR).
- An absolute
--record-toHDF5 path (relative paths resolve againstarena's CWD).
Limitations
- Device support is env-specific; not every device works with every env.
--record-tomust be absolute or the recording lands in a nested orphan dir.- By default only successful episodes are saved; use
--save-all-episodesto keep failed attempts. - Device-specific keybindings are only printed at startup; they cannot be known before launching.
Troubleshooting
- Error:
.venvnot found / teleop fails to launch - Cause: workflow not set up. Fix: run [[i4h-workflow-setup]] first. - Error: invalid
--teleop-devicefor env - Cause: device not supported by that env. Fix: pick a value fromarena/run.sh --env <env> --help(or Known Devices). - Error: HDF5 written to an unexpected/nested location - Cause:
--record-towas relative. Fix: pass an absolute path built from${REPO_ROOT}. - Error: keybindings missing / cannot drive the sim - Cause: the device keybinding table was not surfaced. Fix: extract the table from the log before the operator starts driving (see Surface Device Keybindings).
- Error: run exits with
0/N episodes succeeded- Cause: no human/operator completed episodes. Fix: record successful source demos with an operator; do not continue to mimic/convert/finetune from an empty HDF5.
Final Response
Report env, device, the device-specific keybinding table extracted from the log, requested vs saved episodes, HDF5 path, log path.
Frequently asked questions about i4h Workflow Teleop Record
Similar skills
Skill Creator
Efficiently create and manage skills for Gemini CLI.
Agent Development
Create and manage autonomous agents for Claude Code.
Math Olympiad Solver
Solve and verify competition math problems effectively.
Microsoft Skill Creator
Create specialized skills for Microsoft technologies.
Doublecheck
A verification pipeline for AI-generated claims.
Skill Development for Claude Code
Create and enhance skills for Claude Code plugins.
