Mesh-to-USD Doctor

SkillCloud & infra

Lets your agent diagnose and fix failures in mesh-to-USD conversion, validation, physics drop tests, and batch jobs.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Mesh-to-USD Doctor skill

About this capability

Diagnose and repair failures in this repository's mesh-to-USD generation, scoped USD validation, recorded-support inference, FoundationPose calibration, catalog batching, or Isaac Sim drop tests. Use when Docker, GPU, EULA, weights, input contracts, CoACD collision generation, USD references, valida

What this skill tells your AI

The instructions your AI receives, as published by nvidia-isaac/video_to_data in .claude/skills/mesh-to-usd-doctor/SKILL.md and read by ahel’s review.

Inspect evidence first and ask later. Work from reconstruction/, preserve the job directory and videos, and diagnose the first bad stage rather than rebuilding or rerunning everything.

Discover context automatically

  1. Read the exact command and error from the conversation or available log.
  2. If no output directory is named, inspect the newest relevant directory under data/outputs/mesh_to_usd/ and paths referenced by recent commands.
  3. Infer the input mode from mesh_to_usd_workflow_report.json and command: standalone asset, exact sequence, cross-mesh support, or batch.
  4. Infer the first incomplete stage from reports and timestamps: support, generation, validation, or drop test.
  5. Ask one focused question only when neither input nor output can be found.

Run the fast diagnostic set

git rev-parse --short HEAD
python --version
docker version
nvidia-smi
df -h .
docker ps -a --no-trunc
python modules/v2d_hoi_object_reconstruction/mesh_to_usd/run_mesh_to_usd_workflow.py --help
python modules/v2d_hoi_object_reconstruction/mesh_to_usd/run_drop_test.py --help

Inspect, when present:

mesh_to_usd_workflow_report.json
foundation_pose_support/foundation_pose_support_report.json
foundation_pose_support/pose_tracking_metadata.json
recorded_support_pose.json
generation_report.json
simready_validation_report.json
drop_test/drop_test_result.json
mesh_to_usd_batch_report.json
*/batch_job_report.json

Check nonempty files, hashes, timestamps, referenced paths, active processes, containers, GPU activity, and disk growth. Separate observed evidence, root cause, repair, and resume command.

Classify the first failure

EvidenceClassificationNarrow repair
Docker unavailable or GPU invisible in generator/drop containersetup/runtimeRepair Docker or NVIDIA Container Toolkit; rerun the scoped GPU probe
EULA rejectionauthorizationAsk for explicit acceptance or ACCEPT_EULA=Y; never set it implicitly
missing generator/validator imagesetupUse mesh-to-usd-setup and build only the missing target
malformed standalone or sequence contractinputFix the exact missing asset, pose, ground-plane, H5, EDEX, symmetry, or metadata file
no stable initial pose windowrecorded supportInspect the initial prefix and pose consistency; do not search later frames or fall back automatically
FoundationPose registration/tracking failscross-mesh supportInspect target scale, masks, camera inputs, registration attempts, and support report; retry only with evidence
target/support mesh hashes differprovenanceRegenerate support and USD from the same target bytes; never edit the report to match
implausible extents_msource scaleCorrect the source mesh scale or use an explicitly approved scale transform, then regenerate
CoACD/collider failuregeometryInspect source topology, decomposition report, and tiny-hull filtering before changing decomposition limits
missing visual_asset.usd or texture dependencypackageRestore/regenerate the complete adjacent USD package; do not publish the entry point alone
scoped validator failsUSD structureRepair the named default-prim, units, rigid-body, mass, hierarchy, collider, scale, or purpose requirement
object appears black or transparentmaterialInspect source alpha/transmission and visual_material_normalization; preserve textures while correcting invalid material semantics
drop asset does not load or falls throughUSD/collisionInspect composition, authored collider APIs, ground contact, scale, and physics scene
contact succeeds but never settlessimulation/thresholdInspect pose and velocity histories and video before changing time or settle thresholds
core physics passes but standing failsorientation/geometryInspect the exact pose segment and support surface; do not relabel it PASS or disable standing without user policy
batch says GENERATED-WITHOUT-DROP-TESTmissing supportReport generation-only explicitly; supply a complete support sequence rather than claiming a pass

Detect a stall correctly

Check the host wrapper PID, active container, GPU/CPU use, report changes, artifact sizes, and timestamps. A quiet Isaac Sim or FoundationPose log alone is not a stall. Report which signal stopped changing and for how long.

Repair and re-verify

Prefer the smallest reversible repair. Do not delete results, weaken validation, change scale or physics parameters without recording it, bypass mesh hashes, or switch support policies silently. After repair:

  1. Rerun the first failed probe or stage with the original input and output.
  2. Confirm its expected report is complete and internally consistent.
  3. Resume downstream work with unchanged provenance.
  4. Return to mesh-to-usd-run for final report and video inspection.

If the evidence shows a product defect, preserve the minimal reproducer and report the revision, exact command, input mode, first bad artifact, container images, hardware, logs, expected behavior, and observed behavior.

Signals

GitHub stars
649
Forks
62
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
mesh-to-usd-doctor
Source
github.com/nvidia-isaac/video_to_data