I4h Lerobot Viz
NVIDIAOfficialCreated by Isaac for Healthcare TeamDistributed by NVIDIA
- Skill
- Tool integration
- Data and AI
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a mechanism to serve and visually validate converted LeRobot datasets. It enables users to inspect episode videos, state and action timelines, and metadata to ensure the dataset is correctly formatted and complete. It is designed for post-conversion verification and requires a completed dataset with a valid meta/info.json file.
What it does
- Locates and identifies converted LeRobot datasets.
- Launches a local web server to host the dataset for inspection.
- Provides a browser-based interface to view camera videos and data timelines.
- Verifies episode counts and task information against metadata.
- Manages server lifecycle, including startup and cleanup commands.
When to use it
- After converting a dataset to the LeRobot format.
- When you need to visually verify that episode videos and timelines are rendering correctly.
- To confirm that metadata matches the expected dataset content.
- Before proceeding with downstream tasks that require a verified dataset.
Advantages
- Enables direct visual confirmation of dataset integrity.
- Provides clear feedback on state and action timeline accuracy.
- Simplifies the verification process through a browser-based interface.
- Includes automated cleanup instructions to manage local server resources.
Usage examples
- “Open the latest converted LeRobot dataset for inspection.”
- The agent identifies the most recent dataset, launches the local visualization server, provides the access URL, and summarizes the observed videos and timelines.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/i4h-lerobot-viz/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip i4h-lerobot-viz.zip -d .agents/skills
Documentation by Isaac for Healthcare Team
Visualize a LeRobot Dataset
Purpose
Serve one completed local dataset and verify its episode videos and timelines in a browser.
Instructions
Resolve the base checkout and one completed LeRobot dataset.
Launch its managed local server.
Open the printed URL.
Inspect videos, timelines, episode count, and cleanup state.
Resolve the dataset
export I4H_WORKFLOWS_REPO_URL="${I4H_WORKFLOWS_REPO_URL:-https://github.com/isaac-for-healthcare/i4h-workflows}"
I4H_REPO_DIR_NAME="${I4H_WORKFLOWS_REPO_URL%/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*:}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME%.git}"
[ -n "$I4H_REPO_DIR_NAME" ] || { echo "Cannot derive a checkout name from I4H_WORKFLOWS_REPO_URL" >&2; exit 2; }
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/i4h_workflows" ]; then
ROOT="${I4H_WORKFLOWS:-$HOME/$I4H_REPO_DIR_NAME}"
[ -d "$ROOT/workflows/i4h_workflows" ] || git clone "$I4H_WORKFLOWS_REPO_URL" "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"
cd "$ROOT"
find runs "${HF_LEROBOT_HOME:-$HOME/.cache/huggingface/lerobot}" \
-name info.json -path '*/meta/*' -printf '%T@ %h\n' 2>/dev/null \
| sort -nr | headTreat the resolver above as part of the skill contract: a hosted copy may run outside the base repository, so never assume the current checkout contains workflows/i4h_workflows. I4H_WORKFLOWS_REPO_URL selects the clone source. When I4H_WORKFLOWS is unset, derive the fallback directory from that URL; set I4H_WORKFLOWS only to reuse or choose a specific destination. Never replace an existing checkout.
Use the explicit/current-chain converted directory. Otherwise select the newest candidate and state the choice. Require <dataset>/meta/info.json; route raw HDF5 to i4h-workflow-dataset-convert.
Serve
Pass an absolute local path:
DATASET_DIR=/absolute/path/to/lerobot/dataset
STATE_DIR=/absolute/path/to/run/viz-state
tools/dataset/scripts/viz.sh "$DATASET_DIR" --state-dir "$STATE_DIR"The script selects a free local port, waits for HTTP readiness, and prints the URL, PID, state files, log, and exact stop command. Keep it running only while the user wants access.
Verify visually
Open the printed URL. Confirm:
the requested episode list loads
every expected camera video renders
state and action timelines render with plausible dimensions and motion
episode count and task text match
meta/info.jsonno blank page, missing video, or wrong dataset is being served
Reuse a live server only when its target dataset matches. Otherwise stop it using its printed state directory and port, then start the requested dataset.
Troubleshooting
If startup or the page fails, inspect meta/info.json, videos, the printed server log, and port ownership before restarting.
Prerequisites
Require the dataset tool environment and a completed LeRobot dataset with meta/info.json.
Limitations
The visualizer does not accept raw workflow HDF5 or repair incomplete metadata/videos.
Examples
Open the latest converted LeRobot dataset for inspection.→ choose the newest verified dataset, serve it, and report the observed videos/timelines plus cleanup command.
Completion gate
Report dataset path, repo id, local URL, episode/camera/timeline observations, PID/state directory, and exact cleanup command.
Files
- ATTRIBUTION.mdAdded by AutoGineer922 B
- BENCHMARK.md7.0 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md3.8 KiB
- evals/evals.json1.1 KiB
- skill-card.md4.4 KiB
- skill.oms.sig4.5 KiB
BENCHMARK.md
Skill Benchmark: i4h-lerobot-viz
✅ Overall verdict: PASS — Recommended for publication
Publication Recommendation
Recommended for publication based on the completed evaluation evidence in this report.
Evaluation Metadata
Skill:
i4h-lerobot-vizEvaluation date: 2026-09-21
Evaluator version:
1.5.6Agents: Claude Code (
aws/anthropic/bedrock-claude-opus-4-8), Codex (openai/openai/gpt-5.5)Tasks: 2 evaluation tasks (2 positive)
Dataset digest:
sha256:93ad31732f601b7ae680a17624f8f898357d09fcbc3494f057ea035e226ab28c(skill-evaluator-dataset-snapshot/1)Attempts per task: 3
Environment:
k8s-sandboxTier 2 evidence: required for publication
Tier 3 evidence: required for publication
Each task attempt ran in its own isolated sandbox pod.
What This Report Answers
The three-tier evaluation checks whether the skill:
is safe to use;
produces correct answers;
is discovered and activated when needed;
helps the agent complete the user's goal and expected workflow; and
avoids wasted skill and tool usage.
Results at a Glance
| Measure | Claude Code (Baseline → Skill Uplift) | Codex (Baseline → Skill Uplift) |
|---|---|---|
| Overall | 81.7% — baseline ran, but no comparable score was available; uplift unavailable | 74.2% — baseline ran, but no comparable score was available; uplift unavailable |
| Security | 100.0% → 100.0% (±0.0 points) | 100.0% → 66.7% (-33.3 points) |
| Correctness | 35.0% → 100.0% (+65.0 points) | 45.0% → 100.0% (+55.0 points) |
| Discoverability | 95.0% — baseline ran, but no comparable score was available; uplift unavailable | 93.3% — baseline ran, but no comparable score was available; uplift unavailable |
| Effectiveness | 6.3% → 16.3% (+10.0 points) | 2.5% → 23.3% (+20.8 points) |
| Efficiency | 97.3% — baseline ran, but no comparable score was available; uplift unavailable | 87.8% — baseline ran, but no comparable score was available; uplift unavailable |
How to read this table: baseline is the same task attempted without the target skill. Scores are rounded to one decimal; threshold-adjacent values use additional precision so their displayed band matches the verdict. Uplift is derived from those displayed scores and shown in percentage points.
Example: 47.0% → 92.0% (+45.0 points) means the skill-assisted run scored 92.0%, 45.0 percentage points above its 47.0% no-skill baseline.
Token Usage
Actual Tier 3 execution usage is reported for every observed agent/case pair and both conditions.
| Agent | Dataset case | With skill | Without skill | Delta | Change | Coverage |
|---|---|---|---|---|---|---|
| claude-code | All cases | 464,741 | 1,073,861 | N/A | N/A | skill 2/2; base 4/4 |
| claude-code | i4h-lerobot-viz-latest-converted | 270,017 | 858,215 | N/A | N/A | skill 1/1; base 3/3 |
| claude-code | i4h-lerobot-viz-table-scissor | 194,724 | 215,646 | -20,922 | -9.70% | skill 1/1; base 1/1 |
| codex | All cases | 506,817 | 385,235 | N/A | N/A | skill 3/3; base 4/4 |
| codex | i4h-lerobot-viz-latest-converted | 307,376 | 254,345 | N/A | N/A | skill 2/2; base 3/3 |
| codex | i4h-lerobot-viz-table-scissor | 199,441 | 130,890 | +68,551 | +52.37% | skill 1/1; base 1/1 |
| ALL AGENTS | Dataset aggregate | 971,558 | 1,459,096 | N/A | N/A | skill 5/5; base 8/8 |
Prompt tokens include cached reads, so total tokens are prompt + completion (cached is not added twice). The Efficiency score uses (prompt - cached) + completion. N/A means the relevant trajectory counters were not available; coverage is never estimated.
Tier Status
| Tier | Purpose | Status | Evidence |
|---|---|---|---|
| Tier 1 | Static validation | PASSED WITH OBSERVATIONS | 11 validator(s); 4 finding(s) |
| Tier 2 | Semantic deduplication | PASSED | 2 validator(s); 0 finding(s) |
| Tier 3 | Live agent evaluation | PASS | 2 agent(s); 2 task(s) |
Findings and Observations
<details> <summary>Show detailed findings and successful checks</summary>
MEDIUM QUALITY/quality_efficiency: Instructions lack clear action verbs (
team-skills/holoscan/i4h-workflows/i4h-lerobot-viz/SKILL.md)MEDIUM SECURITY/Unknown (SDI-1): The skill is described as a local dataset visualization tool, yet its core resolver logic unconditionally clones a remot (
SKILL.md:33)MEDIUM SECURITY/Unknown (SQP-2): The skill's description, purpose statement, and prerequisites make no mention of the fact that it may clone a remote git (
SKILL.md:33)MEDIUM SECURITY/Unknown (SDI-2): The clone destination is derived entirely from the
I4H_WORKFLOWS_REPO_URLenvironment variable and defaults to$HOME/ (SKILL.md:42`)
</details>
Scoring Methodology
<details> <summary>Show dimension definitions, source signals, and thresholds</summary>
| Dimension | Question | Scored signals |
|---|---|---|
| Security | Is it safe to use? | security (100%) |
| Correctness | Is the answer correct? | accuracy (100%) |
| Discoverability | Was the right skill loaded when needed? | skill_execution (100%) |
| Effectiveness | Did the skill help complete the task? | goal_accuracy (50%) + behavior_check (50%) |
| Efficiency | Did it avoid wasted tool calls and token usage? | skill_efficiency (50%) + token_efficiency (50%) |
Dimension bands: PASS at 50% or above; NEUTRAL from 40% to below 50%; FAIL below 40%.
Overall Tier 3 lift: PASS at +5 points or more; FAIL at -10 points or less; values between those bands are NEUTRAL.
Overall verdict: PASS only when every configured dimension passes for at least one supported agent. Lift is reported as diagnostic evidence and does not override this gate.
The 50% attempt pass threshold is a separate per-task gate; it is not the dimension pass threshold.
Effectiveness is the equal-weight mean of goal completion (
goal_accuracy) and expected workflow adherence (behavior_check).Efficiency is 50% tool-call productivity (the backward-compatible
skill_efficiencywire id) and 50%token_efficiency. Positive-case skill routing is scored under Discoverability, not Efficiency; a negative case without a routing target is N/A. N/A sources are omitted, remaining weights are renormalized, and the dimension is marked partial.
Signals present in this run:
security(Security): unsafe operations, secret leakage, and unauthorized access.skill_execution(Skill Execution): whether the expected skill was selected, decoys were avoided, and the workflow executed.skill_efficiency(Tool Productivity): tool-call productivity (legacy wire id; routing is scored under Discoverability).accuracy(Accuracy): final-answer correctness against the reference answer.goal_accuracy(Goal Accuracy): whether the user's goal was achieved.behavior_check(Behavior Check): whether the expected workflow behavior was followed.token_efficiency(Token Efficiency): actual uncached prompt plus completion usage (50% of Efficiency).
</details>
Freshness
Regenerate this benchmark when the skill, evaluation dataset, target agent/model, evaluator version, environment, or scoring policy changes.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Isaac for Healthcare Team
- Publisher
- NVIDIA (Official)
- Distributed by
- NVIDIA
- Source
- NVIDIA/skills · skills/i4h-lerobot-viz · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Isaac for Healthcare Team or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download i4h-lerobot-viz.zip