원클릭으로
validate-references
Create USD Validation features with RequirementRef and feature dependencies. Do NOT use for authoring new requirements.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create USD Validation features with RequirementRef and feature dependencies. Do NOT use for authoring new requirements.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Set up Python NVIDIA USD Validation plugins: entry points, custom rules, uv/pip install, first CLI run. Do NOT use for requirements.
Use when setting up a local usd-validation-nvidia venv for builds, tests, or nvidia_usd_validate. Do NOT use for plugin scaffolding.
Author and validate USD Validation requirements: Markdown specs, codegen, rule mapping, --requirement CLI. Do NOT use for basic plugins.
| name | validate-references |
| version | 1.20.0 |
| license | Apache-2.0 |
| description | Create USD Validation features with RequirementRef and feature dependencies. Do NOT use for authoring new requirements. |
| metadata | {"author":"NVIDIA","tags":["usd-validation","features","requirements","references"]} |
| compatibility | Requires Python 3.10-3.12, uv or pip, network access to Python package indexes, and Linux/macOS shell or Windows PowerShell command syntax. |
usd-validation-nvidia features can reference requirements and depend on features that are owned and implemented by
another installed validation package. This skill shows the smallest useful plugin that generates:
RequirementRef to a built-in com.nvidia.usd requirementThe referenced package supplies the concrete requirement object and rule; the downstream plugin supplies only the generated feature composition.
uv or pip with package-index access.my-usd-validation-plugin/
pyproject.toml
main.py
specs/
features/
ex_001.md
ex_002.md
Use examples/python/validate-references as the working example for this pattern.
This skill requires Python 3.10-3.12. Before setup, run uv run --python 3.11 python --version or
py -3.11 --version on Windows; use 3.10 or 3.12 instead if that is the supported interpreter. If no supported
interpreter is available, stop with: "This skill requires Python 3.10-3.12. Install a supported interpreter, then
rerun." For uv workflows, install one with uv python install 3.11.
Start from a clean parent directory outside this workspace where my-usd-validation-plugin does not already exist. If
that folder already exists, choose a different folder name or move the existing folder aside before continuing.
mkdir -p my-usd-validation-plugin && cd my-usd-validation-plugin
uv init --no-workspace --python 3.11
uv add "usd-validation-nvidia[usd]>=1.20.0"
Declare the plugin entry point and generated package force-include in pyproject.toml:
[project.entry-points."usd_validation_nvidia"]
my_plugin = "main:Plugin"
[tool.hatch.build.targets.wheel.force-include]
"example_validate_references" = "example_validate_references"
pip install "usd-validation-nvidia[usd]>=1.20.0"
pip install -e .
Source:
examples/python/validate-references/pyproject.tomlSource:
examples/python/validate-references/specs/features/ex_001.mdFollowed by:
examples/python/validate-references/specs/features/ex_002.md
The feature spec references com.nvidia.usd.HI.004@1.0.0, which is implemented by the built-in DefaultPrimChecker.
The dependent feature declares Dependencies | ex_001 @ 1.0.0, so selecting com.example.usd.ex_002 also evaluates
the requirement referenced by com.example.usd.ex_001. It also references built-in com.nvidia.usd.UN.001@1.0.0
directly so the generated dependent feature is concrete; that requirement passes on the example asset.
Use usd-profiles-nvidia>=1.16.0 so generated features preserve external requirement references and feature
dependencies as reference objects.
From the repository root:
uv run \
--no-project \
--with "usd-profiles-nvidia>=1.16.0" \
python -m usd_profiles_nvidia.codegen \
--docs-root examples/python/validate-references/specs \
--destination-dir examples/python/validate-references \
--package-name example_validate_references \
--reverse-domain com.example.usd
On Windows:
uv run `
--no-project `
--with "usd-profiles-nvidia>=1.16.0" `
python -m usd_profiles_nvidia.codegen `
--docs-root examples/python/validate-references/specs `
--destination-dir examples/python/validate-references `
--package-name example_validate_references `
--reverse-domain com.example.usd
The example package force-includes example_validate_references, so skipping this step fails during wheel build.
Source:
examples/python/validate-references/main.pysnippetreferenced-featuresFollowed by:
examples/python/validate-references/main.pysnippetplugin-entry-pointAsset:
examples/assets/asset-missing-default-prim.usda
Import the generated Features enum and register both generated features with register_features(...); unregister them
during shutdown. Do not register a new rule when another installed package already implements the referenced
requirement.
From the repository root, run the example feature to see the referenced built-in requirement fail:
This example requires usd-validation-nvidia>=1.20.0, which resolves generated RequirementRef objects to the
registered concrete requirements. If validation fails with AttributeError: 'RequirementRef' object has no attribute 'parameters', the environment is using an older build.
uv run \
--with . \
--with examples/python/validate-references \
nvidia_usd_validate --feature com.example.usd.ex_002 examples/assets/asset-missing-default-prim.usda
This failure run is expected to exit non-zero and report com.nvidia.usd.HI.004, even though validation selected
com.example.usd.ex_002, because ex_002 depends on ex_001. The direct UN.001 reference in ex_002 passes on
the example asset.
On Windows:
uv run `
--with . `
--with examples/python/validate-references `
nvidia_usd_validate --feature com.example.usd.ex_002 examples/assets/asset-missing-default-prim.usda
RequirementRef(code=..., version=...): references a requirement by code/version without owning or re-declaring it.Dependencies | ex_001 @ 1.0.0): generates a feature dependency reference so one
feature can preclude another.Features.<NAME>: generated feature enum value imported by the plugin.register_features(...): registers the feature so --feature and profile composition can select it.unregister_features(...): removes the feature on plugin shutdown.| Package | Purpose |
|---|---|
usd-validation-nvidia[usd]>=1.20.0 | Engine, CLI, plugin discovery, built-in com.nvidia.usd requirements, and OpenUSD runtime |
usd-profiles-nvidia | Codegen package for generated feature DTOs |
validate-requirements when authoring
new requirement Markdown and rule mappings.com.nvidia.usd.HI.004, when referencing requirements from another
package.ex_002 cannot resolve ex_001 unless both are registered.nvidia_usd_validate --help before debugging rule execution.--feature does not list the feature, confirm the plugin entry point uses the usd_validation_nvidia group and
the plugin package is installed in the run environment.example_validate_references is missing, run feature codegen before installing or
building the example plugin.