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

simready-foundation-add-feature-adapter

Skill156 starsChanged 52 days agoApache-2.0View on GitHub

Use for adding SimReady feature adapters that mutate USD assets between exact feature or profile versions.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 14 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈14

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this after feature/profile differences are known.

    line 19
  2. Distinctive:

    Use this checklist when changing the repository:

    line 47
  3. Very specific:

    Add a Python adapter file with @feature_adapter metadata using exact feature names and integer versions.

    line 52
  4. Distinctive:

    read source stage only when needed

    line 54
  5. Distinctive:

    Use native USD schemas and existing helper patterns from neighboring adapters.

    line 58
  6. Distinctive:

    Add focused tests or manual validation notes:

    line 59
  7. Distinctive:

    Update adapter indexes, imports, or registration files if the repo requires them.

    line 63
  8. Distinctive:

    If the adapter is needed for a new profile version, update the profile docs or migration notes.

    line 64
  9. Distinctive:

    Do not use adapters to hide invalid source assets.

    line 84
  10. Distinctive:

    Do not mutate source stages in place.

    line 85
  11. Distinctive:

    Do not invent property values that need user intent or prediction unless the adapter contract explicitly defines defaults.

    line 86
  12. Distinctive:

    Keep profile upgrade paths direct: every changed feature needs a clear adapter path or a documented blocker.

    line 87
  13. Distinctive:

    Do not mutate published feature or profile versions in place.

    line 91
  14. Distinctive:

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

    line 92
  15. Distinctive:

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

    line 93

≈ “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 Feature Adapter

Purpose

Use this skill to add a direct asset mutation path between exact FET_###_<RUNTIME> feature names with integer feature versions, or between profile feature bundles. Feature adapters live under nv_core/cip_specs/asset_handler_modules/ and modify an output USD stage so an asset can move from an input feature/profile contract to a target one.

Use this after feature/profile differences are known. If no USD mutation is needed, document that no adapter is required.

Prerequisites

Before editing, read:

  • AGENTS.md
  • nv_core/sr_specs/docs/guides/feature_adapters/feature_adapters.md
  • source and target feature manifests
  • source and target profile versions, if this is profile-driven
  • existing adapters in the relevant asset handler module

Inputs

Collect or infer:

InputRequirement
input_feature_nameSource feature name / manifest id, such as FET_003_STANDARD.
input_feature_versionSource integer feature version.
output_feature_nameTarget feature name / manifest id, such as FET_003_PHYSX.
output_feature_versionTarget integer feature version.
profile_pathOptional source/target profile upgrade path.
mutationExact USD data changes required.
module_pathAsset handler module directory.
test_assetsAssets that pass input and should pass output after mutation.

Instructions

Use this checklist when changing the repository:

  1. Compare source and target manifests. Confirm names use FET_###_<RUNTIME> and versions are exact integers, then identify only the requirements that differ.
  2. Decide whether a direct adapter is necessary. For profile transformations, every feature difference must have a direct adapter path or a documented blocker. If target requirements are documentation-only or already satisfied by source assets, document no-op behavior.
  3. Choose or create the asset handler module path.
  4. Add a Python adapter file with @feature_adapter metadata using exact feature names and integer versions.
  5. Implement modify_stage(input_stage, output_stage):
    • read source stage only when needed
    • mutate output stage deterministically
    • preserve unrelated authored data
    • save output stage when complete
  6. Use native USD schemas and existing helper patterns from neighboring adapters.
  7. Add focused tests or manual validation notes:
    • input validates against source feature/profile
    • output validates against target feature/profile
    • mutation is idempotent or safely repeatable where practical
  8. Update adapter indexes, imports, or registration files if the repo requires them.
  9. If the adapter is needed for a new profile version, update the profile docs or migration notes.

Examples

Example request:

Add a feature adapter that mutates assets from one exact SimReady feature/profile version to another.

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 use adapters to hide invalid source assets; adapters should bridge defined feature differences.
  • Do not mutate source stages in place.
  • Do not invent property values that need user intent or prediction unless the adapter contract explicitly defines defaults.
  • Keep profile upgrade paths direct: every changed feature needs a clear adapter path or a documented blocker.

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
adapter_nameAdapter identifier.
adapter_pathPython file path.
input_featureSource feature name and integer version.
output_featureTarget feature name and integer version.
mutation_summaryUSD opinions changed.
profile_upgradeProfile path supported, if any.
validationTests/assets run 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.