npx skills add ...
npx skills add nvidia/skills --skill omniverse-cad-to-simready
Coordinate the end-to-end CAD/source-asset to SimReady workflow. Use for broad requests such as CAD to SimReady, source asset to simulation-ready USD, or prop packaging that require conversion, material/physics assignment, SimReady conformance, validation, and optional package creation; deploy or verify Content Agents services first when property assignment is enabled; route single-stage work through nested references.
npx skills add nvidia/skills --skill omniverse-cad-to-simready
Use this workflow skill for an end-to-end pipeline from a source asset to a SimReady asset or package. It coordinates existing conversion, authoring, validation, conformance, rendering, and packaging references directly; do not replace it with a single monolithic runner command.
This skill is documentation-driven and does not ship scripts/run.py; it must
not depend on a repository checkout. Shell is declared because this workflow
invokes installed stage reference scripts directly, from each reference's
installed directory, and it still must not grow a monolithic runner.
preflight first for deterministic setup: it installs/verifies
local upstream checkouts, writes a cad-to-simready-preflight.json
manifest, and exports PHYSICAL_AI_PREFLIGHT_MANIFEST plus
PHYSICAL_AI_REQUIRE_PREFLIGHT=1 for downstream references.uv (per repo README.md).references/preflight/README.md for the full list.${OMNIVERSE_CAD_TO_SIMREADY_UPSTREAM_ROOT:-$HOME/.omniverse-cad-to-simready/upstreams}
when a stage needs upstream scripts or specs.For any broad CAD/source-asset to SimReady request, assume
property_assignment_intent=run unless the user explicitly asks for
conversion-only, validation-only, or no material/physics assignment.
For conversion-only requests, set property_assignment_intent=skip, do not
deploy Content Agents, run convert-to-usd, then run validate-usd-minimum
on the generated USD if conversion succeeds. For validation-only requests,
set property_assignment_intent=skip and validate the USD the user
provided without rerunning conversion.
Run preflight (or verify an existing PHYSICAL_AI_PREFLIGHT_MANIFEST)
before any converter, validation, Content Agents, OVRTX, packaging, or FET
step; treat it as dependency bootstrap, not workflow routing. Use
--skip-content-agents for conversion-only/validation-only requests.
When property_assignment_intent=run, verify or deploy Content Agents
services immediately after confirming the source path and resolving intent,
before asset-context inspection, converter dependency checks, conversion,
validation, conformance, rendering, packaging, or upstream source builds.
Treat explicitly provided healthy endpoints as user-owned; otherwise run deploy-content-agents,
which deploys the shared standalone OVRTX renderer, then Material, Physics,
and optional Texture service containers in order.
output_root, and classify
the request as end-to-end, conversion-only, validation-only, or packaging.property_assignment_intent before running any asset inspection,
converter probe, conversion, validation, conformance, rendering, or
packaging step.preflight for the selected workflow targets, unless a ready
PHYSICAL_AI_PREFLIGHT_MANIFEST is already configured. Source the generated
env file before running downstream scripts. Treat preflight as dependency
setup only: it may use a provided --source-asset, --source-format, or
--conversion-tools value to scope dependency checks, but convert-to-usd
and the upstream converter references still decide actual conversion support.property_assignment_intent=run; block on missing authentication or
unhealthy services instead of continuing.references/workflow.md and references/commands.md, then run only
the stage references needed for the current request.identify-asset-context on the original source asset when web search is
available or property assignment will run.convert-to-usd, or skip conversion for existing
USD input and treat the source path as the current USD path.validate-usd-minimum before expensive downstream work. Treat this as a
viability gate only: record unit/profile issues such as metersPerUnit != 1.0, but do not run simready-conform-profile, FET001, or any other FET
repair before Content Agents assignment when property assignment will run.simready-conform-profile on the latest simulation USD path after
property assignment and preserve every selected FET repair report.omni-asset-validate,
omni-asset-validate-geometry, omni-asset-validate-physics, and
simready-validate.simready-conform-profile when simready-validate reports a
repairable requirement, then rerun profile validation on the newest authored
USD.ovrtx-render-service when preview, thumbnail, or inspection images
are requested. When package outputs are requested, run
assemble-package-source next to create the clean deliverable/ package
source from the final USD and thumbnail, then run nv-core-package-sample
and nv-core-package-sample-validation on that deliverable folder only.Emit a consolidated workflow report in Markdown, and include JSON when the
workflow writes structured artifacts. Report overall status as passed,
blocked, failed, or needs_rerun. See references/workflow.md for the
required Markdown and JSON report fields.
Read only the references needed for the current request:
references/preflight/README.md: deterministic local setup, manifest/env
contract, wrappers, deployment opt-out, and guardrail behavior.references/workflow.md: inputs, source routing, detailed workflow,
validation policy, output report fields, and next steps.references/commands.md: concrete portable script command patterns.references/assemble-package-source/README.md: two-zone package source
assembly, root USD naming, thumbnail placement, and deliverable checks.references/troubleshooting.md: symptom/cause/fix table plus FET
(GSP.001/RB.MB.001) repair-routing detail.references/publishing-layout.md: frontmatter compatibility-field notes and
layout rationale for this skill's own file tree.Use skills/omniverse-cad-to-simready/ as the source of truth for this
product repo's skill. The .agents/skills symlink is a compatibility alias
for local agentskills.io-style discovery, and the nested references/ tree
is intentional. See references/publishing-layout.md for the alias list,
frontmatter field placement, and flattening rules.
Read references/troubleshooting.md only when a specific stage or validation
gate is failing; it owns the symptom/cause/fix table and FET repair routing.
PHYSICAL_AI_REQUIRE_PREFLIGHT=1 is set, do not bypass the
manifest with direct upstream discovery.omniverse-cad-to-simready runner command.convert-to-usd reference; do not
substitute another converter for CAD or mesh formats.simready-conform-profile or
any FET helper before Content Agents. Validate minimum USD first, then run
Content Agents on that converted/minimum-valid USD, then apply FET repairs to
the latest service-authored USD.simready-validate or any
SimReady profile validation before Content Agents. The only validation gate
allowed before service calls is validate-usd-minimum, which is a basic USD
viability check.needs_rerun.GSP.001 profile failure as an unclassified final finding.
Route it to upstream simready-foundation-conform-fet-005-simulate-grasp-physics; if
the current agent cannot inspect renders or no explicit grasp points are
available, report a blocked FET005 repair with the visual evidence path or
missing input reason.