Generated banner for Omniverse Usd Performance Tuning
Generated logo for Omniverse Usd Performance Tuning

Omniverse Usd Performance Tuning

OpenAIOfficialCreated by NVIDIA OmniverseDistributed by OpenAI

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

From the author

Top-level workflow skill for USD performance diagnosis and optimization. Use for slow loading, high memory, low FPS, or 'optimize my scene' requests; delegates auth/runtime setup to Phase 0 owners.
— the description by NVIDIA Omniverse

AutoGineer summary

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

The omniverse-usd-performance-tuning skill provides a structured, end-to-end procedure for addressing performance bottlenecks in USD assets. It manages the lifecycle of performance tuning, from initial runtime context setup and baseline profiling to composition auditing, validation, and targeted scene optimization. The skill enforces a rigorous milestone-based approach, ensuring that all destructive operations are planned and approved, and that performance improvements are verified through comparative profiling and standardized reporting.

What it does

  • Orchestrates the end-to-end USD performance tuning lifecycle.
  • Validates runtime environments and handles authentication for remote assets.
  • Conducts composition audits and structural assessments of USD stages.
  • Executes validated optimization operations using Scene Optimizer.
  • Generates structured optimization reports comparing baseline and post-optimization metrics.
  • Enforces safety gates for destructive operations and mutation.

When to use it

  • When a USD scene exhibits slow loading times or low frame rates.
  • When memory usage is excessively high or GPU crashes occur.
  • When you need to optimize a scene for better interactivity or performance.
  • When you need to diagnose CAD conversion quality issues.
  • When you need to validate a scene before and after applying optimizations.

Advantages

  • Ensures consistent performance diagnosis through a standardized workflow.
  • Prevents accidental data loss by requiring approval for destructive operations.
  • Provides clear, evidence-based reporting on performance improvements.
  • Integrates seamlessly with existing Omniverse validation and optimization tools.
  • Maintains strict separation between diagnosis, planning, and execution phases.

Usage examples

“This USD scene loads very slowly; please triage what I should check first.”
The agent will initiate the runtime context gate, perform a composition audit, and provide a structured plan to identify the source of the slow load time.
“Optimize my CAD scene for better performance.”
The agent will verify the runtime, assess the CAD conversion quality, and propose a milestone-based optimization plan including validation and profiling.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/openai/omniverse-usd-performance-tuning/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip omniverse-usd-performance-tuning.zip -d .agents/skills

Documentation by NVIDIA Omniverse

Omniverse USD Performance Tuning

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->

<!-- SPDX-License-Identifier: Apache-2.0 -->

When to Use

Use this workflow for broad performance asks such as slow loading, high memory, low FPS, GPU crashes, conversion-quality triage, or generic requests to optimize a USD scene.

Instructions

  1. Start from the mandatory runtime context gate before producing tuning output, unless the prompt is only asking for a static classification test.

  2. Classify broad optimization requests as ready_to_plan; reserve approval_required for prompts that explicitly name a destructive operation to execute before planning.

  3. Plan the full canonical chain through optimization-report, preserving the structured milestone order and the profile-stage:baseline / profile-stage:after labels when listing milestones.

  4. Invoke downstream skill bodies only when their phase is reached, and keep raw runtime artifacts on disk while reading compact summaries.

Frontmatter keeps version and tools at top level for agentskills.io runtime compatibility. NVCARPS discoverability fields live under metadata.

Output Format

Return a plan or status summary that names the selected entry skill, uses ready_to_plan for generic optimization requests, includes the full milestone chain through optimization-report, and labels profile phases as profile-stage:baseline and profile-stage:after. For structured outputs, the broad-optimization milestone subsequence is omniverse-usd-performance-tuning -> profile-stage:baseline -> usd-structure-assessment -> usd-validation-runner -> restructure-decision -> apply-restructure -> so-run-validators -> so-interpret-validators -> so-run-operations -> profile-stage:after -> compare-profiles -> optimization-report. End-to-end execution should produce an optimized stage when mutation runs and a report conforming to the optimization-report reference's schema (scripts/optimization-report.schema.json within that reference).

Use this workflow for broad performance asks such as slow loading, low FPS, high memory, GPU crashes, conversion quality, or "optimize my scene."

Entry skill rule

This skill is the named entry point for broad performance work whenever the agent has any verified way to do that work. Runtime probing details live in setup-usd-performance-tuning; this rule only decides which skill owns the user-facing performance request.

  • If the setup probe shows any verified runtime path - Kit, standalone, or even a partial stack such as Asset Validator only - enter here. If the user's requested tool is missing, return the specific blocked_code (blocked_missing_scene_optimizer, blocked_missing_so_operation, etc.) instead of substituting another workflow.

  • Enter at setup-usd-performance-tuning only when no runtime path is verified and runtime choice/setup is the first unresolved problem.

  • For omniverse:// assets, enter at omniverse-authentication first. Authentication precedes setup and triage for remote assets.

The decision is about ownership, not order. Setup, authentication, and triage all run in their normal phase order; this rule only fixes which skill the agent names as the entry skill in its response.

Runtime context — session-start gate (mandatory)

Before any other tuning output, follow the mandatory session-start gate in skills/omniverse-usd-performance-tuning/references/setup-usd-performance-tuning/references/runtime-context-header.md. That reference owns output_path, the canonical setup-preflight.json location, Format A/Format B, and the "do not improvise a silent probe" anti-pattern.

Required outcomes:

  • Missing or unreadable preflight: invoke setup-usd-performance-tuning.

  • Present preflight: print Format A and wait for the user to choose Continue, Change Kit, Switch to standalone, or Re-run probe.

  • Confirmed runtime in the same session: use compact Format B for follow-up status.

[Kit: {runtime_context.kit.application} {runtime_context.kit.version}  |  SO: {runtime_context.sceneOptimizer.version}  |  AV: {runtime_context.assetValidator.version}]

Runtime artifact token budget

Before reading Kit logs, Asset Validator CSVs, Scene Optimizer logs, Tracy CSVs, or other runtime output, follow references/runtime-artifact-token-budget.md. Keep raw artifacts on disk, read summary JSON first, and use bounded log snapshots instead of full dumps or live streams.

Plan-time vs execution-time approval

approval_required at planning time is reserved for requests that explicitly name a destructive operation. Use the following rule when deciding between ready_to_plan and approval_required:

  • approval_required at planning time — the user's request itself names a destructive operation: "flatten this stage", "decimate the meshes", "merge prototypes", "delete unused prims", or any specific named mutation that cannot be undone within the same workflow. In this case the agent's first response must be an approval prompt that names the operation, before the agent commits to a plan that executes it.

  • ready_to_plan at planning time — the user's request is general: "optimize this scene", "make it load faster", "reduce GPU memory", "improve interactivity". The agent lays out the full plan, including any destructive operations the plan would invoke (for example so-run-operations with mergeMaterials), without withholding the plan itself. Approval for each destructive operation is requested alongside plan approval.

The distinction is between authorising a plan and authorising a destructive action. A general optimisation request authorises planning; it does not authorise execution of specific destructive operations.

For structured runtime-test responses and similar planning summaries:

  • A future restructure-decision prompt is a planned user-decision gate, not a reason to set the top-level response decision to approval_required for a generic optimization request.

  • For a generic optimization request, set decision: "ready_to_plan" and include the full intended chain in both committed_milestones and planned_phases, through optimization-report.

  • It is valid for gates_observed to include asks_user_for_restructure_decision while the top-level decision remains ready_to_plan.

  • Whenever a chain names profile phases, use the exact labels profile-stage:baseline and profile-stage:after; do not emit the ambiguous bare profile-stage token.

  • Start structured milestone lists with omniverse-usd-performance-tuning as the owning entry skill. Include setup-usd-performance-tuning only as additional Phase 0 context, not as a replacement for the entry skill milestone.

  • For broad optimization requests, preserve the milestone subsequence from Output Format above exactly, with optional extra analysis steps inserted only where they do not reorder it.

  • Do not list so-run-validators or so-interpret-validators before restructure-decision in broad optimization milestone summaries. Phase-aware validator routing still happens through usd-validation-runner; the SO validator executor/interpreter milestones appear after the restructure decision path in the structured plan contract.

Output expectation

End-to-end optimization work should produce both an optimized USD stage, when mutation is executed, and a structured optimization report conforming to the optimization-report reference's scripts/optimization-report.schema.json. The HTML report must be rendered from references/report-templates/optimization-report.html.template via render_preview.py — never hand-write HTML. Diagnosis-only work should still end with a report or summary that states no optimized stage was written.

Purpose

Route digital twin USD performance requests into the right diagnostic and optimization workflow while preserving evidence before mutation.

Prerequisites

  • Stage path or enough context to identify the target asset.

  • User goal: diagnosis only, validation, profiling, or processor execution.

  • Runtime availability status from setup-usd-performance-tuning when not already known.

  • Permission status for in-place mutation vs writing a separate optimized output.

Examples

  • "This USD loads slowly; triage what to check first."

  • "Route a low-FPS CAD scene through the performance workflow."

Triage order

  1. Runtime gate. Follow the mandatory session-start gate above before validation, profiling, or optimization. Do not scan, probe, install, or pick Kit/standalone runtimes directly in this skill; setup-usd-performance-tuning owns probe/chooser/install dispatch and writes the preflight consumed here.

  2. Identify the target problem:

    • Load time.

    • FPS or interactivity.

    • GPU or system memory.

    • Crash or device lost.

    • CAD conversion quality.

    • Validation failure.

  3. Gather minimum context:

    • Stage path and size.

    • Whether the stage is local, mounted, or omniverse:// remote. For remote assets, route through omniverse-authentication before first open.

    • Kit or USD runtime.

    • Whether the workload is CAD, VFI, AIF, Isaac, or generic OpenUSD.

    • Whether in-place mutation is allowed.

    • Whether the user wants diagnosis only or processor execution.

  4. Route:

    • USD composition questions: usd-structure-assessment (composition is now part of the SA umbrella; deeper detail in skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/composition-audit.md).

    • Validation and content issues: usd-validation-runner (master router; routes to validate-* family or so-run-validators based on intent).

    • Edit/output decisions: usd-edit-target-planner (also owns variant/payload gates).

    • Repeated copied hierarchy or high mesh count with no instancing: usd-hierarchy-dedupe-candidates.

    • Restructure decision (monolithic stage, asset boundary materialization): restructure-decision.

    • CAD converter settings: read references/cad-conversion/README.md (niche pre-USD concern; see reference for details).

    • Scene Optimizer: so-run-validators, so-interpret-validators, so-run-operations.

Optimization ordering

Follow the canonical ordering in workflow.md § Operation ordering invariants. The high-level rule: prototypes first → per-asset validation → stage-level operations last. The workflow reference owns the full invariant list (meshCleanup before decimateMeshes, deduplication before decimation, never merge if instanced, etc.) and the analysis-only ops catalogue.

Rules

  • Always run composition audit before mutation.

  • Always validate before and after processor execution.

  • Optimize prototypes before per-asset validation.

  • Do not run whole-stage mesh deduplication on very large CAD scenes before checking for hierarchy-level reuse.

  • Do not recommend a fixed optimization stack without bottleneck evidence.

  • Do not invent numeric thresholds or expected percentage wins.

  • Prefer canonical SO ops over specialty / documentary ones. The op curation in references/operations/_curation.json classifies every op as canonical, specialty, analysis, documentary, or deprecated. When more than one op could resolve the same finding, recommend the canonical one first and only reach for a specialty op when the user explicitly asks or the rationale warrants it. Specifically:

    • For vertex welding, prefer canonical meshCleanup with explicit flags over the standalone mergeVertices op. The standalone op is a legacy/specialty surface; use upstream usd-optimize for the operation mechanics and local approval policy before mutating.

    • For hierarchy dedupe, recommend usd-hierarchy-dedupe-candidates + apply-restructure (the USD-authored rewrite path).

    • For per-mesh dedupe, recommend deduplicateGeometry (canonical) over findCoincidingGeometry (analysis — produces a report, not a change).

    • Do not recommend documentary-status ops (e.g., boxClip, deletePrims, removeAttributes, removeUntypedPrims, merge outside its narrow non-instanced case) without an explicit user request. Documentary ops survive in the per-op references/operations/<key>.md routing stubs for completeness but are excluded from agent-initiated recommendations.

    • Specialty ≠ documentary. Ops classified as specialty in _curation.json either (a) have validator-finding evidence that wires them into the so-interpret-validators chain (e.g. sparseMeshes, optimizePrimvars), or (b) are load-bearing escape hatches needed for specific downstream contexts (e.g. primitivesToMeshes when output must be UsdGeomMesh, utilityFunction for instancing toggles and material rebinding, pythonScript for so-create-proxy recipes). Recommend specialty ops when their validator fires OR when their downstream context applies — the suppression above only targets documentary ops.

Limitations

  • Does not replace downstream reference instructions; load each required reference before executing it.

  • Does not install runtimes directly; follow setup or install references when requirements are missing.

  • Does not authorize mutation when the user has not allowed writes.

Troubleshooting

  • If runtime status is unclear, run setup-usd-performance-tuning before profiling or validation.

  • If the reported problem is vague, gather stage path, workload type, and whether diagnosis or execution is requested.

  • If the workflow suggests mutation before evidence, return to baseline profiling and composition audit first.

References

Before routing, read:

  • skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/optimization-tradeoffs.md — identify which pipeline phase the scene is in (extraction, structuring, or optimization). The right action depends on the phase.

  • skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/factory-level-structuring.md — understand the three pillars (assets, aggregation, animation) and the seven-step structuring pattern.

If you have network access, prefer the live URLs (noted in each reference file) for the most current version.

Required execution flow

Read references/workflow.md for the canonical Phase 0-7 flow, including Kit/standalone branches, validator-stack routing, operation ordering, termination conditions, duration hints, and the optional iteration pattern. The compact root map at references/skill-map.md only routes agents into this workflow.

Do not treat downstream phase names as plain checklist labels. Before executing each step, load that phase's nested README.md reference and follow its instructions. Claude Code only exposes the public catalog skill; it does not recursively inject profile-stage, usd-structure-assessment, or other nested references.

The final deliverable must come from optimization-report: save both the structured JSON report and the generated Markdown summary. Do not substitute an ad hoc SUMMARY.md or chat-only recap for the optimization report.

For deeper subtopic guidance, consult the references:

  • skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/composition-audit.md, skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/layer-health.md - subtopic detail for SA's Phase 1 checklist.

  • skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/instancing-readiness/references/instancing-tradeoffs.md - merge safety, decision tree for instancing choices.

  • skills/omniverse-usd-performance-tuning/references/usd-structure-assessment/references/usd-edit-target-planner/references/variants-payloads.md - deeper variant/payload trade-offs (gates are inline in usd-edit-target-planner).

  • references/cad-conversion/README.md - CAD converter settings.

  • references/upstreams/usd-optimize.md - upstream SO mechanics and prebuilt package resolution.

  • skills/omniverse-usd-performance-tuning/references/usd-validation-runner/references/so-run-validators/references/infrastructure.md - local handoff for SO validator infrastructure.

  • skills/omniverse-usd-performance-tuning/references/usd-validation-runner/references/validation-scoping.md - tier 1/2/3 plan + scene-aware adjustment.

  • skills/omniverse-usd-performance-tuning/references/optimization-report/references/optimization-report-template.md - the data contract every phase populates.

For full Kit runtime profiling (FPS, frame time, Hydra/RTX metrics), refer to the external profiling skills at NVIDIA/omniperf.

Files

references/setup-usd-performance-tuning/README.md

Setup USD Performance Tuning

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->

<!-- SPDX-License-Identifier: Apache-2.0 -->

When to Use

Use this reference when runtime availability is unknown or the user explicitly asks to set up, verify, switch, or install the Kit, Scene Optimizer, or Asset Validator path.

Instructions

  1. Check for an existing setup-preflight.json and verify whether it matches the current target and runtime intent.

  2. Probe available Kit, Scene Optimizer, Asset Validator, and standalone USD Python paths without silently choosing between viable alternatives.

  3. Ask the user before installing or switching runtimes when no verified path satisfies the request.

  4. Write or refresh the preflight artifact with runtime versions, paths, and available Scene Optimizer operations.

Pre-flight Checklist

Before executing setup/preflight, re-read and confirm:

  • [ ] references/runtime-context-header.md — runtime context block format.

  • [ ] references/runtime-probe.md — probe sequence and failure handling.

  • [ ] Output workspace policy from parent references/output-workspace.md.

  • [ ] Write setup-preflight.json conforming to scripts/setup-preflight.schema.json.

Output Format

Return the selected runtime route, any user decision needed, and the path to setup-preflight.json. The preflight artifact records Kit, Scene Optimizer, Asset Validator, USD Python, and operationsAvailable evidence.

Use this reference before running validation, profiling, or optimization from this skill package in a fresh environment. The goal is to choose and verify one runtime path before invoking the workflow skills.

When this is the entry skill

This reference is the named entry skill in an agent's response only when no runtime path is verified at all — that is, when the setup probe reports every candidate (Kit, standalone Scene Optimizer, standalone Asset Validator) as unavailable, missing, or unverified. In that case there is no way to route performance work, so resolving the runtime is the agent's first responsibility.

As soon as any runtime path is verified — even partial availability such as kit_runtime: available, asset_validator: available, scene_optimizer: unavailable — the named entry skill is omniverse-usd-performance-tuning, not this one. Triage then routes to the correct outcome, including blocking on a specific missing component when needed. This reference still runs in its normal Phase 0 position; it just isn't the entry skill the agent names.

For omniverse:// assets, omniverse-authentication is the named entry skill ahead of both setup and triage. Authentication preflight precedes runtime probing for remote assets.

This rule is about which skill the agent names as the entry, not about execution order. Setup, authentication, and triage continue to run in their normal phase order regardless.

Purpose

Identify and verify a single Kit or standalone runtime path for profiling, validation, and Scene Optimizer execution before downstream references run.

Prerequisites

  • Current shell access to probe local installs.

  • Any user-provided Kit, USD Composer, Isaac Sim, or standalone library path.

  • Permission to run lightweight Python import probes from candidate runtimes.

Examples

  • "Set up this repo before I run validation."

  • "Check whether my Kit path can run Scene Optimizer and Asset Validator."

Runtime choices

Prefer standalone SO + AV when available. The standalone path is lighter (no Kit overhead), deterministic, and sufficient for all optimization and validation workflows. The SO package includes omni.scene.optimizer.validators with @register_rule decorators that auto-register 25 SO performance validators into OAV when both packages share the same Python 3.12 environment. No manual register_all() call is needed for rule discovery — just ensure both are importable. Category-scoped runs may still use ValidationEngine(init_rules=False) plus enable_rule() for the selected registered rule classes.

Standalone achieves the same validator coverage as Kit: install omniverse-asset-validator via pip into the same venv where the SO package is on PYTHONPATH, and the @register_rule decorators register SO validators at import time.

Fall back to Kit (USD Composer, Isaac Sim, or Kit SDK) when standalone packages are not available or the user explicitly requests it. Kit runs OAV and SO in one runtime and additionally supports render-time profiling. When taking the Kit path, validation must use omni.asset_validator.core from that same Kit runtime. Do not require uv or omni_asset_validate on PATH for the Kit path.

Requirement-to-skill map

  • Existing Kit or USD Composer runtime: verify in this reference; do not install.

  • Missing Kit runtime: invoke install-kit.

  • Scene Optimizer inside Kit: invoke install-so-via-kit when missing.

  • Standalone Scene Optimizer operations: invoke install-so-standalone when the extracted scene_optimizer_core_...release.zip package is missing.

  • Standalone Omni Asset Validator: invoke install-asset-validator-standalone when missing. SO validators auto-register when both packages share the same Python environment.

Output workspace contract

Everything this reference writes goes under the user's output_path (see references/runtime-context-header.md Where artifacts live):

  • <output_path>/setup-preflight.json — canonical name + location for the runtime config consumed by every downstream skill. Do not write it under any other filename or location (no probe_result.json, no _work/, no temp dirs). Downstream skills check this exact path; a different name leaves the session-start gate broken.

  • <output_path>/scripts/probe_setup.py — the generated Python probe driven through Step 3.

  • <output_path>/scripts/probe_setup.log and <output_path>/scripts/probe_setup.stderr.log — probe stdout / stderr.

Follow skills/omniverse-usd-performance-tuning/references/runtime-artifact-token-budget.md for all probe logs. Parse the JSON object from stdout, keep the full stdout / stderr files on disk, and surface only bounded tails or targeted error matches when troubleshooting Kit launch noise.

If output_path is not yet known when this reference is invoked, prompt the user for it before proceeding. Do not pick a default and do not write to the working directory.

Step 1 - Determine standalone runtime

The agent performs setup checks directly from the current shell. Do not rely on repo-local setup scripts or ask the user to run scripts.

Check for standalone Scene Optimizer and Asset Validator packages first — they are the preferred runtime (lighter, no Kit overhead, deterministic). Follow references/standalone-runtime.md for discovery and verification.

If standalone packages are found and importable, set runtime_path: "standalone" in <output_path>/setup-preflight.json and continue to Step 1.6.

If standalone packages are not found, fall through to Step 1.5 (Kit discovery).

Step 1.5 - Determine Kit candidates (fallback)

If standalone is unavailable, look for Kit installations. Follow references/kit-discovery.md for discovery order, path classification, auto-enumeration, and candidate records.

Always ask before broad filesystem scanning. If one Kit candidate exists, set kit.chosen to it and continue. If multiple candidates exist, ask the user to choose; never silently pick one in an interactive session. The newest candidate is pre-selected.

Record the chosen candidate and kit.chosen_by as described in references/kit-discovery.md.

Step 1.6 - Probe the chosen Kit for SO and AV versions

Once kit.chosen is set (or standalone is chosen), run the Python probe from the chosen launcher and write the probe result to <output_path>/setup-preflight.json. Follow references/runtime-probe.md for the launcher, import-mode, version-source, and operationsAvailable contract.

The runtime_context object is the literal input to the header template in references/runtime-context-header.md. Downstream skills read from this object, not from the source kit / sceneOptimizer / assetValidator fields.

Downstream skills (so-run-operations, omniverse-usd-performance-tuning, every so-interpret-validators recommendation) cross-check operationsAvailable against the op key they intend to invoke and refuse to call any op the runtime does not register.

Step 2 - Interpret status

  • ready-standalone: use standalone Scene Optimizer for operations and Omni Asset Validator from Python.

  • ready-kit: use Kit for Scene Optimizer and omni.asset_validator.core validation from the same Kit runtime.

  • needs-runtime-choice: stop and ask the user for a decision.

When status is needs-runtime-choice, ask exactly for one of these paths:

  • Provide the path to standalone SO / AV packages or a pip-installable environment.

  • Provide the path to an existing Kit or USD Composer install.

Do not continue to so-run-validators, so-run-operations, or deep validation until this choice is resolved.

Step 3 - Verify standalone path

If standalone is chosen (Step 1 succeeded), verify each standalone requirement with its dedicated install reference. Follow references/standalone-runtime.md for the user-facing prompt, Python 3.12 requirement, expected standalone layout, and handoff rules.

Step 4 - Verify Kit path (fallback)

For a Kit root (Step 1.5), verify Scene Optimizer and Omni Asset Validator core both load, and capture the runtime versions that Step 1.6 surfaces to the user. Use references/runtime-probe.md for the exact launcher, import, version, and log discipline.

Do not pre-check extension folders, exts/, extscache/, or any other filesystem layout before running the probe. If the probe fails, ask for a different Kit path.

Step 5 - Continue workflow

After setup:

  1. omniverse-usd-performance-tuning for broad performance requests.

  2. usd-structure-assessment before choosing optimizations.

  3. usd-validation-runner for validation; its references own the specific validate-* command details.

  4. so-run-validators, so-interpret-validators, and so-run-operations only after runtime setup is ready.

Record the chosen runtime path in the response so later commands use the same Kit or standalone environment.

Step 6 - Print the runtime context header before continuing

Every downstream user-facing prompt must lead with the runtime context block defined in references/runtime-context-header.md. This reference writes the canonical runtime_context object into <output_path>/setup-preflight.json (see Output workspace contract); downstream references consume it from that exact path.

The header has two formats:

  • Format A (full block) — required at this reference's runtime-choice prompt, at the restructure-decision Phase 2e prompt, at the so-run-operations destructive-op confirmation, and at the first user-facing message of any session that starts mid-workflow.

  • Format B (compact one-liner) — used for routine status messages and follow-up prompts once the user has already seen Format A in the session.

When kit.chosen is set (single candidate or user has picked), print Format A once as the conclusion of this reference's interaction with the user, before the agent hands off to omniverse-usd-performance-tuning. The user must see exactly which Kit application, Scene Optimizer, and Asset Validator version will be in effect for the rest of the session.

Limitations

  • Does not install unless a dedicated install reference is invoked.

  • Does not choose optimization operations or validator scope.

  • Standalone SO validators auto-register via @register_rule decorators when both omniverse-asset-validator and the SO package are importable in the same Python 3.12 environment. Kit auto-registers them via its extension session.

Troubleshooting

  • If standalone packages are found but the probe fails (import error, version mismatch), fall through to Kit discovery.

  • If multiple valid Kit installs are found, ask the user to choose or record the newest unattended choice.

  • If the Kit probe cannot import Scene Optimizer or Asset Validator, try another Kit path.

  • If standalone paths are incomplete, invoke the relevant install reference instead of reusing a bundled validator environment.

Requirements and compatibility

Written for: OpenAI Codex

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 Python

The author says: Orchestrator skill. Downstream phases may require Kit, Scene Optimizer, Asset Validator, USD Python, writable output paths, and omniverse:// authentication selected by setup-usd-performance-tuning.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs
  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

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
NVIDIA Omniverse
Publisher
OpenAI (Official)
Distributed by
OpenAI
Source
openai/plugins · plugins/nvidia/skills/omniverse-usd-performance-tuning · commit d420d13
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (written by AutoGineer)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA Omniverse or OpenAI.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download omniverse-usd-performance-tuning.zip