Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Convert an agentic HDF5 recording into a LeRobot dataset (parquet, meta, videos). Use when asked to convert HDF5, prepare for training, or export to LeRobot; not for viewing — use [[i4h-lerobot-viz]].
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -13% | 0% |
Convert an agentic HDF5 recording into a LeRobot dataset (parquet + meta + videos). Use when the user asks to convert HDF5, prepare for training, or export to LeRobot.
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:
bash# 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"
--env that produced the HDF5.workflows/agentic/config/environments/<env>.yaml supplies the robot, task, cameras, and dataset.* (action/state names, splits, modality) converter defaults.HF_LEROBOT_HOME/<repo-id>.Run the steps below in order. Each step is a separate bash call; variables persist in the local agent's tmux session.
bashREPO_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" # Point HDF5_PATH at a real recording (absolute path). Recordings come from teleop, mimic, or # validate (which writes data/verify.hdf5 under each runs/eval_* dir). List candidates newest-first: # find "${RUNS_ROOT}" -name '*.hdf5' -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort -r | head HDF5_PATH="${HDF5_PATH:-}" if [ ! -f "${HDF5_PATH}" ]; then echo "convert: set HDF5_PATH to an existing .hdf5 (got '${HDF5_PATH:-<unset>}'). Candidates:" >&2 find "${RUNS_ROOT}" -name '*.hdf5' -printf '%TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null | sort -r | head exit 1 fi RUN_DIR="${RUNS_ROOT}/convert_${ENV_ID}_$(date +%Y%m%d_%H%M%S)" mkdir -p "${RUN_DIR}/logs" ln -sfn "${RUN_DIR}" "${RUNS_ROOT}/.latest" export HF_LEROBOT_HOME="${RUN_DIR}/lerobot"
bash"${REPO_ROOT}/workflows/agentic/dataset/run.sh" \ --env "${ENV_ID}" \ --hdf5-path "${HDF5_PATH}" \ --repo-id "local/${ENV_ID}" \ --video-codec h264 \ --overwrite \ 2>&1 | tee "${RUN_DIR}/logs/convert.log"
--video-codec h264 is required. The converter's default AV1 codec breaks GR00T's decord video reader at finetune time.meta/modality.json from YAML splits and does not need dataset.modality_template_path.dataset.modality_template_path from the env YAML.policy.image_size (override with --image-size H W), normalizing mixed-resolution cameras (e.g. head cam + overview cam) to the one size the modality config expects.${HF_LEROBOT_HOME}/local/${ENV_ID}/meta/info.json exists.${HF_LEROBOT_HOME}/local/${ENV_ID}/..venv must exist).HDF5_PATH to an absolute path; the Run block lists candidates if it's unset or wrong).--env that produced the HDF5 (its YAML supplies robot, task, camera, modality, and converter defaults).HF_LEROBOT_HOME set to the output location for <repo-id>.--video-codec h264 is required; the converter's default AV1 codec breaks GR00T's decord reader at finetune time.policy.image_size (override with --image-size H W).dataset.modality_template_path from the env YAML; scissor SO-ARM generates meta/modality.json from YAML splits..venv not found / module import fails - Cause: workflow not set up. Fix: run i4h-workflow-setup]] first.--hdf5-path. Fix: point HDF5_PATH at an existing recording.decord fails to read video at finetune time - Cause: dataset written with the default AV1 codec. Fix: re-convert with --video-codec h264.--env, so robot/task/camera/modality defaults do not match the HDF5. Fix: use the same --env that produced the recording.Report source HDF5, dataset path, repo id, episode count, skipped or failed episodes.
Other measured skills in the registry, with their headline benchmark lift.