[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-simready-foundation-conform-fet-000-core":3,"mdc--rrhnbd-key":34,"related-repo-nvidia-simready-foundation-conform-fet-000-core":1616,"related-org-nvidia-simready-foundation-conform-fet-000-core":1700},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"simready-foundation-conform-fet-000-core","repair SimReady core asset layout","Use for repairing SimReady Core naming, asset layout, unresolved paths, and undefined prim failures.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,14,17,20],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Simulation","simulation",{"name":18,"slug":19,"type":13},"Engineering","engineering",{"name":21,"slug":22,"type":13},"Debugging","debugging",52,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fsimready-foundation","2026-07-14T05:34:22.095083","Apache-2.0",8,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"SimReady Foundation is a central repository for defining simulation content specifications based on various runtime use cases. ","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fsimready-foundation\u002Ftree\u002FHEAD\u002Fskills\u002Fsimready-foundation-conform-fet-000-core","---\nname: simready-foundation-conform-fet-000-core\ndescription: \"Use for repairing SimReady Core naming, asset layout, unresolved paths, and undefined prim failures.\"\nlicense: Apache-2.0\nmetadata:\n  author: \"Shaad Boochoon \u003Csboochoon@nvidia.com>\"\n  tags:\n    - simready\n    - conformance\n    - core\n---\n\n\n# SimReady Conform FET-000 Core\n\n## Purpose\nUse this workflow skill to bring an existing USD asset into conformance with the SimReady Core feature contract, then hand the repaired copy back to profile validation.\n\nThis skill is not the final validator and should not silently mutate source assets. It stages a repaired USD-family asset under the requested output directory, applies deterministic fixes only where safe, and stops when a validation gate still fails or a manual decision is required.\n\n## Prerequisites\n\nRead the source-of-truth files named below before editing. Work on staged outputs where the skill requires them, and keep validation evidence with the result.\n\n## Source of Truth\n\nBefore changing an asset, load the exact FET000_CORE manifest selected by the profile. In this repo, start with:\n\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_000_base_neutral-0.1.0-core.json`\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_000-base_neutral-0.1.0-core.md`\n\nIf the selected profile names a newer FET000_CORE version, use that manifest instead. Treat the JSON requirement list as authoritative when markdown and JSON disagree.\n\nFor per-requirement repair details, read `references\u002Ffet000-requirements.md` only when a FET000_CORE validation report or inspection identifies matching failures.\n\n## Inputs\n\nCollect these before editing:\n\n| Input | Requirement |\n|---|---|\n| `usd_asset` | Required `.usd`, `.usda`, `.usdc`, or unpacked USD-family asset to repair. |\n| `output_root` | Required or inferred folder for staged assets and reports. |\n| `simready_profile` | Profile being validated, such as `prop-robotics-neutral` or `robot-body-runnable`. |\n| `profile_version` | Profile version, if supplied by the user or validation command. |\n| `validation_report` | Preferred JSON or markdown report from the failing profile\u002Ffeature validation gate. |\n| `source_asset` | Original CAD, DCC, URDF, MJCF, or conversion input path, used for provenance metadata. |\n| `asset_name` and `asset_type` | Use explicit user values when provided; otherwise infer conservative defaults from the asset path and profile. |\n\n## Instructions\n\nUse this checklist when changing the repository:\n\n1. Confirm the input asset exists and record the original path.\n2. Parse the validation report when available. If no report exists, run the same profile or feature validation gate first when the local tooling is available.\n3. Filter to FET000_CORE failures and requirement IDs. Do not repair unrelated feature failures in this skill.\n4. Create a staged output folder under `output_root`, using safe lowercase path components.\n5. Copy or export the input asset into the staged folder. Do not overwrite the source asset unless the user explicitly asks for in-place repair.\n6. Apply fixes in this order:\n   - Path and layout fixes for `NP.002`, `NP.003`, `NP.004`, and `NP.005`.\n   - Metadata fixes for `NP.006` and `SR.001`. If the only Core failure is `NP.006` and the Physical AI Skill Hub commands are available, prefer `apply-simready-foundation-metadata` over hand-editing.\n   - Composition and asset path fixes for `NP.007` and `NP.008`.\n   - Undefined prim cleanup for `HI.010` only when the affected over can be safely resolved or removed.\n7. Rerun the same validation gate that failed, or the narrowest available FET000_CORE validation gate.\n8. Summarize the stage as passed, failed, skipped, or blocked. Stop at the first remaining failing validation gate unless the user asks for best-effort continuation.\n\n## Examples\n\nExample request:\n\n```text\nRepair FET000_CORE failures on a USD asset, including core metadata and naming\u002Fpath issues.\n```\n\nExpected result summary:\n\n```text\nstaged_asset: repaired copy or output directory\nvalidation: selected feature\u002Fprofile gate and report path\nremaining_failures: next failing requirement IDs, if any\n```\n\n## Repair Policy\n\nMake automatic repairs only when the intended result is mechanical and portable:\n\n- Rename copied files and folders to satisfy Core naming rules.\n- Place the main USD file at `asset_root\u002F\u003Cintermediate>\u002F\u003Casset_file>.usd*` when repairing `NP.005`.\n- Author `customLayerData` required by `SR.001`, including `SimReady_Metadata`, `asset_name`, `asset_type`, `source_file`, and `usd_date_generated`.\n- Create or repair a same-directory sidecar JSON only when that is the chosen `NP.006` metadata strategy.\n- Rewrite absolute asset paths to relative paths only when the referenced file exists and is inside the staged asset root, or when it is safe to copy\u002Fpackage the dependency into the staged asset root.\n\nBlock and report instead of guessing when:\n\n- A required dependency cannot be found.\n- A path points outside the asset package and copying it would change ownership or licensing assumptions.\n- An undefined prim might be a legitimate composition override after a missing reference is restored.\n- Metadata values would require domain knowledge the user did not provide.\n- Repairing one requirement would invalidate a higher-priority profile requirement.\n\n## Metadata Defaults\n\nWhen explicit values are unavailable, use conservative defaults:\n\n| Field | Default |\n|---|---|\n| `asset_name` | Safe stem of the staged USD asset or asset root folder. |\n| `asset_type` | `robot` for robot profiles, `prop` for prop profiles, otherwise `asset`. |\n| `source_file` | `source_asset` when supplied; otherwise the original input asset path. |\n| `usd_date_generated` | Current date in `YYYY-MM-DD` format at repair time. |\n| `SimReady_Metadata` | Empty dictionary unless a profile-specific authoring step supplies values. |\n\nPrefer `SimReady_Metadata` with that exact capitalization because current validators check that key in root layer `customLayerData`.\n\n## Tested Metadata Repair\n\nFor a converted CAD asset that fails FET000_CORE only on `NP.006`, this command shape has been forward-tested:\n\n```bash\nuv run --python 3.12 apply-simready-foundation-metadata \u003Cusd-asset> \\\n  --output-dir \u003Coutput-root>\u002F\u003Casset-name>\u002Fsimready_usd \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --source-asset \u003Csource-asset> \\\n  --pipeline-step convert-cad-to-usd \\\n  --report \u003Coutput-root>\u002Fapply-simready-foundation-metadata.json \\\n  --markdown-report \u003Coutput-root>\u002Fapply-simready-foundation-metadata.md\n```\n\nExpected repair outputs:\n\n- A staged copy of the USD asset under `\u003Casset-name>\u002Fsimready_usd\u002F`.\n- Root layer `customLayerData['SimReady_Metadata']`.\n- A same-directory sidecar JSON file.\n\nAfter rerunning profile validation, count this skill as successful when `FET000_CORE` passes, even if the full profile still fails on non-Core features such as units, rigid bodies, multibody physics, or grasp vectors. Report those remaining feature failures as handoff work for their own skills.\n\n## Validation Handoff\n\nPreserve reports under the staged output directory. If the Physical AI Skill Hub validation commands are available, the normal handoff is:\n\n```bash\nuv run --python 3.12 validate-simready-profile \u003Cstaged-usd> \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --report \u003Coutput-root>\u002Fvalidation\u002Ffet000-core-after-repair.json\n```\n\nIf those commands are not available, use the SimReady Foundations validator entrypoint configured in this checkout or inspect the relevant requirement validators directly. Always say which validation path was used.\n\n## Limitations\n\n- Do not silently mutate the source asset; work on the requested staged output.\n- Do not hide later profile failures after the selected feature gate passes or fails.\n- Do not invent geometry, metadata, or runtime behavior that conflicts with the asset intent.\n\n## Troubleshooting\n\n- Error: validation tooling is unavailable. Solution: run the narrowest available USD or static check and report the gap.\n- Error: a repair would change asset intent. Solution: stop and ask for direction or stage the smallest reversible edit.\n- Error: later profile gates still fail. Solution: report the next failing feature and hand off to the matching conformance skill.\n\n## Resources\n\n- `assets\u002Fopenai.yaml` preserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.\n- `references\u002F` contains detailed requirement notes; load only the files needed for the active validation failure.\n\n## Summary Format\n\nReport:\n\n| Field | Meaning |\n|---|---|\n| `input_usd_path` | Original USD path. |\n| `output_usd_path` | Latest staged\u002Frepaired USD path. |\n| `profile` and `profile_version` | Validation target. |\n| `requirements_repaired` | Requirement IDs changed by this skill. |\n| `requirements_blocked` | Requirement IDs that need user or upstream data. |\n| `validation_report` | Path to the rerun validation report. |\n| `next_step` | Usually rerun the full selected profile validation. |\n\nKeep the user-facing summary short: what was fixed, what still fails, and the first validation gate that blocks progress.\n",{"data":35,"body":42},{"name":4,"description":6,"license":26,"metadata":36},{"author":37,"tags":38},"Shaad Boochoon \u003Csboochoon@nvidia.com>",[39,40,41],"simready","conformance","core",{"type":43,"children":44},"root",[45,54,61,67,72,78,83,89,94,118,123,136,142,147,341,347,352,507,513,518,530,535,544,550,555,652,657,685,691,696,832,850,856,868,1169,1174,1206,1219,1225,1230,1365,1370,1376,1394,1400,1418,1424,1449,1455,1460,1605,1610],{"type":46,"tag":47,"props":48,"children":50},"element","h1",{"id":49},"simready-conform-fet-000-core",[51],{"type":52,"value":53},"text","SimReady Conform FET-000 Core",{"type":46,"tag":55,"props":56,"children":58},"h2",{"id":57},"purpose",[59],{"type":52,"value":60},"Purpose",{"type":46,"tag":62,"props":63,"children":64},"p",{},[65],{"type":52,"value":66},"Use this workflow skill to bring an existing USD asset into conformance with the SimReady Core feature contract, then hand the repaired copy back to profile validation.",{"type":46,"tag":62,"props":68,"children":69},{},[70],{"type":52,"value":71},"This skill is not the final validator and should not silently mutate source assets. It stages a repaired USD-family asset under the requested output directory, applies deterministic fixes only where safe, and stops when a validation gate still fails or a manual decision is required.",{"type":46,"tag":55,"props":73,"children":75},{"id":74},"prerequisites",[76],{"type":52,"value":77},"Prerequisites",{"type":46,"tag":62,"props":79,"children":80},{},[81],{"type":52,"value":82},"Read the source-of-truth files named below before editing. Work on staged outputs where the skill requires them, and keep validation evidence with the result.",{"type":46,"tag":55,"props":84,"children":86},{"id":85},"source-of-truth",[87],{"type":52,"value":88},"Source of Truth",{"type":46,"tag":62,"props":90,"children":91},{},[92],{"type":52,"value":93},"Before changing an asset, load the exact FET000_CORE manifest selected by the profile. In this repo, start with:",{"type":46,"tag":95,"props":96,"children":97},"ul",{},[98,109],{"type":46,"tag":99,"props":100,"children":101},"li",{},[102],{"type":46,"tag":103,"props":104,"children":106},"code",{"className":105},[],[107],{"type":52,"value":108},"nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_000_base_neutral-0.1.0-core.json",{"type":46,"tag":99,"props":110,"children":111},{},[112],{"type":46,"tag":103,"props":113,"children":115},{"className":114},[],[116],{"type":52,"value":117},"nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_000-base_neutral-0.1.0-core.md",{"type":46,"tag":62,"props":119,"children":120},{},[121],{"type":52,"value":122},"If the selected profile names a newer FET000_CORE version, use that manifest instead. Treat the JSON requirement list as authoritative when markdown and JSON disagree.",{"type":46,"tag":62,"props":124,"children":125},{},[126,128,134],{"type":52,"value":127},"For per-requirement repair details, read ",{"type":46,"tag":103,"props":129,"children":131},{"className":130},[],[132],{"type":52,"value":133},"references\u002Ffet000-requirements.md",{"type":52,"value":135}," only when a FET000_CORE validation report or inspection identifies matching failures.",{"type":46,"tag":55,"props":137,"children":139},{"id":138},"inputs",[140],{"type":52,"value":141},"Inputs",{"type":46,"tag":62,"props":143,"children":144},{},[145],{"type":52,"value":146},"Collect these before editing:",{"type":46,"tag":148,"props":149,"children":150},"table",{},[151,170],{"type":46,"tag":152,"props":153,"children":154},"thead",{},[155],{"type":46,"tag":156,"props":157,"children":158},"tr",{},[159,165],{"type":46,"tag":160,"props":161,"children":162},"th",{},[163],{"type":52,"value":164},"Input",{"type":46,"tag":160,"props":166,"children":167},{},[168],{"type":52,"value":169},"Requirement",{"type":46,"tag":171,"props":172,"children":173},"tbody",{},[174,215,232,265,282,299,316],{"type":46,"tag":156,"props":175,"children":176},{},[177,187],{"type":46,"tag":178,"props":179,"children":180},"td",{},[181],{"type":46,"tag":103,"props":182,"children":184},{"className":183},[],[185],{"type":52,"value":186},"usd_asset",{"type":46,"tag":178,"props":188,"children":189},{},[190,192,198,200,206,207,213],{"type":52,"value":191},"Required ",{"type":46,"tag":103,"props":193,"children":195},{"className":194},[],[196],{"type":52,"value":197},".usd",{"type":52,"value":199},", ",{"type":46,"tag":103,"props":201,"children":203},{"className":202},[],[204],{"type":52,"value":205},".usda",{"type":52,"value":199},{"type":46,"tag":103,"props":208,"children":210},{"className":209},[],[211],{"type":52,"value":212},".usdc",{"type":52,"value":214},", or unpacked USD-family asset to repair.",{"type":46,"tag":156,"props":216,"children":217},{},[218,227],{"type":46,"tag":178,"props":219,"children":220},{},[221],{"type":46,"tag":103,"props":222,"children":224},{"className":223},[],[225],{"type":52,"value":226},"output_root",{"type":46,"tag":178,"props":228,"children":229},{},[230],{"type":52,"value":231},"Required or inferred folder for staged assets and reports.",{"type":46,"tag":156,"props":233,"children":234},{},[235,244],{"type":46,"tag":178,"props":236,"children":237},{},[238],{"type":46,"tag":103,"props":239,"children":241},{"className":240},[],[242],{"type":52,"value":243},"simready_profile",{"type":46,"tag":178,"props":245,"children":246},{},[247,249,255,257,263],{"type":52,"value":248},"Profile being validated, such as ",{"type":46,"tag":103,"props":250,"children":252},{"className":251},[],[253],{"type":52,"value":254},"prop-robotics-neutral",{"type":52,"value":256}," or ",{"type":46,"tag":103,"props":258,"children":260},{"className":259},[],[261],{"type":52,"value":262},"robot-body-runnable",{"type":52,"value":264},".",{"type":46,"tag":156,"props":266,"children":267},{},[268,277],{"type":46,"tag":178,"props":269,"children":270},{},[271],{"type":46,"tag":103,"props":272,"children":274},{"className":273},[],[275],{"type":52,"value":276},"profile_version",{"type":46,"tag":178,"props":278,"children":279},{},[280],{"type":52,"value":281},"Profile version, if supplied by the user or validation command.",{"type":46,"tag":156,"props":283,"children":284},{},[285,294],{"type":46,"tag":178,"props":286,"children":287},{},[288],{"type":46,"tag":103,"props":289,"children":291},{"className":290},[],[292],{"type":52,"value":293},"validation_report",{"type":46,"tag":178,"props":295,"children":296},{},[297],{"type":52,"value":298},"Preferred JSON or markdown report from the failing profile\u002Ffeature validation gate.",{"type":46,"tag":156,"props":300,"children":301},{},[302,311],{"type":46,"tag":178,"props":303,"children":304},{},[305],{"type":46,"tag":103,"props":306,"children":308},{"className":307},[],[309],{"type":52,"value":310},"source_asset",{"type":46,"tag":178,"props":312,"children":313},{},[314],{"type":52,"value":315},"Original CAD, DCC, URDF, MJCF, or conversion input path, used for provenance metadata.",{"type":46,"tag":156,"props":317,"children":318},{},[319,336],{"type":46,"tag":178,"props":320,"children":321},{},[322,328,330],{"type":46,"tag":103,"props":323,"children":325},{"className":324},[],[326],{"type":52,"value":327},"asset_name",{"type":52,"value":329}," and ",{"type":46,"tag":103,"props":331,"children":333},{"className":332},[],[334],{"type":52,"value":335},"asset_type",{"type":46,"tag":178,"props":337,"children":338},{},[339],{"type":52,"value":340},"Use explicit user values when provided; otherwise infer conservative defaults from the asset path and profile.",{"type":46,"tag":55,"props":342,"children":344},{"id":343},"instructions",[345],{"type":52,"value":346},"Instructions",{"type":46,"tag":62,"props":348,"children":349},{},[350],{"type":52,"value":351},"Use this checklist when changing the repository:",{"type":46,"tag":353,"props":354,"children":355},"ol",{},[356,361,366,371,383,388,497,502],{"type":46,"tag":99,"props":357,"children":358},{},[359],{"type":52,"value":360},"Confirm the input asset exists and record the original path.",{"type":46,"tag":99,"props":362,"children":363},{},[364],{"type":52,"value":365},"Parse the validation report when available. If no report exists, run the same profile or feature validation gate first when the local tooling is available.",{"type":46,"tag":99,"props":367,"children":368},{},[369],{"type":52,"value":370},"Filter to FET000_CORE failures and requirement IDs. Do not repair unrelated feature failures in this skill.",{"type":46,"tag":99,"props":372,"children":373},{},[374,376,381],{"type":52,"value":375},"Create a staged output folder under ",{"type":46,"tag":103,"props":377,"children":379},{"className":378},[],[380],{"type":52,"value":226},{"type":52,"value":382},", using safe lowercase path components.",{"type":46,"tag":99,"props":384,"children":385},{},[386],{"type":52,"value":387},"Copy or export the input asset into the staged folder. Do not overwrite the source asset unless the user explicitly asks for in-place repair.",{"type":46,"tag":99,"props":389,"children":390},{},[391,393],{"type":52,"value":392},"Apply fixes in this order:\n",{"type":46,"tag":95,"props":394,"children":395},{},[396,430,465,484],{"type":46,"tag":99,"props":397,"children":398},{},[399,401,407,408,414,415,421,423,429],{"type":52,"value":400},"Path and layout fixes for ",{"type":46,"tag":103,"props":402,"children":404},{"className":403},[],[405],{"type":52,"value":406},"NP.002",{"type":52,"value":199},{"type":46,"tag":103,"props":409,"children":411},{"className":410},[],[412],{"type":52,"value":413},"NP.003",{"type":52,"value":199},{"type":46,"tag":103,"props":416,"children":418},{"className":417},[],[419],{"type":52,"value":420},"NP.004",{"type":52,"value":422},", and ",{"type":46,"tag":103,"props":424,"children":426},{"className":425},[],[427],{"type":52,"value":428},"NP.005",{"type":52,"value":264},{"type":46,"tag":99,"props":431,"children":432},{},[433,435,441,442,448,450,455,457,463],{"type":52,"value":434},"Metadata fixes for ",{"type":46,"tag":103,"props":436,"children":438},{"className":437},[],[439],{"type":52,"value":440},"NP.006",{"type":52,"value":329},{"type":46,"tag":103,"props":443,"children":445},{"className":444},[],[446],{"type":52,"value":447},"SR.001",{"type":52,"value":449},". If the only Core failure is ",{"type":46,"tag":103,"props":451,"children":453},{"className":452},[],[454],{"type":52,"value":440},{"type":52,"value":456}," and the Physical AI Skill Hub commands are available, prefer ",{"type":46,"tag":103,"props":458,"children":460},{"className":459},[],[461],{"type":52,"value":462},"apply-simready-foundation-metadata",{"type":52,"value":464}," over hand-editing.",{"type":46,"tag":99,"props":466,"children":467},{},[468,470,476,477,483],{"type":52,"value":469},"Composition and asset path fixes for ",{"type":46,"tag":103,"props":471,"children":473},{"className":472},[],[474],{"type":52,"value":475},"NP.007",{"type":52,"value":329},{"type":46,"tag":103,"props":478,"children":480},{"className":479},[],[481],{"type":52,"value":482},"NP.008",{"type":52,"value":264},{"type":46,"tag":99,"props":485,"children":486},{},[487,489,495],{"type":52,"value":488},"Undefined prim cleanup for ",{"type":46,"tag":103,"props":490,"children":492},{"className":491},[],[493],{"type":52,"value":494},"HI.010",{"type":52,"value":496}," only when the affected over can be safely resolved or removed.",{"type":46,"tag":99,"props":498,"children":499},{},[500],{"type":52,"value":501},"Rerun the same validation gate that failed, or the narrowest available FET000_CORE validation gate.",{"type":46,"tag":99,"props":503,"children":504},{},[505],{"type":52,"value":506},"Summarize the stage as passed, failed, skipped, or blocked. Stop at the first remaining failing validation gate unless the user asks for best-effort continuation.",{"type":46,"tag":55,"props":508,"children":510},{"id":509},"examples",[511],{"type":52,"value":512},"Examples",{"type":46,"tag":62,"props":514,"children":515},{},[516],{"type":52,"value":517},"Example request:",{"type":46,"tag":519,"props":520,"children":525},"pre",{"className":521,"code":523,"language":52,"meta":524},[522],"language-text","Repair FET000_CORE failures on a USD asset, including core metadata and naming\u002Fpath issues.\n","",[526],{"type":46,"tag":103,"props":527,"children":528},{"__ignoreMap":524},[529],{"type":52,"value":523},{"type":46,"tag":62,"props":531,"children":532},{},[533],{"type":52,"value":534},"Expected result summary:",{"type":46,"tag":519,"props":536,"children":539},{"className":537,"code":538,"language":52,"meta":524},[522],"staged_asset: repaired copy or output directory\nvalidation: selected feature\u002Fprofile gate and report path\nremaining_failures: next failing requirement IDs, if any\n",[540],{"type":46,"tag":103,"props":541,"children":542},{"__ignoreMap":524},[543],{"type":52,"value":538},{"type":46,"tag":55,"props":545,"children":547},{"id":546},"repair-policy",[548],{"type":52,"value":549},"Repair Policy",{"type":46,"tag":62,"props":551,"children":552},{},[553],{"type":52,"value":554},"Make automatic repairs only when the intended result is mechanical and portable:",{"type":46,"tag":95,"props":556,"children":557},{},[558,563,582,635,647],{"type":46,"tag":99,"props":559,"children":560},{},[561],{"type":52,"value":562},"Rename copied files and folders to satisfy Core naming rules.",{"type":46,"tag":99,"props":564,"children":565},{},[566,568,574,576,581],{"type":52,"value":567},"Place the main USD file at ",{"type":46,"tag":103,"props":569,"children":571},{"className":570},[],[572],{"type":52,"value":573},"asset_root\u002F\u003Cintermediate>\u002F\u003Casset_file>.usd*",{"type":52,"value":575}," when repairing ",{"type":46,"tag":103,"props":577,"children":579},{"className":578},[],[580],{"type":52,"value":428},{"type":52,"value":264},{"type":46,"tag":99,"props":583,"children":584},{},[585,587,593,595,600,602,608,609,614,615,620,621,627,628,634],{"type":52,"value":586},"Author ",{"type":46,"tag":103,"props":588,"children":590},{"className":589},[],[591],{"type":52,"value":592},"customLayerData",{"type":52,"value":594}," required by ",{"type":46,"tag":103,"props":596,"children":598},{"className":597},[],[599],{"type":52,"value":447},{"type":52,"value":601},", including ",{"type":46,"tag":103,"props":603,"children":605},{"className":604},[],[606],{"type":52,"value":607},"SimReady_Metadata",{"type":52,"value":199},{"type":46,"tag":103,"props":610,"children":612},{"className":611},[],[613],{"type":52,"value":327},{"type":52,"value":199},{"type":46,"tag":103,"props":616,"children":618},{"className":617},[],[619],{"type":52,"value":335},{"type":52,"value":199},{"type":46,"tag":103,"props":622,"children":624},{"className":623},[],[625],{"type":52,"value":626},"source_file",{"type":52,"value":422},{"type":46,"tag":103,"props":629,"children":631},{"className":630},[],[632],{"type":52,"value":633},"usd_date_generated",{"type":52,"value":264},{"type":46,"tag":99,"props":636,"children":637},{},[638,640,645],{"type":52,"value":639},"Create or repair a same-directory sidecar JSON only when that is the chosen ",{"type":46,"tag":103,"props":641,"children":643},{"className":642},[],[644],{"type":52,"value":440},{"type":52,"value":646}," metadata strategy.",{"type":46,"tag":99,"props":648,"children":649},{},[650],{"type":52,"value":651},"Rewrite absolute asset paths to relative paths only when the referenced file exists and is inside the staged asset root, or when it is safe to copy\u002Fpackage the dependency into the staged asset root.",{"type":46,"tag":62,"props":653,"children":654},{},[655],{"type":52,"value":656},"Block and report instead of guessing when:",{"type":46,"tag":95,"props":658,"children":659},{},[660,665,670,675,680],{"type":46,"tag":99,"props":661,"children":662},{},[663],{"type":52,"value":664},"A required dependency cannot be found.",{"type":46,"tag":99,"props":666,"children":667},{},[668],{"type":52,"value":669},"A path points outside the asset package and copying it would change ownership or licensing assumptions.",{"type":46,"tag":99,"props":671,"children":672},{},[673],{"type":52,"value":674},"An undefined prim might be a legitimate composition override after a missing reference is restored.",{"type":46,"tag":99,"props":676,"children":677},{},[678],{"type":52,"value":679},"Metadata values would require domain knowledge the user did not provide.",{"type":46,"tag":99,"props":681,"children":682},{},[683],{"type":52,"value":684},"Repairing one requirement would invalidate a higher-priority profile requirement.",{"type":46,"tag":55,"props":686,"children":688},{"id":687},"metadata-defaults",[689],{"type":52,"value":690},"Metadata Defaults",{"type":46,"tag":62,"props":692,"children":693},{},[694],{"type":52,"value":695},"When explicit values are unavailable, use conservative defaults:",{"type":46,"tag":148,"props":697,"children":698},{},[699,715],{"type":46,"tag":152,"props":700,"children":701},{},[702],{"type":46,"tag":156,"props":703,"children":704},{},[705,710],{"type":46,"tag":160,"props":706,"children":707},{},[708],{"type":52,"value":709},"Field",{"type":46,"tag":160,"props":711,"children":712},{},[713],{"type":52,"value":714},"Default",{"type":46,"tag":171,"props":716,"children":717},{},[718,734,771,792,816],{"type":46,"tag":156,"props":719,"children":720},{},[721,729],{"type":46,"tag":178,"props":722,"children":723},{},[724],{"type":46,"tag":103,"props":725,"children":727},{"className":726},[],[728],{"type":52,"value":327},{"type":46,"tag":178,"props":730,"children":731},{},[732],{"type":52,"value":733},"Safe stem of the staged USD asset or asset root folder.",{"type":46,"tag":156,"props":735,"children":736},{},[737,745],{"type":46,"tag":178,"props":738,"children":739},{},[740],{"type":46,"tag":103,"props":741,"children":743},{"className":742},[],[744],{"type":52,"value":335},{"type":46,"tag":178,"props":746,"children":747},{},[748,754,756,762,764,770],{"type":46,"tag":103,"props":749,"children":751},{"className":750},[],[752],{"type":52,"value":753},"robot",{"type":52,"value":755}," for robot profiles, ",{"type":46,"tag":103,"props":757,"children":759},{"className":758},[],[760],{"type":52,"value":761},"prop",{"type":52,"value":763}," for prop profiles, otherwise ",{"type":46,"tag":103,"props":765,"children":767},{"className":766},[],[768],{"type":52,"value":769},"asset",{"type":52,"value":264},{"type":46,"tag":156,"props":772,"children":773},{},[774,782],{"type":46,"tag":178,"props":775,"children":776},{},[777],{"type":46,"tag":103,"props":778,"children":780},{"className":779},[],[781],{"type":52,"value":626},{"type":46,"tag":178,"props":783,"children":784},{},[785,790],{"type":46,"tag":103,"props":786,"children":788},{"className":787},[],[789],{"type":52,"value":310},{"type":52,"value":791}," when supplied; otherwise the original input asset path.",{"type":46,"tag":156,"props":793,"children":794},{},[795,803],{"type":46,"tag":178,"props":796,"children":797},{},[798],{"type":46,"tag":103,"props":799,"children":801},{"className":800},[],[802],{"type":52,"value":633},{"type":46,"tag":178,"props":804,"children":805},{},[806,808,814],{"type":52,"value":807},"Current date in ",{"type":46,"tag":103,"props":809,"children":811},{"className":810},[],[812],{"type":52,"value":813},"YYYY-MM-DD",{"type":52,"value":815}," format at repair time.",{"type":46,"tag":156,"props":817,"children":818},{},[819,827],{"type":46,"tag":178,"props":820,"children":821},{},[822],{"type":46,"tag":103,"props":823,"children":825},{"className":824},[],[826],{"type":52,"value":607},{"type":46,"tag":178,"props":828,"children":829},{},[830],{"type":52,"value":831},"Empty dictionary unless a profile-specific authoring step supplies values.",{"type":46,"tag":62,"props":833,"children":834},{},[835,837,842,844,849],{"type":52,"value":836},"Prefer ",{"type":46,"tag":103,"props":838,"children":840},{"className":839},[],[841],{"type":52,"value":607},{"type":52,"value":843}," with that exact capitalization because current validators check that key in root layer ",{"type":46,"tag":103,"props":845,"children":847},{"className":846},[],[848],{"type":52,"value":592},{"type":52,"value":264},{"type":46,"tag":55,"props":851,"children":853},{"id":852},"tested-metadata-repair",[854],{"type":52,"value":855},"Tested Metadata Repair",{"type":46,"tag":62,"props":857,"children":858},{},[859,861,866],{"type":52,"value":860},"For a converted CAD asset that fails FET000_CORE only on ",{"type":46,"tag":103,"props":862,"children":864},{"className":863},[],[865],{"type":52,"value":440},{"type":52,"value":867},", this command shape has been forward-tested:",{"type":46,"tag":519,"props":869,"children":873},{"className":870,"code":871,"language":872,"meta":524,"style":524},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run --python 3.12 apply-simready-foundation-metadata \u003Cusd-asset> \\\n  --output-dir \u003Coutput-root>\u002F\u003Casset-name>\u002Fsimready_usd \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --source-asset \u003Csource-asset> \\\n  --pipeline-step convert-cad-to-usd \\\n  --report \u003Coutput-root>\u002Fapply-simready-foundation-metadata.json \\\n  --markdown-report \u003Coutput-root>\u002Fapply-simready-foundation-metadata.md\n","bash",[874],{"type":46,"tag":103,"props":875,"children":876},{"__ignoreMap":524},[877,938,997,1027,1058,1088,1106,1140],{"type":46,"tag":878,"props":879,"children":882},"span",{"class":880,"line":881},"line",1,[883,889,895,900,906,911,917,922,928,933],{"type":46,"tag":878,"props":884,"children":886},{"style":885},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[887],{"type":52,"value":888},"uv",{"type":46,"tag":878,"props":890,"children":892},{"style":891},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[893],{"type":52,"value":894}," run",{"type":46,"tag":878,"props":896,"children":897},{"style":891},[898],{"type":52,"value":899}," --python",{"type":46,"tag":878,"props":901,"children":903},{"style":902},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[904],{"type":52,"value":905}," 3.12",{"type":46,"tag":878,"props":907,"children":908},{"style":891},[909],{"type":52,"value":910}," apply-simready-foundation-metadata",{"type":46,"tag":878,"props":912,"children":914},{"style":913},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[915],{"type":52,"value":916}," \u003C",{"type":46,"tag":878,"props":918,"children":919},{"style":891},[920],{"type":52,"value":921},"usd-asse",{"type":46,"tag":878,"props":923,"children":925},{"style":924},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[926],{"type":52,"value":927},"t",{"type":46,"tag":878,"props":929,"children":930},{"style":913},[931],{"type":52,"value":932},">",{"type":46,"tag":878,"props":934,"children":935},{"style":924},[936],{"type":52,"value":937}," \\\n",{"type":46,"tag":878,"props":939,"children":941},{"class":880,"line":940},2,[942,947,951,956,960,964,969,974,979,984,988,993],{"type":46,"tag":878,"props":943,"children":944},{"style":891},[945],{"type":52,"value":946},"  --output-dir",{"type":46,"tag":878,"props":948,"children":949},{"style":913},[950],{"type":52,"value":916},{"type":46,"tag":878,"props":952,"children":953},{"style":891},[954],{"type":52,"value":955},"output-roo",{"type":46,"tag":878,"props":957,"children":958},{"style":924},[959],{"type":52,"value":927},{"type":46,"tag":878,"props":961,"children":962},{"style":913},[963],{"type":52,"value":932},{"type":46,"tag":878,"props":965,"children":966},{"style":891},[967],{"type":52,"value":968},"\u002F",{"type":46,"tag":878,"props":970,"children":971},{"style":913},[972],{"type":52,"value":973},"\u003C",{"type":46,"tag":878,"props":975,"children":976},{"style":891},[977],{"type":52,"value":978},"asset-nam",{"type":46,"tag":878,"props":980,"children":981},{"style":924},[982],{"type":52,"value":983},"e",{"type":46,"tag":878,"props":985,"children":986},{"style":913},[987],{"type":52,"value":932},{"type":46,"tag":878,"props":989,"children":990},{"style":891},[991],{"type":52,"value":992},"\u002Fsimready_usd",{"type":46,"tag":878,"props":994,"children":995},{"style":924},[996],{"type":52,"value":937},{"type":46,"tag":878,"props":998,"children":1000},{"class":880,"line":999},3,[1001,1006,1010,1015,1019,1023],{"type":46,"tag":878,"props":1002,"children":1003},{"style":891},[1004],{"type":52,"value":1005},"  --profile",{"type":46,"tag":878,"props":1007,"children":1008},{"style":913},[1009],{"type":52,"value":916},{"type":46,"tag":878,"props":1011,"children":1012},{"style":891},[1013],{"type":52,"value":1014},"profil",{"type":46,"tag":878,"props":1016,"children":1017},{"style":924},[1018],{"type":52,"value":983},{"type":46,"tag":878,"props":1020,"children":1021},{"style":913},[1022],{"type":52,"value":932},{"type":46,"tag":878,"props":1024,"children":1025},{"style":924},[1026],{"type":52,"value":937},{"type":46,"tag":878,"props":1028,"children":1030},{"class":880,"line":1029},4,[1031,1036,1040,1045,1050,1054],{"type":46,"tag":878,"props":1032,"children":1033},{"style":891},[1034],{"type":52,"value":1035},"  --profile-version",{"type":46,"tag":878,"props":1037,"children":1038},{"style":913},[1039],{"type":52,"value":916},{"type":46,"tag":878,"props":1041,"children":1042},{"style":891},[1043],{"type":52,"value":1044},"versio",{"type":46,"tag":878,"props":1046,"children":1047},{"style":924},[1048],{"type":52,"value":1049},"n",{"type":46,"tag":878,"props":1051,"children":1052},{"style":913},[1053],{"type":52,"value":932},{"type":46,"tag":878,"props":1055,"children":1056},{"style":924},[1057],{"type":52,"value":937},{"type":46,"tag":878,"props":1059,"children":1061},{"class":880,"line":1060},5,[1062,1067,1071,1076,1080,1084],{"type":46,"tag":878,"props":1063,"children":1064},{"style":891},[1065],{"type":52,"value":1066},"  --source-asset",{"type":46,"tag":878,"props":1068,"children":1069},{"style":913},[1070],{"type":52,"value":916},{"type":46,"tag":878,"props":1072,"children":1073},{"style":891},[1074],{"type":52,"value":1075},"source-asse",{"type":46,"tag":878,"props":1077,"children":1078},{"style":924},[1079],{"type":52,"value":927},{"type":46,"tag":878,"props":1081,"children":1082},{"style":913},[1083],{"type":52,"value":932},{"type":46,"tag":878,"props":1085,"children":1086},{"style":924},[1087],{"type":52,"value":937},{"type":46,"tag":878,"props":1089,"children":1091},{"class":880,"line":1090},6,[1092,1097,1102],{"type":46,"tag":878,"props":1093,"children":1094},{"style":891},[1095],{"type":52,"value":1096},"  --pipeline-step",{"type":46,"tag":878,"props":1098,"children":1099},{"style":891},[1100],{"type":52,"value":1101}," convert-cad-to-usd",{"type":46,"tag":878,"props":1103,"children":1104},{"style":924},[1105],{"type":52,"value":937},{"type":46,"tag":878,"props":1107,"children":1109},{"class":880,"line":1108},7,[1110,1115,1119,1123,1127,1131,1136],{"type":46,"tag":878,"props":1111,"children":1112},{"style":891},[1113],{"type":52,"value":1114},"  --report",{"type":46,"tag":878,"props":1116,"children":1117},{"style":913},[1118],{"type":52,"value":916},{"type":46,"tag":878,"props":1120,"children":1121},{"style":891},[1122],{"type":52,"value":955},{"type":46,"tag":878,"props":1124,"children":1125},{"style":924},[1126],{"type":52,"value":927},{"type":46,"tag":878,"props":1128,"children":1129},{"style":913},[1130],{"type":52,"value":932},{"type":46,"tag":878,"props":1132,"children":1133},{"style":891},[1134],{"type":52,"value":1135},"\u002Fapply-simready-foundation-metadata.json",{"type":46,"tag":878,"props":1137,"children":1138},{"style":924},[1139],{"type":52,"value":937},{"type":46,"tag":878,"props":1141,"children":1142},{"class":880,"line":27},[1143,1148,1152,1156,1160,1164],{"type":46,"tag":878,"props":1144,"children":1145},{"style":891},[1146],{"type":52,"value":1147},"  --markdown-report",{"type":46,"tag":878,"props":1149,"children":1150},{"style":913},[1151],{"type":52,"value":916},{"type":46,"tag":878,"props":1153,"children":1154},{"style":891},[1155],{"type":52,"value":955},{"type":46,"tag":878,"props":1157,"children":1158},{"style":924},[1159],{"type":52,"value":927},{"type":46,"tag":878,"props":1161,"children":1162},{"style":913},[1163],{"type":52,"value":932},{"type":46,"tag":878,"props":1165,"children":1166},{"style":891},[1167],{"type":52,"value":1168},"\u002Fapply-simready-foundation-metadata.md\n",{"type":46,"tag":62,"props":1170,"children":1171},{},[1172],{"type":52,"value":1173},"Expected repair outputs:",{"type":46,"tag":95,"props":1175,"children":1176},{},[1177,1189,1201],{"type":46,"tag":99,"props":1178,"children":1179},{},[1180,1182,1188],{"type":52,"value":1181},"A staged copy of the USD asset under ",{"type":46,"tag":103,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":52,"value":1187},"\u003Casset-name>\u002Fsimready_usd\u002F",{"type":52,"value":264},{"type":46,"tag":99,"props":1190,"children":1191},{},[1192,1194,1200],{"type":52,"value":1193},"Root layer ",{"type":46,"tag":103,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":52,"value":1199},"customLayerData['SimReady_Metadata']",{"type":52,"value":264},{"type":46,"tag":99,"props":1202,"children":1203},{},[1204],{"type":52,"value":1205},"A same-directory sidecar JSON file.",{"type":46,"tag":62,"props":1207,"children":1208},{},[1209,1211,1217],{"type":52,"value":1210},"After rerunning profile validation, count this skill as successful when ",{"type":46,"tag":103,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":52,"value":1216},"FET000_CORE",{"type":52,"value":1218}," passes, even if the full profile still fails on non-Core features such as units, rigid bodies, multibody physics, or grasp vectors. Report those remaining feature failures as handoff work for their own skills.",{"type":46,"tag":55,"props":1220,"children":1222},{"id":1221},"validation-handoff",[1223],{"type":52,"value":1224},"Validation Handoff",{"type":46,"tag":62,"props":1226,"children":1227},{},[1228],{"type":52,"value":1229},"Preserve reports under the staged output directory. If the Physical AI Skill Hub validation commands are available, the normal handoff is:",{"type":46,"tag":519,"props":1231,"children":1233},{"className":870,"code":1232,"language":872,"meta":524,"style":524},"uv run --python 3.12 validate-simready-profile \u003Cstaged-usd> \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --report \u003Coutput-root>\u002Fvalidation\u002Ffet000-core-after-repair.json\n",[1234],{"type":46,"tag":103,"props":1235,"children":1236},{"__ignoreMap":524},[1237,1283,1310,1337],{"type":46,"tag":878,"props":1238,"children":1239},{"class":880,"line":881},[1240,1244,1248,1252,1256,1261,1265,1270,1275,1279],{"type":46,"tag":878,"props":1241,"children":1242},{"style":885},[1243],{"type":52,"value":888},{"type":46,"tag":878,"props":1245,"children":1246},{"style":891},[1247],{"type":52,"value":894},{"type":46,"tag":878,"props":1249,"children":1250},{"style":891},[1251],{"type":52,"value":899},{"type":46,"tag":878,"props":1253,"children":1254},{"style":902},[1255],{"type":52,"value":905},{"type":46,"tag":878,"props":1257,"children":1258},{"style":891},[1259],{"type":52,"value":1260}," validate-simready-profile",{"type":46,"tag":878,"props":1262,"children":1263},{"style":913},[1264],{"type":52,"value":916},{"type":46,"tag":878,"props":1266,"children":1267},{"style":891},[1268],{"type":52,"value":1269},"staged-us",{"type":46,"tag":878,"props":1271,"children":1272},{"style":924},[1273],{"type":52,"value":1274},"d",{"type":46,"tag":878,"props":1276,"children":1277},{"style":913},[1278],{"type":52,"value":932},{"type":46,"tag":878,"props":1280,"children":1281},{"style":924},[1282],{"type":52,"value":937},{"type":46,"tag":878,"props":1284,"children":1285},{"class":880,"line":940},[1286,1290,1294,1298,1302,1306],{"type":46,"tag":878,"props":1287,"children":1288},{"style":891},[1289],{"type":52,"value":1005},{"type":46,"tag":878,"props":1291,"children":1292},{"style":913},[1293],{"type":52,"value":916},{"type":46,"tag":878,"props":1295,"children":1296},{"style":891},[1297],{"type":52,"value":1014},{"type":46,"tag":878,"props":1299,"children":1300},{"style":924},[1301],{"type":52,"value":983},{"type":46,"tag":878,"props":1303,"children":1304},{"style":913},[1305],{"type":52,"value":932},{"type":46,"tag":878,"props":1307,"children":1308},{"style":924},[1309],{"type":52,"value":937},{"type":46,"tag":878,"props":1311,"children":1312},{"class":880,"line":999},[1313,1317,1321,1325,1329,1333],{"type":46,"tag":878,"props":1314,"children":1315},{"style":891},[1316],{"type":52,"value":1035},{"type":46,"tag":878,"props":1318,"children":1319},{"style":913},[1320],{"type":52,"value":916},{"type":46,"tag":878,"props":1322,"children":1323},{"style":891},[1324],{"type":52,"value":1044},{"type":46,"tag":878,"props":1326,"children":1327},{"style":924},[1328],{"type":52,"value":1049},{"type":46,"tag":878,"props":1330,"children":1331},{"style":913},[1332],{"type":52,"value":932},{"type":46,"tag":878,"props":1334,"children":1335},{"style":924},[1336],{"type":52,"value":937},{"type":46,"tag":878,"props":1338,"children":1339},{"class":880,"line":1029},[1340,1344,1348,1352,1356,1360],{"type":46,"tag":878,"props":1341,"children":1342},{"style":891},[1343],{"type":52,"value":1114},{"type":46,"tag":878,"props":1345,"children":1346},{"style":913},[1347],{"type":52,"value":916},{"type":46,"tag":878,"props":1349,"children":1350},{"style":891},[1351],{"type":52,"value":955},{"type":46,"tag":878,"props":1353,"children":1354},{"style":924},[1355],{"type":52,"value":927},{"type":46,"tag":878,"props":1357,"children":1358},{"style":913},[1359],{"type":52,"value":932},{"type":46,"tag":878,"props":1361,"children":1362},{"style":891},[1363],{"type":52,"value":1364},"\u002Fvalidation\u002Ffet000-core-after-repair.json\n",{"type":46,"tag":62,"props":1366,"children":1367},{},[1368],{"type":52,"value":1369},"If those commands are not available, use the SimReady Foundations validator entrypoint configured in this checkout or inspect the relevant requirement validators directly. Always say which validation path was used.",{"type":46,"tag":55,"props":1371,"children":1373},{"id":1372},"limitations",[1374],{"type":52,"value":1375},"Limitations",{"type":46,"tag":95,"props":1377,"children":1378},{},[1379,1384,1389],{"type":46,"tag":99,"props":1380,"children":1381},{},[1382],{"type":52,"value":1383},"Do not silently mutate the source asset; work on the requested staged output.",{"type":46,"tag":99,"props":1385,"children":1386},{},[1387],{"type":52,"value":1388},"Do not hide later profile failures after the selected feature gate passes or fails.",{"type":46,"tag":99,"props":1390,"children":1391},{},[1392],{"type":52,"value":1393},"Do not invent geometry, metadata, or runtime behavior that conflicts with the asset intent.",{"type":46,"tag":55,"props":1395,"children":1397},{"id":1396},"troubleshooting",[1398],{"type":52,"value":1399},"Troubleshooting",{"type":46,"tag":95,"props":1401,"children":1402},{},[1403,1408,1413],{"type":46,"tag":99,"props":1404,"children":1405},{},[1406],{"type":52,"value":1407},"Error: validation tooling is unavailable. Solution: run the narrowest available USD or static check and report the gap.",{"type":46,"tag":99,"props":1409,"children":1410},{},[1411],{"type":52,"value":1412},"Error: a repair would change asset intent. Solution: stop and ask for direction or stage the smallest reversible edit.",{"type":46,"tag":99,"props":1414,"children":1415},{},[1416],{"type":52,"value":1417},"Error: later profile gates still fail. Solution: report the next failing feature and hand off to the matching conformance skill.",{"type":46,"tag":55,"props":1419,"children":1421},{"id":1420},"resources",[1422],{"type":52,"value":1423},"Resources",{"type":46,"tag":95,"props":1425,"children":1426},{},[1427,1438],{"type":46,"tag":99,"props":1428,"children":1429},{},[1430,1436],{"type":46,"tag":103,"props":1431,"children":1433},{"className":1432},[],[1434],{"type":52,"value":1435},"assets\u002Fopenai.yaml",{"type":52,"value":1437}," preserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.",{"type":46,"tag":99,"props":1439,"children":1440},{},[1441,1447],{"type":46,"tag":103,"props":1442,"children":1444},{"className":1443},[],[1445],{"type":52,"value":1446},"references\u002F",{"type":52,"value":1448}," contains detailed requirement notes; load only the files needed for the active validation failure.",{"type":46,"tag":55,"props":1450,"children":1452},{"id":1451},"summary-format",[1453],{"type":52,"value":1454},"Summary Format",{"type":46,"tag":62,"props":1456,"children":1457},{},[1458],{"type":52,"value":1459},"Report:",{"type":46,"tag":148,"props":1461,"children":1462},{},[1463,1478],{"type":46,"tag":152,"props":1464,"children":1465},{},[1466],{"type":46,"tag":156,"props":1467,"children":1468},{},[1469,1473],{"type":46,"tag":160,"props":1470,"children":1471},{},[1472],{"type":52,"value":709},{"type":46,"tag":160,"props":1474,"children":1475},{},[1476],{"type":52,"value":1477},"Meaning",{"type":46,"tag":171,"props":1479,"children":1480},{},[1481,1498,1515,1538,1555,1572,1588],{"type":46,"tag":156,"props":1482,"children":1483},{},[1484,1493],{"type":46,"tag":178,"props":1485,"children":1486},{},[1487],{"type":46,"tag":103,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":52,"value":1492},"input_usd_path",{"type":46,"tag":178,"props":1494,"children":1495},{},[1496],{"type":52,"value":1497},"Original USD path.",{"type":46,"tag":156,"props":1499,"children":1500},{},[1501,1510],{"type":46,"tag":178,"props":1502,"children":1503},{},[1504],{"type":46,"tag":103,"props":1505,"children":1507},{"className":1506},[],[1508],{"type":52,"value":1509},"output_usd_path",{"type":46,"tag":178,"props":1511,"children":1512},{},[1513],{"type":52,"value":1514},"Latest staged\u002Frepaired USD path.",{"type":46,"tag":156,"props":1516,"children":1517},{},[1518,1533],{"type":46,"tag":178,"props":1519,"children":1520},{},[1521,1527,1528],{"type":46,"tag":103,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":52,"value":1526},"profile",{"type":52,"value":329},{"type":46,"tag":103,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":52,"value":276},{"type":46,"tag":178,"props":1534,"children":1535},{},[1536],{"type":52,"value":1537},"Validation target.",{"type":46,"tag":156,"props":1539,"children":1540},{},[1541,1550],{"type":46,"tag":178,"props":1542,"children":1543},{},[1544],{"type":46,"tag":103,"props":1545,"children":1547},{"className":1546},[],[1548],{"type":52,"value":1549},"requirements_repaired",{"type":46,"tag":178,"props":1551,"children":1552},{},[1553],{"type":52,"value":1554},"Requirement IDs changed by this skill.",{"type":46,"tag":156,"props":1556,"children":1557},{},[1558,1567],{"type":46,"tag":178,"props":1559,"children":1560},{},[1561],{"type":46,"tag":103,"props":1562,"children":1564},{"className":1563},[],[1565],{"type":52,"value":1566},"requirements_blocked",{"type":46,"tag":178,"props":1568,"children":1569},{},[1570],{"type":52,"value":1571},"Requirement IDs that need user or upstream data.",{"type":46,"tag":156,"props":1573,"children":1574},{},[1575,1583],{"type":46,"tag":178,"props":1576,"children":1577},{},[1578],{"type":46,"tag":103,"props":1579,"children":1581},{"className":1580},[],[1582],{"type":52,"value":293},{"type":46,"tag":178,"props":1584,"children":1585},{},[1586],{"type":52,"value":1587},"Path to the rerun validation report.",{"type":46,"tag":156,"props":1589,"children":1590},{},[1591,1600],{"type":46,"tag":178,"props":1592,"children":1593},{},[1594],{"type":46,"tag":103,"props":1595,"children":1597},{"className":1596},[],[1598],{"type":52,"value":1599},"next_step",{"type":46,"tag":178,"props":1601,"children":1602},{},[1603],{"type":52,"value":1604},"Usually rerun the full selected profile validation.",{"type":46,"tag":62,"props":1606,"children":1607},{},[1608],{"type":52,"value":1609},"Keep the user-facing summary short: what was fixed, what still fails, and the first validation gate that blocks progress.",{"type":46,"tag":1611,"props":1612,"children":1613},"style",{},[1614],{"type":52,"value":1615},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1617,"total":1699},[1618,1630,1641,1651,1664,1675,1688],{"slug":1619,"name":1619,"fn":1620,"description":1621,"org":1622,"tags":1623,"stars":23,"repoUrl":24,"updatedAt":1629},"simready-foundation-add-capability","add SimReady capability documentation","Add SimReady capability docs, requirement indexes, validation stubs, and registrations for new requirement families.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1624,1627,1628],{"name":1625,"slug":1626,"type":13},"Documentation","documentation",{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:08.047242",{"slug":1631,"name":1631,"fn":1632,"description":1633,"org":1634,"tags":1635,"stars":23,"repoUrl":24,"updatedAt":1640},"simready-foundation-add-feature","add SimReady features and documentation","Use for adding SimReady feature docs, manifests, requirement mappings, validation strategy, and index entries.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1636,1637,1638,1639],{"name":1625,"slug":1626,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:23.330216",{"slug":1642,"name":1642,"fn":1643,"description":1644,"org":1645,"tags":1646,"stars":23,"repoUrl":24,"updatedAt":1650},"simready-foundation-add-feature-adapter","mutate USD assets with feature adapters","Use for adding SimReady feature adapters that mutate USD assets between exact feature or profile versions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1647,1648,1649],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:02.999518",{"slug":1652,"name":1652,"fn":1653,"description":1654,"org":1655,"tags":1656,"stars":23,"repoUrl":24,"updatedAt":1663},"simready-foundation-add-profile","add SimReady profile versions","Use for adding SimReady profile versions with feature bundles, docs, indexes, and validation notes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1657,1658,1659,1660],{"name":1625,"slug":1626,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1661,"slug":1662,"type":13},"Validation","validation","2026-07-14T05:34:00.482781",{"slug":1665,"name":1665,"fn":1666,"description":1667,"org":1668,"tags":1669,"stars":23,"repoUrl":24,"updatedAt":1674},"simready-foundation-add-requirement","add atomic SimReady requirements","Use for adding atomic SimReady requirements with stable IDs, docs, examples, indexes, and validator follow-up.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1670,1671,1672,1673],{"name":1625,"slug":1626,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1661,"slug":1662,"type":13},"2026-07-14T05:34:11.881936",{"slug":1676,"name":1676,"fn":1677,"description":1678,"org":1679,"tags":1680,"stars":23,"repoUrl":24,"updatedAt":1687},"simready-foundation-add-runtime-test","add SimReady runtime tests","Use for adding SimReady runtime tests, runner expectations, batch\u002Fjob\u002Freport notes, and validation evidence.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1681,1682,1683,1686],{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1684,"slug":1685,"type":13},"Testing","testing",{"name":1661,"slug":1662,"type":13},"2026-07-14T05:34:09.295859",{"slug":1689,"name":1689,"fn":1690,"description":1691,"org":1692,"tags":1693,"stars":23,"repoUrl":24,"updatedAt":1698},"simready-foundation-add-validator","add executable SimReady validators","Use for adding executable SimReady validators that report requirement IDs with focused pass\u002Ffail coverage.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1694,1695,1696,1697],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1661,"slug":1662,"type":13},"2026-07-14T05:34:14.407249",26,{"items":1701,"total":1854},[1702,1718,1736,1747,1759,1771,1784,1798,1809,1820,1834,1843],{"slug":1703,"name":1703,"fn":1704,"description":1705,"org":1706,"tags":1707,"stars":1715,"repoUrl":1716,"updatedAt":1717},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1708,1709,1712],{"name":1625,"slug":1626,"type":13},{"name":1710,"slug":1711,"type":13},"MCP","mcp",{"name":1713,"slug":1714,"type":13},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1719,"name":1719,"fn":1720,"description":1721,"org":1722,"tags":1723,"stars":1733,"repoUrl":1734,"updatedAt":1735},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1724,1727,1730],{"name":1725,"slug":1726,"type":13},"Containers","containers",{"name":1728,"slug":1729,"type":13},"Deployment","deployment",{"name":1731,"slug":1732,"type":13},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1737,"name":1737,"fn":1738,"description":1739,"org":1740,"tags":1741,"stars":1733,"repoUrl":1734,"updatedAt":1746},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1742,1745],{"name":1743,"slug":1744,"type":13},"CI\u002FCD","ci-cd",{"name":1728,"slug":1729,"type":13},"2026-07-14T05:25:59.97109",{"slug":1748,"name":1748,"fn":1749,"description":1750,"org":1751,"tags":1752,"stars":1733,"repoUrl":1734,"updatedAt":1758},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1753,1754,1755],{"name":1743,"slug":1744,"type":13},{"name":1728,"slug":1729,"type":13},{"name":1756,"slug":1757,"type":13},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1760,"name":1760,"fn":1761,"description":1762,"org":1763,"tags":1764,"stars":1733,"repoUrl":1734,"updatedAt":1770},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1765,1766,1767],{"name":21,"slug":22,"type":13},{"name":1756,"slug":1757,"type":13},{"name":1768,"slug":1769,"type":13},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1772,"name":1772,"fn":1773,"description":1774,"org":1775,"tags":1776,"stars":1733,"repoUrl":1734,"updatedAt":1783},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1777,1780],{"name":1778,"slug":1779,"type":13},"Best Practices","best-practices",{"name":1781,"slug":1782,"type":13},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1785,"name":1785,"fn":1786,"description":1787,"org":1788,"tags":1789,"stars":1733,"repoUrl":1734,"updatedAt":1797},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1790,1793,1796],{"name":1791,"slug":1792,"type":13},"Machine Learning","machine-learning",{"name":1794,"slug":1795,"type":13},"Migration","migration",{"name":9,"slug":8,"type":13},"2026-07-17T06:07:11.777011",{"slug":1799,"name":1799,"fn":1800,"description":1801,"org":1802,"tags":1803,"stars":1733,"repoUrl":1734,"updatedAt":1808},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1804,1807],{"name":1805,"slug":1806,"type":13},"QA","qa",{"name":1684,"slug":1685,"type":13},"2026-07-14T05:25:53.673039",{"slug":1810,"name":1810,"fn":1811,"description":1812,"org":1813,"tags":1814,"stars":1733,"repoUrl":1734,"updatedAt":1819},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1815,1816],{"name":1728,"slug":1729,"type":13},{"name":1817,"slug":1818,"type":13},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1821,"name":1821,"fn":1822,"description":1823,"org":1824,"tags":1825,"stars":1733,"repoUrl":1734,"updatedAt":1833},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1826,1829,1830],{"name":1827,"slug":1828,"type":13},"Code Review","code-review",{"name":1756,"slug":1757,"type":13},{"name":1831,"slug":1832,"type":13},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1835,"name":1835,"fn":1836,"description":1837,"org":1838,"tags":1839,"stars":1733,"repoUrl":1734,"updatedAt":1842},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1840,1841],{"name":1805,"slug":1806,"type":13},{"name":1684,"slug":1685,"type":13},"2026-07-14T05:25:54.928983",{"slug":1844,"name":1844,"fn":1845,"description":1846,"org":1847,"tags":1848,"stars":1733,"repoUrl":1734,"updatedAt":1853},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1849,1852],{"name":1850,"slug":1851,"type":13},"Automation","automation",{"name":1743,"slug":1744,"type":13},"2026-07-30T05:29:03.275638",496]