SimReady Add Feature Adapter

SkillDev tools

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

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the SimReady Add Feature Adapter skill

What this skill tells your AI

The instructions your AI receives, as published by nvidia/simready-foundation in skills/simready-foundation-add-feature-adapter/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
87
Forks
18
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
simready-foundation-add-feature-adapter
Source
github.com/nvidia/simready-foundation