simready-foundation-validate-foundation-change
作者: nvidia
用於審核SimReady需求、驗證器、功能、設定檔、適配器、測試及技能的一致性。
npx skills add https://github.com/nvidia/simready-foundation --skill simready-foundation-validate-foundation-changeSimReady Validate Foundation Change
Purpose
Use this skill after changing SimReady requirements, capabilities, validators, features, profiles, adapters, runtime tests, or related skills. It is a consistency audit, not a repair skill. Repair findings with the targeted add/update skills.
Prerequisites
Before validating, read:
AGENTS.md- the changed files
- relevant guides for the changed surface
- affected feature manifests and profiles
nv_core/sr_specs/docs/guides/benchmark/benchmark.mdand its linked pages when runtime evidence or_testing/artifacts are involved
Inputs
Collect or infer:
| Input | Requirement |
|---|---|
changed_files | Git diff or explicit file list. |
change_type | Requirement, capability, validator, feature, profile, adapter, runtime test, or skill change. |
target_feature_profile | Affected FET_###_<RUNTIME> feature names, semantic feature versions, profile names, and profile versions. |
available_tools | simready-validate, USD/PXR, OAV, Kit runtime, or docs-only. |
Instructions
Use this checklist when changing the repository:
- Inspect the diff and classify touched surfaces.
- Requirement/capability checks:
- every requirement doc has a unique code
- every requirement doc is indexed by its capability
- capability overview and
requirements.mdagree - custom names follow naming conventions
- Validator checks:
- validators register documented requirement IDs
- failure messages are requirement-specific
- docs and validator behavior agree
- imports/registration paths are updated
- Feature checks:
- JSON manifests parse
- feature names use
FET_###_<RUNTIME> - feature versions are dotted semantic versions; do not reintroduce the reverted bare-integer version experiment
- JSON manifest filenames match
FET_###_<RUNTIME>-<semantic-version>.json - feature markdown filenames match
FET_###_<RUNTIME>.md id,version,display_name,path,dependencies, andrequirementsare present as expected- every requirement ID exists
- every dependency feature/version exists
- dependency versions are exact and dependency chains are not circular
- feature expansion removes conflicting base requirements instead of stacking mutually exclusive rules
- feature markdown keeps the canonical
feature-template.mdsections: Feature, Description, Dependency Graph, Use Cases, Requirements, Pipelines, Samples, Benchmarks, and Adapters - feature markdown documents the same semantic versions and requirements as the JSON manifests
features/features.mdand dependency graph are updated when needed- new or contract-changing features have a matching
skills/simready-foundation-conform-fet-###-<runtime>skill, or the change documents why no asset-repair skill is safe/applicable
- Profile checks:
- the per-profile TOML files in
profiles/parse - existing profile versions are preserved unless explicitly editorial
- every referenced feature name/semantic feature version exists
- profile markdown and
profiles.mdagree with TOML
- the per-profile TOML files in
- Adapter checks:
- adapter metadata references existing feature names and semantic feature versions
- every changed profile feature difference has an adapter path or documented blocker
- Runtime test checks:
- Python test sources changed, not generated plans, result JSON, or reports
- tier-owned tests live under
nv_core/tiers/<tier>/<test-package>/, where<test-package>is the importable package declared by that tier's descriptor; retirednv_core/runtime_testsandnv_core/testing_toolstrees are not recreated - the tier wheel includes the test package and its descriptor's
runtime_tests_pathpoints directly to that importable directory - independent test-only wheels use
simready_benchmark.tests; unpublished development packs remain discoverable through--tests-path - each independently reportable test has its own module and
@testregistration - feature mappings, name/version, engine requirements, configuration defaults,
description, andexpected_videoare complete; do not add the removedrequirementdecorator keyword - focused unit and registration tests cover non-runtime behavior
- engine assumptions and reproduction commands are documented
- expected pass/fail/skip signals and report artifacts are clear
- Skill/layout checks:
skillsis source of truth.codex/skillsand.claude/skillsremain compatibility links/placeholders- skill folder name,
SKILL.mdname, andassets/openai.yamlprompt token align - conform skill source-of-truth feature manifests, requirement IDs, validators, repair policy, blocked cases, and summary fields align with the changed feature contract
- Run available validation commands:
- JSON/TOML parse checks
- targeted Python syntax/import checks
simready-validatewhen installed- USD/PXR or runtime tests when available and relevant
- Report findings ordered by severity with file paths and next repair skill.
Examples
Example request:
Validate a SimReady Foundation change that adds a feature, profile, validator, and conform skill.
Expected result summary:
findings: file paths and contract drift found
validation: checks reviewed or rerun
next_step: targeted add/update/conform skill for each repair
Policies
- Do not hide unavailable tooling. State exactly which checks could not run.
- Do not treat docs-only validation as equivalent to runtime validation.
- Prefer targeted findings over broad style advice.
- If profile markdown and TOML disagree, TOML is the machine-readable source of truth.
- If a published version was mutated in place, flag it unless the change is clearly editorial.
Limitations
- This skill audits consistency; make repairs only when the user asks for them.
- Do not treat missing runtime evidence as passing; record the validation gap.
- Do not collapse versioned SimReady artifacts into mutable in-place edits.
Troubleshooting
- Error: a referenced artifact is missing. Solution: report the missing path and the upstream index or manifest that points to it.
- Error: docs and validators disagree. Solution: identify which contract is authoritative before recommending a repair.
- Error: runtime evidence is absent. Solution: mark it as a validation gap rather than a pass.
Resources
assets/openai.yamlpreserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.
Summary Format
Report:
| Field | Meaning |
|---|---|
change_type | Surfaces checked. |
files_checked | Important files inspected. |
commands_run | Validation commands and results. |
findings | Bugs or consistency gaps ordered by severity. |
blocked_checks | Tooling or environment gaps. |
recommended_repairs | Targeted skills or files to fix next. |
overall_status | Pass, pass with warnings, blocked, or fail. |