Generated banner for I4h Workflow Validate
Generated logo for I4h Workflow Validate

I4h Workflow Validate

NVIDIAOfficialCreated by Isaac for Healthcare TeamDistributed by NVIDIA

  • Skill
  • Workflow
  • Software development
  • Apache-2.0
  • Medium risk

From the author

Run the root-level workflow runtime policy or rule-based rollouts and verify simulator success. Use for evaluation, checkpoints, or local controllers; do not use for replay or dataset annotation.
— the description by Isaac for Healthcare Team

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a standardized procedure for validating Isaac for Healthcare (i4h) workflows. It guides the user through resolving the correct repository, identifying supported run modes, executing the unified launcher in the foreground, and verifying the resulting simulation data. It includes specific protocols for pre-flight checkpoint inspection, handling remote versus in-process tasks, and performing post-rollout data inspection to ensure structural and behavioral integrity.

What it does

  • Resolves and verifies the local i4h workflow repository checkout.
  • Lists and selects supported workflow modes using the unified launcher.
  • Executes simulation rollouts in the foreground with configurable episode counts.
  • Performs pre-flight validation of checkpoints against task manifests.
  • Inspects HDF5 recording artifacts to confirm episode success and data integrity.
  • Validates collision-excluding success rules through force-matrix analysis.

When to use it

  • When evaluating learned policies or rule-based controllers for i4h tasks.
  • Before deploying a new checkpoint or workflow configuration.
  • To verify that a specific simulation scene and task contract are compatible.
  • When auditing the success evidence of a completed simulation run.

Advantages

  • Ensures consistent validation across different simulation environments.
  • Provides a clear, step-by-step contract for verifying simulator success.
  • Includes robust checks for both structural validity and runtime behavior.
  • Prevents silent failures by requiring explicit inspection of rollout artifacts.

Usage examples

“Evaluate scissor pick and place for 2 episodes.”
The agent runs the policy mode for two episodes, records the output, inspects the HDF5 file, and reports the success status and attempt count.
“Run surgical_reach_psm in rule-based mode for 1 episode.”
The agent executes the specified workflow using the rule-based controller, performs a smoke check, and verifies the final episode summary.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/i4h-workflow-validate/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip i4h-workflow-validate.zip -d .agents/skills

Documentation by Isaac for Healthcare Team

Validate a Workflow

Purpose

Run the selected workflow run mode through the unified launcher, inspect the completed recording, and report simulator success.

Instructions

  1. Resolve the base checkout and a live workflow run mode.

  2. Run the unified launcher in the foreground.

  3. Require the final episode success summary.

  4. Inspect visible behavior and every rollout artifact; for an authored or changed collision-excluding success rule, also verify the collision-negative case below.

Resolve live support

Use the maintained repository below or a source selected by the user or trusted project configuration. An inherited environment variable alone does not authorize another source. Honor requested revisions and preserve local changes.

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" || exit 2
fi
[ -d "$ROOT/workflows/i4h_workflows" ] && [ -x "$ROOT/run.sh" ] || { echo "Incomplete workflow checkout: $ROOT" >&2; exit 2; }
export I4H_WORKFLOWS="$ROOT"
cd "$ROOT" || exit 2
git remote get-url origin || exit 2
git status --short || exit 2

Check that the reported origin is the intended source and review local changes before executing repository scripts. Stop on an unexpected source or unreviewed launcher changes. Then discover supported modes:

./run.sh list

Treat 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.

Treat ./run.sh list output as the complete authoritative workflow-by-mode table; it is dependency-light and faster than scanning workflow modules. Do not duplicate that mutable table in this skill. Map the user's natural name to a listed workflow id, then choose only a mode shown on that same line:

User intentRequired live modeLauncher argument
Ordinary learned-policy evaluationpolicy--policy
Requested or only available local controllerrule-based--rule-based
Explicit named alternative such as N1.7matching listed mode such as policy_n17--mode <name>

Inspect ./run.sh show <workflow> --mode <mode>, the workflow module, Scene manifest, and selected Task manifest when model, prompt, checkpoint, goal, or step-cap behavior matters.

Use precise readiness language:

  • Structurally valid: show, per-mode lint, and lint --all pass.

  • Launchable: the selected simulator mode starts and every required backend/checkpoint preloads.

  • Rollout-validated: the requested episodes complete and the recorded success evidence passes inspection.

Do not report “validated” without stating which level was actually reached.

Foreground execution rule

Keep run.sh as this agent's foreground tool call. Do not use a subagent, monitor task, shell backgrounding, nohup, tmux, or a detached process. Poll a yielded session until exit and inspect the final episode summary before responding. When the selected Task is remote, the policy backend subprocess internally owned by run.sh is expected; a simulator-compatible exported RSL-RL Task runs in-process.

Run visibly by default. If the user explicitly requests headless execution, or a documented environment constraint makes it necessary, say so before launch and include --headless; never switch to headless silently.

Use the requested episode count; if omitted, state that this is a one-episode smoke check and set N=1. Keep the launcher's per-episode --attempts 3 budget distinct from the bounded whole-run recovery below.

Policy:

./run.sh <workflow> --policy \
  --episodes <N> --attempts 3 \
  --record verify.hdf5

Rule-based:

./run.sh <workflow> --rule-based \
  --episodes <N> --attempts 3 \
  --record verify.hdf5

The launcher creates a unique canonical run directory and anchors the relative verify.hdf5 inside it. Resolve RUN_DIR from the ==> run dir ... line or machine-readable run.json; do not recreate the launcher's timestamp. Use --run-dir "$RUN_DIR" only when a caller-selected location must be shared with another stage; the launcher creates it. Absolute recording paths remain supported.

For another declared mode, use --mode <name>. For “300 timesteps,” pass --episode-steps 300.

Supplied-checkpoint preflight

Resolve the supplied checkpoint to an existing absolute path and pass that same path with --checkpoint. Run ./run.sh show <workflow> --mode <mode> to identify the selected policy Task. Read its manifest and loader under tasks/<project>/i4h_tasks/<project>/ and compare the checkpoint's model/export metadata with the required model, format, observation ordering/dimensions, and action mapping. Stop if the path or contract is unresolved; do not infer compatibility from a filename.

For a remote Task, use its declared backend's --preload-only option to load the checkpoint and exit before starting a simulator. For example, the gr00t_n15/assemble_trocar Task uses:

uv run --project tasks/gr00t_n15 python -m i4h_tasks.gr00t_n15.server \
  --namespace assemble_trocar --preload gr00t_n15/assemble_trocar \
  --checkpoint /absolute/path/to/checkpoint --preload-only

For another Task, resolve its own backend project, server entrypoint, and Task id from the live declarations; do not reuse the example's model family. Require exit status 0 and no loader error. During the normal foreground rollout, also require ready for specs in the run directory's backend log and successful runtime observation/action contract checks. Successful loading alone does not establish Scene compatibility.

An in-process RSL-RL Task instead requires the exported TorchScript policy.pt. Pass it to the selected foreground policy command above; the Task loads it with torch.jit.load on entry and checks its output shape on the first policy step. Require successful loading and a valid first policy step before reporting it launchable, then complete the requested episodes. Do not pass a native trainer checkpoint to this runtime Task.

show, lint, and --dry-run are structural checks: they do not load policy checkpoints. If the loader/runtime check cannot run, report only the structural checks actually completed, not checkpoint compatibility or rollout validation.

Never raise the Scene manifest's cap. --episode-steps may only lower it. Remote inference waits do not consume simulation steps. Use a unique --namespace when another run of the same workflow is active.

Verify

Require exit status 0 and final N/N episodes succeeded. A failed attempt followed by a successful retry counts as a successful requested episode; report attempts and retries.

RUN_DIR="<absolute run_dir from run.json or launcher output>"
uv run --project tools/dataset i4h-dataset inspect "$RUN_DIR/verify.hdf5" --segments

Check episode metadata, action/state widths, declared cameras, executed-node segments, and success flags against the Scene/Task contracts and final summary. Missing, corrupt, or inconsistent data blocks rollout validation; report the failed check. For visible runs, observe Scene/camera behavior and final task outcome. On failure, use the first actionable backend, contract, graph, or simulator error; never switch modes or increase the cap silently. After a crash, stop the retained foreground session and verify its child processes exit. ./stop.sh all affects every run in this checkout; use it only when all those runs are within the requested cleanup scope.

After authoring or changing a collision-excluding success rule, use the Scene's contact setup to test the configured body pair. Require non-zero filtered force, rejected success, and cleared collision history after reset. Record sensor names, force-matrix shape, maximum force, and outcome in the saved evidence. Initialization or zero force alone is insufficient. If the test cannot run, report the validation gap.

Troubleshooting

Correct the first actionable error within scope, then retry the whole run once with the same mode, cap, and episode count. If it recurs or cannot be fixed, stop and report it with the run directory. Per-episode attempts do not reset this whole-run retry budget.

Prerequisites

Require synced simulator assets and any backend/checkpoint declared by the selected run mode.

Limitations

Only modes from run.sh list are supported, and a runtime step override may lower but never raise the validated Scene cap.

Examples

  • Evaluate scissor pick and place for 2 episodes. → run policy mode for two successful episodes, record, inspect, and report attempts plus visible outcome.

  • Run surgical_reach_psm in rule-based mode for 1 episode. → use only the declared local-controller mode.

Completion gate

Report workflow, mode, model/checkpoint source, requested successes, attempts/retries, completion steps, visible outcome, HDF5 path and inspection, collision-negative/reset evidence when applicable, final exit status, and first unresolved failure if any.

Files

BENCHMARK.md

Skill Benchmark: i4h-workflow-validate

✅ Overall verdict: PASS — Recommended for publication

Publication Recommendation

Recommended for publication based on the completed evaluation evidence in this report.

Evaluation Metadata

  • Skill: i4h-workflow-validate

  • Evaluation date: 2026-10-01

  • Evaluator version: 1.5.6

  • Agents: Claude Code (aws/anthropic/bedrock-claude-opus-4-8), Codex (openai/openai/gpt-5.5)

  • Tasks: 20 evaluation tasks (20 positive)

  • Dataset digest: sha256:7edc28d803fd2c43a71c294c0692be370df7cb366c30d019a04cae5ee0ff15d2 (skill-evaluator-dataset-snapshot/1)

  • Attempts per task: 1

  • Environment: k8s-sandbox

  • Tier 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

MeasureClaude Code (Baseline → Skill Uplift)Codex (Baseline → Skill Uplift)
Overall73.0% — baseline ran, but no comparable score was available; uplift unavailable58.3% — baseline ran, but no comparable score was available; uplift unavailable
Security90.0% → 80.0% (-10.0 points)25.0% → 22.5% (-2.5 points)
Correctness4.0% → 88.0% (+84.0 points)63.0% → 91.0% (+28.0 points)
Discoverability94.8% — baseline ran, but no comparable score was available; uplift unavailable80.0% — baseline ran, but no comparable score was available; uplift unavailable
Effectiveness2.7% → 26.2% (+23.5 points)24.4% → 42.8% (+18.4 points)
Efficiency75.9% — baseline ran, but no comparable score was available; uplift unavailable55.1% — 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.

A partial dimension was calculated from only the available configured signals; review the detailed report before relying on it.

Token Usage

Actual Tier 3 execution usage is reported for every observed agent/case pair and both conditions.

AgentDataset caseWith skillWithout skillDeltaChangeCoverage
claude-codeAll cases11,228,3446,977,680N/AN/Askill 6/20; base 6/20
claude-codei4h-workflow-validate-readme-new-env-rule-based-record318,822321,012-2,190-0.68%skill 1/1; base 1/1
claude-codei4h-workflow-validate-readme-quick-locomanip-cartN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-locomanip-trayN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-new-checkpointN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-scissor-two4,522,475N/AN/AN/Askill 1/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-surgical-lift-needle-rule-basedN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-surgical-reach-newtonN/A3,260,419N/AN/Askill 0/1; base 1/1
claude-codei4h-workflow-validate-readme-quick-surgical-reach-rule-basedN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-trocarN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-quick-ultrasoundN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-readme-robotic-instrument-reach207,894447,313-239,419-53.52%skill 1/1; base 1/1
claude-codei4h-workflow-validate-specialty-endoluminal-demoN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-specialty-endoluminal-total-segmentatorN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-specialty-scissor-policyN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-specialty-surgical-dual-psmN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-specialty-surgical-lift-block5,555,783N/AN/AN/Askill 1/1; base 0/1
claude-codei4h-workflow-validate-specialty-surgical-lift-needle-organsN/AN/AN/AN/Askill 0/1; base 0/1
claude-codei4h-workflow-validate-specialty-surgical-starN/A1,973,749N/AN/Askill 0/1; base 1/1
claude-codei4h-workflow-validate-table-scissor-three375,917280,652+95,265+33.94%skill 1/1; base 1/1
claude-codei4h-workflow-validate-ultrasound-probe-reach247,453694,535-447,082-64.37%skill 1/1; base 1/1
codexAll cases31,730,63841,836,769N/AN/Askill 6/20; base 6/20
codexi4h-workflow-validate-readme-new-env-rule-based-record440,3393,329,185-2,888,846-86.77%skill 1/1; base 1/1
codexi4h-workflow-validate-readme-quick-locomanip-cartN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-locomanip-trayN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-new-checkpointN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-scissor-two14,773,729N/AN/AN/Askill 1/1; base 0/1
codexi4h-workflow-validate-readme-quick-surgical-lift-needle-rule-basedN/A15,747,712N/AN/Askill 0/1; base 1/1
codexi4h-workflow-validate-readme-quick-surgical-reach-newtonN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-surgical-reach-rule-basedN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-trocarN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-quick-ultrasoundN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-readme-robotic-instrument-reach410,174590,738-180,564-30.57%skill 1/1; base 1/1
codexi4h-workflow-validate-specialty-endoluminal-demoN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-specialty-endoluminal-total-segmentator13,249,921N/AN/AN/Askill 1/1; base 0/1
codexi4h-workflow-validate-specialty-scissor-policyN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-specialty-surgical-dual-psmN/A17,174,793N/AN/Askill 0/1; base 1/1
codexi4h-workflow-validate-specialty-surgical-lift-blockN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-specialty-surgical-lift-needle-organsN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-specialty-surgical-starN/AN/AN/AN/Askill 0/1; base 0/1
codexi4h-workflow-validate-table-scissor-three2,067,6793,561,756-1,494,077-41.95%skill 1/1; base 1/1
codexi4h-workflow-validate-ultrasound-probe-reach788,7961,432,585-643,789-44.94%skill 1/1; base 1/1
ALL AGENTSDataset aggregate42,958,98248,814,449N/AN/Askill 12/40; base 12/40

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

TierPurposeStatusEvidence
Tier 1Static validationPASSED WITH OBSERVATIONS11 validator(s); 3 finding(s)
Tier 2Semantic deduplicationPASSED2 validator(s); 0 finding(s)
Tier 3Live agent evaluationPASS2 agent(s); 20 task(s)

Findings and Observations

<details> <summary>Show detailed findings and successful checks</summary>

  • LOW QUALITY/quality_reliability: Inputs are used but no dedicated Inputs section is documented (team-skills/holoscan/i4h-workflows/i4h-workflow-validate/SKILL.md)

  • LOW QUALITY/quality_reliability: Structured output is used but no dedicated Output Format section is documented (team-skills/holoscan/i4h-workflows/i4h-workflow-validate/SKILL.md)

  • LOW SECURITY/Unknown (SQP-2): The skill silently clones a remote repository into the user's home directory ($HOME/$I4H_REPO_DIR_NAME) without explicit (SKILL.md:40)

</details>

Scoring Methodology

<details> <summary>Show dimension definitions, source signals, and thresholds</summary>

DimensionQuestionScored signals
SecurityIs it safe to use?security (100%)
CorrectnessIs the answer correct?accuracy (100%)
DiscoverabilityWas the right skill loaded when needed?skill_execution (100%)
EffectivenessDid the skill help complete the task?goal_accuracy (50%) + behavior_check (50%)
EfficiencyDid 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_efficiency wire 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.

</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.

Needs: Needs a command-line tool, Needs Python, Needs Node.js

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-workflow-validate · 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-workflow-validate.zip