
Skill
simready-foundation-add-validator
add executable SimReady validators
Description
Use for adding executable SimReady validators that report requirement IDs with focused pass/fail coverage.
SKILL.md
SimReady Add Validator
Purpose
Use this skill to implement objective validation for one or more requirement IDs. Validators should report failures against the exact requirement code documented in the capability.
If the rule already exists but is wrong or incomplete, use simready-foundation-update-validator.
Prerequisites
Before editing, read:
AGENTS.mdnv_core/sr_specs/docs/guides/features/features.mdnv_core/sr_specs/docs/guides/features_expansion_workflow.mdnv_core/sr_specs/docs/guides/naming_conventions.md- target requirement markdown
- target capability
validation.py - nearby checker classes in the same capability
- feature manifests that include the requirement
Inputs
Collect or infer:
| Input | Requirement |
|---|---|
requirement_codes | Requirement IDs this validator enforces. |
validation_module | Target capability validation.py. |
rule_name | Clear checker class/function name. |
asset_scope | Stage, prim, property, relationship, material, physics, or runtime evidence. |
failure_message | Actionable message that names the failed condition. |
test_assets | Existing or minimal pass/fail assets, if available. |
Instructions
Use this checklist when changing the repository:
- Confirm requirement docs exist and the intended check is objective.
- Inspect existing validators in the capability and reuse local helper patterns.
- Add a checker class or function in
validation.pywith the correct registration decorators/imports used by the capability. - Register every requirement ID the checker enforces and pass the matching requirement when reporting each failure.
- Keep failure messages specific, deterministic, and actionable.
- Handle missing default prims, invalid paths, unloaded/abstract prims, variants, and composed stages consistently with neighboring validators.
- Add focused pass/fail tests or sample validation instructions where the repo has a test pattern.
- Update requirement docs only if implementation clarifies edge cases.
- Validate consistency:
- validator imports successfully where possible
- requirement IDs match documented codes
- failure messages match docs
- feature manifests include only registered requirements when executable validation is expected
Examples
Example request:
Add a validator for a SimReady factory connection point requirement.
Expected result summary:
changed_files: new docs, manifests, indexes, or validation scaffolding
validation: focused static checks and any relevant docs/build checks
remaining_gaps: requirement, validator, adapter, profile, or runtime-test follow-up
Policies
- Do not validate subjective guidance as a hard failure unless the requirement defines objective criteria.
- Prefer one clear checker per rule family over tangled mega-checkers.
- Avoid changing unrelated validators while adding a new one.
- Use warnings only when the validation framework supports them and the requirement is advisory.
- If local Omniverse/OAV packages are unavailable, document the narrowed validation you could run.
Limitations
- Do not mutate published feature or profile versions in place.
- Do not invent requirement IDs or validator behavior when the contract is ambiguous; record the question.
- Do not skip index, manifest, validation, or downstream follow-up notes.
Troubleshooting
- Error: the new concept overlaps an existing artifact. Solution: update the existing capability, requirement, feature, profile, or adapter instead.
- Error: names or IDs conflict. Solution: re-check naming conventions and nearby indexes before editing further.
- Error: validation strategy is unclear. Solution: document deferred validation and the exact follow-up skill.
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 |
|---|---|
requirement_codes | Requirements validated. |
validation_module | File changed. |
checker | Class/function added. |
docs_aligned | Requirement docs checked or updated. |
tests | Tests/assets run or planned. |
feature_impact | Features that now have executable coverage. |
validation | Import/test result and remaining gaps. |
More skills from the simready-foundation repository
View all 26 skillssimready-foundation-add-capability
add SimReady capability documentation
Jul 14DocumentationNVIDIASimulationsimready-foundation-add-feature
add SimReady features and documentation
Jul 14DocumentationEngineeringNVIDIASimulationsimready-foundation-add-feature-adapter
mutate USD assets with feature adapters
Jul 14EngineeringNVIDIASimulationsimready-foundation-add-profile
add SimReady profile versions
Jul 14DocumentationNVIDIASimulationValidationsimready-foundation-add-requirement
add atomic SimReady requirements
Jul 14DocumentationNVIDIASimulationValidationsimready-foundation-add-runtime-test
add SimReady runtime tests
Jul 14NVIDIASimulationTestingValidation
More from NVIDIA
View publishernemoclaw-user-guide
retrieve NemoClaw documentation and configuration
NemoClaw
Jul 20DocumentationMCPSearchmcore-build-and-dependency
manage Megatron-LM development environments
Megatron-LM
Jul 14ContainersDeploymentPythonmcore-bump-base-image
update NVIDIA PyTorch base images
Megatron-LM
Jul 14CI/CDDeploymentmcore-cicd
manage CI/CD pipelines for Megatron-LM
Megatron-LM
Jul 14CI/CDDeploymentGitHubmcore-create-issue
investigate CI failures and create issues
Megatron-LM
Jul 14DebuggingGitHubTriagemcore-linting-and-formatting
lint and format Megatron-LM code
Megatron-LM
Jul 14Best PracticesCode Analysis