agentleFS
NVIDIAKnown publisherNVIDIA/simready-foundation/.agents/skills/simready-foundation-add-validator/SKILL.md

simready-foundation-add-validator

Skill156 starsChanged 52 days agoApache-2.0View on GitHub

Use for adding executable SimReady validators that report requirement IDs with focused pass/fail coverage.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 13 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill to implement objective validation for one or more requirement IDs.

    line 17
  2. Very specific:

    If the rule already exists but is wrong or incomplete, use simready-foundation-update-validator.

    line 19
  3. Distinctive:

    Use this checklist when changing the repository:

    line 48
  4. Very specific:

    Add a checker class or function in validation.py with the correct registration decorators/imports used by the capability.

    line 52
  5. Distinctive:

    Keep failure messages specific, deterministic, and actionable.

    line 54
  6. Distinctive:

    Add focused pass/fail tests or sample validation instructions where the repo has a test pattern.

    line 56
  7. Distinctive:

    Update requirement docs only if implementation clarifies edge cases.

    line 57
  8. Distinctive:

    Do not validate subjective guidance as a hard failure unless the requirement defines objective criteria.

    line 82
  9. Distinctive:

    Prefer one clear checker per rule family over tangled mega-checkers.

    line 83
  10. Distinctive:

    Avoid changing unrelated validators while adding a new one.

    line 84
  11. Distinctive:

    Use warnings only when the validation framework supports them and the requirement is advisory.

    line 85
  12. Distinctive:

    If local Omniverse/OAV packages are unavailable, document the narrowed validation you could run.

    line 86
  13. Distinctive:

    Do not mutate published feature or profile versions in place.

    line 90
  14. Distinctive:

    Do not invent requirement IDs or validator behavior when the contract is ambiguous.

    line 91
  15. Distinctive:

    Do not skip index, manifest, validation, or downstream follow-up notes.

    line 92

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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.md
  • nv_core/sr_specs/docs/guides/features/features.md
  • nv_core/sr_specs/docs/guides/features_expansion_workflow.md
  • nv_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:

InputRequirement
requirement_codesRequirement IDs this validator enforces.
validation_moduleTarget capability validation.py.
rule_nameClear checker class/function name.
asset_scopeStage, prim, property, relationship, material, physics, or runtime evidence.
failure_messageActionable message that names the failed condition.
test_assetsExisting or minimal pass/fail assets, if available.

Instructions

Use this checklist when changing the repository:

  1. Confirm requirement docs exist and the intended check is objective.
  2. Inspect existing validators in the capability and reuse local helper patterns.
  3. Add a checker class or function in validation.py with the correct registration decorators/imports used by the capability.
  4. Register every requirement ID the checker enforces and pass the matching requirement when reporting each failure.
  5. Keep failure messages specific, deterministic, and actionable.
  6. Handle missing default prims, invalid paths, unloaded/abstract prims, variants, and composed stages consistently with neighboring validators.
  7. Add focused pass/fail tests or sample validation instructions where the repo has a test pattern.
  8. Update requirement docs only if implementation clarifies edge cases.
  9. 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.yaml preserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.

Summary Format

Report:

FieldMeaning
requirement_codesRequirements validated.
validation_moduleFile changed.
checkerClass/function added.
docs_alignedRequirement docs checked or updated.
testsTests/assets run or planned.
feature_impactFeatures that now have executable coverage.
validationImport/test result and remaining gaps.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.