simready-foundation-add-capability
tarafından nvidia
Add SimReady capability docs, requirement indexes, validation stubs, and registrations for new requirement families.
npx skills add https://github.com/nvidia/simready-foundation --skill simready-foundation-add-capabilitySimReady Add Capability
Purpose
Use this skill when a new requirement does not fit an existing capability. A capability groups related requirements and their validators under nv_core/sr_specs/docs/capabilities/.
After creating the capability, use simready-foundation-add-requirement for each requirement and simready-foundation-add-validator for executable checks.
Prerequisites
Before editing, read:
AGENTS.mdnv_core/sr_specs/docs/guides/guides.mdnv_core/sr_specs/docs/guides/naming_conventions.mdnv_core/sr_specs/docs/guides/features_expansion_workflow.md- existing neighboring capability folders
nv_core/sr_specs/docs/capabilities/capabilities.mdnv_core/sr_specs/docs/capabilities/__init__.py
No network access, API key, or external service is required for the authoring pass.
Inputs
Collect or infer:
| Input | Requirement |
|---|---|
capability_group | Existing top-level group such as physics_bodies, visualization, or a new group if justified. |
capability_slug | Snake_case folder name. |
display_name | Human-readable capability name. |
scope | What requirement family belongs here. |
requirement_prefix | Requirement code prefix, if new. |
initial_requirements | Optional first requirement docs to add. |
validator_scope | Whether validation is objective, manual, runtime, or deferred. |
Instructions
Use this checklist when changing the repository:
- Confirm no existing capability already covers the scope.
- Choose names using the naming guide:
- group folder:
snake_case - folder:
snake_case - overview:
capability-<folder_name>.md - requirement docs: kebab-case
- group folder:
- Create the capability folder in the appropriate group; if the group is new, add the group landing page too.
- Add
capability-<slug>.mdwith purpose, scope, requirement table, related capabilities, and validation notes. - Add
requirements.mdwith{requirements-table}and a toctree for requirement docs. - Add an empty or initial
requirements/folder content only for real requirements. - Add
validation.pywith imports and placeholder structure only when validators are planned; otherwise document deferred validation in the capability overview. - Update parent group toctrees, group landing pages, and global capability indexes, including
capabilities.mdwhen needed. - Update
capabilities/__init__.pyimports when a new validation module must be registered. - Validate consistency:
- folder and overview names match
- requirements index builds conceptually
- validator registration path is documented
- no duplicate requirement prefix or capability slug exists
Examples
Example request:
Add a SimReady capability for factory connection points, with requirement index registration and a validation plan.
Expected result summary:
capability_path: nv_core/sr_specs/docs/capabilities/<group>/<capability_slug>
overview_doc: capability-<capability_slug>.md
requirements_index: requirements.md
validation_module: validation.py or deferred
next_step: add concrete requirements with simready-foundation-add-requirement
Policies
- Prefer adding requirements to an existing capability when the domain already exists.
- Do not create a capability as a thin wrapper for one feature unless the requirement family is truly distinct.
- Keep capability docs about requirement families, not profile workflows.
- Make validation status explicit; incomplete validators are acceptable only when called out.
Limitations
- Do not create new feature or profile versions from this skill; hand off to the relevant add/update feature or profile skill.
- Do not invent requirement IDs when the capability scope is still ambiguous; record the naming question instead.
- Do not add executable validators unless the objective checks and registration path are clear.
Troubleshooting
- Error: an existing capability already owns the scope. Solution: update that capability instead of creating a parallel one.
- Error: the validator registration path is unclear. Solution: document deferred validation in the overview and list the exact follow-up.
- Error: indexes and folder names disagree. Solution: re-check the naming guide, then align folder, overview, requirements index, and imports.
Resources
assets/openai.yamlpreserves optional UI metadata for clients that read skill display hints. It is not required for the authoring workflow.
Summary Format
Report:
| Field | Meaning |
|---|---|
capability_path | New capability folder. |
overview_doc | Capability overview path. |
requirements_index | Requirements index path. |
validation_module | Validator path or deferred. |
initial_requirements | Requirement IDs added, if any. |
indexes_changed | Global/group index files changed. |
next_step | Add requirements, validators, features, or review. |