simready-foundation-add-requirement
tarafından nvidia
Use for adding atomic SimReady requirements with stable IDs, docs, examples, indexes, and validator follow-up.
npx skills add https://github.com/nvidia/simready-foundation --skill simready-foundation-add-requirementSimReady Add Requirement
Purpose
Use this skill to add one new atomic, testable requirement to an existing SimReady capability. A requirement is the smallest stable contract that features can include and validators can report.
If no existing capability fits, use simready-foundation-add-capability first. If the requirement changes behavior for an existing rule, use simready-foundation-update-requirement.
Prerequisites
Before editing, read:
AGENTS.mdnv_core/sr_specs/docs/guides/guides.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 capability
capability-*.md,requirements.md, existingrequirements/*.md, andvalidation.py
Inputs
Collect or infer:
| Input | Requirement |
|---|---|
capability_path | Existing capability folder under nv_core/sr_specs/docs/capabilities/. |
requirement_slug | Kebab-case filename without .md. |
requirement_code | Stable code such as RB.011 or NVM.006; must not already exist. |
summary | One-sentence rule statement. |
description | Precise asset condition being checked. |
compatibility | OpenUSD, PhysX, Isaac Sim, MDL, or other relevant compatibility tier. |
tags | Essential, correctness, portability, performance, or another existing tag. |
examples | Valid and invalid USDA or structured examples. |
validator_plan | Existing validator, new validator needed, manual-only, or runtime-only. |
Instructions
Use this checklist when changing the repository:
- Confirm the target capability exists and the requirement code is unused across
nv_core/sr_specs/docs. - Create
requirements/<requirement_slug>.mdusing the repository's requirement metadata table style:Code,Validator,Compatibility, andTags. - Include
Summary,Description,Why,Examples,How to comply, and relevant USD or runtime references. - Add valid and invalid examples that show the smallest meaningful pass/fail distinction.
- Add the requirement filename to the capability
requirements.mdtoctree or requirements table. - If the capability overview lists requirements directly, update
capability-<slug>.mdtoo. - If an objective rule can be implemented now, hand off to
simready-foundation-add-validator. - If an existing or new feature should include this requirement, hand off to
simready-foundation-add-featureorsimready-foundation-update-feature. - Validate consistency:
- requirement code is unique
- requirement file is reachable from the capability index
- examples align with the described rule
- validator status is stated honestly
Examples
Example request:
Add a new atomic requirement for factory connection point direction metadata.
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
- Requirements must be atomic. Split compound rules into separate requirement IDs.
- Do not create a requirement just to mirror a feature name; define the concrete asset rule.
- Prefer native USD concepts before custom metadata.
- Any new custom USD property or attribute named by the requirement must follow
naming_conventions.mdnamespace rules. - Use warnings or manual review for subjective guidance; reserve failures for objective contract violations.
- Do not list a requirement in a feature until its intended validation status is clear.
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_code | New requirement ID. |
requirement_doc | Markdown path. |
capability | Capability folder updated. |
index_updates | Requirement index/overview files updated. |
validator_plan | New validator, existing validator, manual review, or runtime test. |
feature_followup | Feature(s) that should include the requirement. |
validation | Checks run and remaining gaps. |