[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-simready-foundation-conform-fet-023-robot-materials":3,"mdc-dyfx0i-key":31,"related-org-nvidia-simready-foundation-conform-fet-023-robot-materials":1345,"related-repo-nvidia-simready-foundation-conform-fet-023-robot-materials":1504},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"simready-foundation-conform-fet-023-robot-materials","repair SimReady robot material organization","Use for repairing SimReady robot material organization under the top-level Looks scope.",{"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],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Simulation","simulation",{"name":18,"slug":19,"type":13},"Debugging","debugging",52,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fsimready-foundation","2026-07-14T05:34:06.793501","Apache-2.0",8,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"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-023-robot-materials","---\nname: simready-foundation-conform-fet-023-robot-materials\ndescription: \"Use for repairing SimReady robot material organization under the top-level Looks scope.\"\nlicense: Apache-2.0\nmetadata:\n  author: \"Shaad Boochoon \u003Csboochoon@nvidia.com>\"\n  tags:\n    - simready\n    - conformance\n    - robotics\n---\n\n\n# SimReady Conform FET-023 Robot Materials\n\n## Purpose\nUse this workflow skill when the selected profile, validation report, or user request targets `FET023_ROBOT_MATERIALS`. FET023 repairs robot material organization for Isaac Sim by centralizing material definitions as direct children of the top-level `Looks` scope and eliminating nested material prims.\n\nThis is a material-organization repair skill, not a material-authoring skill. It should preserve existing materials, shader networks, texture paths, and visual appearance while changing where material prims live and what geometry bindings target.\n\nFET023 is not currently used by the default Robot-Body profiles in `profiles.toml`. When a profile does not include FET023, run this skill only when the user explicitly asks for robot material organization conformance or supplies a profile\u002Fworkflow that includes `FET023_ROBOT_MATERIALS`.\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 selected FET023 manifest and requirement docs:\n\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_023-robot_materials-0.1.0.json`\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_023-robot_materials.md`\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Fcapabilities\u002Fisaac_sim\u002Frobot_materials\u002Frequirements.md`\n- `nv_core\u002Fsr_specs\u002Fdocs\u002Fcapabilities\u002Fisaac_sim\u002Frobot_materials\u002Fvalidation.py`\n\nTreat the selected JSON manifest as authoritative for the required IDs. If the markdown, manifest, validator, or report disagree on behavior, follow the validation report for the current gate and call out the mismatch in the stage summary.\n\nFor per-requirement repair details, read `references\u002Ffet023-requirements.md` when a FET023 validation report or inspection identifies matching failures.\n\n## Inputs\n\nCollect these before editing:\n\n| Input | Requirement |\n|---|---|\n| `usd_asset` | Required robot `.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, if one includes FET023. |\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 or feature validation gate. |\n| `fet023_variant` | Selected feature ID and version, currently `FET023_ROBOT_MATERIALS@0.1.0`. |\n| `material_move_policy` | Whether material prims may be moved within the staged asset, copied with redirects, or blocked for user review. |\n\n## Instructions\n\nUse this checklist when changing the repository:\n\n1. Confirm the input asset exists and determine whether FET023 is selected by the profile or explicitly requested by the user.\n2. Parse the validation report and filter to FET023\u002FRM failures. Do not repair shader schema, texture properties, material semantics, robot core, or physics issues in this skill.\n3. Load the selected FET023 manifest version and the requirement repair map.\n4. Create a staged output folder under `output_root`; do not mutate the source unless the user explicitly asks for in-place repair.\n5. Inspect the stage before editing:\n   - default prim and expected top-level `\u002F\u003CdefaultPrim>\u002FLooks` scope\n   - all composed `UsdShade.Material` prim paths under the default prim\n   - material prims that are children or descendants of other material prims\n   - material prims outside `\u002F\u003CdefaultPrim>\u002FLooks`\n   - direct children of `\u002F\u003CdefaultPrim>\u002FLooks`\n   - all material binding relationships, collection bindings, and shader connections that target material or shader paths inside material subtrees\n   - layer stack and authored layer for each material prim, binding, and connection that may need rewriting\n6. Plan moves before editing:\n   - Choose one canonical target path per material under `\u002F\u003CdefaultPrim>\u002FLooks\u002F\u003CMaterialName>`.\n   - Preserve the whole material subtree, including child shaders and supporting scopes.\n   - Resolve name collisions deterministically, for example by appending `_01`, `_02`, or a sanitized source-scope suffix.\n   - Build an old-path to new-path map for every moved material and every descendant prim.\n7. Apply repairs in this order:\n   - Create `\u002F\u003CdefaultPrim>\u002FLooks` as a `Scope` if it does not exist.\n   - Move or copy material subtrees into direct children of `Looks`.\n   - Flatten nested materials by moving each nested material subtree to its own direct child of `Looks`.\n   - Update material binding relationships to target the moved material paths.\n   - Update shader connections and relationship targets that point inside moved material subtrees.\n   - Remove old local material prims only after all references to them are updated and the new material paths compose correctly.\n8. Rerun the same validation gate when a profile includes FET023, or the narrowest available RobotMaterials validator. If no executable FET023 gate is available, report the deterministic USD inspection results and the validation gap.\n9. Summarize the stage as passed, failed, skipped, or blocked. Stop when FET023 passes or the next FET023 failure requires cross-layer material moves, referenced asset edits, or material identity decisions outside this skill.\n\n## Examples\n\nExample request:\n\n```text\nRepair FET023 robot material organization failures by flattening materials under Looks.\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 locally verifiable:\n\n- Create the top-level `Looks` scope under the default prim.\n- Move locally-authored material prim subtrees under `\u002F\u003CdefaultPrim>\u002FLooks`.\n- Flatten nested material prims by preserving each nested material as a separate direct child of `Looks`.\n- Update direct and collection material bindings that target moved materials.\n- Update connection targets inside moved material subtrees when absolute paths changed.\n- Preserve existing shader attributes, texture asset paths, non-visual material attributes, physics material data, and custom metadata.\n\nBlock and report instead of guessing when:\n\n- A material prim is authored in a referenced or payloaded asset that should not be edited from the current package.\n- Moving a material would cross composition boundaries, variants, or layers in a way that changes strength or asset ownership.\n- Two materials collide by name and there is no stable way to preserve both without changing external bindings.\n- The material subtree contains authored relationships or connections whose target rewrite is ambiguous.\n- A material binding points to a missing material or an invalid path; hand off to FET006 or material assignment if material creation is needed.\n\n## Validation Handoff\n\nPreserve reports under the staged output directory. If a selected profile includes FET023 and the Physical AI Skill Hub validation commands are available, use the same profile gate that exposed the failure:\n\n```bash\nuv run --python 3.12 validate-simready-profile \u003Cstaged-usd> \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --foundation-root \u003Csimready-foundation-root> \\\n  --foundation-spec-root \u003Csimready-foundation-root>\u002Fnv_core\u002Fsr_specs\u002Fdocs \\\n  --report \u003Coutput-root>\u002Fsimready-profile-after-fet023.json\n```\n\nIf no selected profile includes FET023, do not mutate `profiles.toml` just to test the skill. Run the available RobotMaterials capability validator directly if the local environment exposes it; otherwise report the USD inspection results and note that profile validation cannot exercise FET023 until a profile selects it.\n\nCount this skill as successful when `FET023_ROBOT_MATERIALS` passes or when inspection proves there are no nested materials and every local material under the default prim is a direct child of `\u002F\u003CdefaultPrim>\u002FLooks`.\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, if any. |\n| `fet023_variant` | Selected FET023 feature ID and version. |\n| `looks_scope` | Top-level Looks scope path. |\n| `materials_moved` | Old material paths mapped to new material paths. |\n| `bindings_updated` | Material binding relationships retargeted. |\n| `connections_updated` | Shader connections or relationships retargeted. |\n| `requirements_repaired` | Requirement IDs changed by this skill. |\n| `requirements_blocked` | Requirement IDs that need cross-layer edits, external asset ownership, or material creation. |\n| `validation_report` | Path to the rerun validation or inspection report. |\n| `next_step` | Usually run FET023-capable validation or hand off to FET006\u002Fmaterial assignment if material definitions are missing. |\n\nKeep the user-facing summary short: which material paths moved, how bindings were preserved, what validation could run, and what remains blocked.\n",{"data":32,"body":39},{"name":4,"description":6,"license":23,"metadata":33},{"author":34,"tags":35},"Shaad Boochoon \u003Csboochoon@nvidia.com>",[36,37,38],"simready","conformance","robotics",{"type":40,"children":41},"root",[42,51,58,81,86,106,112,117,123,128,169,174,187,193,198,375,381,386,611,617,622,634,639,648,654,659,711,716,744,750,755,983,995,1013,1019,1037,1043,1061,1067,1092,1098,1103,1334,1339],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"simready-conform-fet-023-robot-materials",[48],{"type":49,"value":50},"text","SimReady Conform FET-023 Robot Materials",{"type":43,"tag":52,"props":53,"children":55},"h2",{"id":54},"purpose",[56],{"type":49,"value":57},"Purpose",{"type":43,"tag":59,"props":60,"children":61},"p",{},[62,64,71,73,79],{"type":49,"value":63},"Use this workflow skill when the selected profile, validation report, or user request targets ",{"type":43,"tag":65,"props":66,"children":68},"code",{"className":67},[],[69],{"type":49,"value":70},"FET023_ROBOT_MATERIALS",{"type":49,"value":72},". FET023 repairs robot material organization for Isaac Sim by centralizing material definitions as direct children of the top-level ",{"type":43,"tag":65,"props":74,"children":76},{"className":75},[],[77],{"type":49,"value":78},"Looks",{"type":49,"value":80}," scope and eliminating nested material prims.",{"type":43,"tag":59,"props":82,"children":83},{},[84],{"type":49,"value":85},"This is a material-organization repair skill, not a material-authoring skill. It should preserve existing materials, shader networks, texture paths, and visual appearance while changing where material prims live and what geometry bindings target.",{"type":43,"tag":59,"props":87,"children":88},{},[89,91,97,99,104],{"type":49,"value":90},"FET023 is not currently used by the default Robot-Body profiles in ",{"type":43,"tag":65,"props":92,"children":94},{"className":93},[],[95],{"type":49,"value":96},"profiles.toml",{"type":49,"value":98},". When a profile does not include FET023, run this skill only when the user explicitly asks for robot material organization conformance or supplies a profile\u002Fworkflow that includes ",{"type":43,"tag":65,"props":100,"children":102},{"className":101},[],[103],{"type":49,"value":70},{"type":49,"value":105},".",{"type":43,"tag":52,"props":107,"children":109},{"id":108},"prerequisites",[110],{"type":49,"value":111},"Prerequisites",{"type":43,"tag":59,"props":113,"children":114},{},[115],{"type":49,"value":116},"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":43,"tag":52,"props":118,"children":120},{"id":119},"source-of-truth",[121],{"type":49,"value":122},"Source of Truth",{"type":43,"tag":59,"props":124,"children":125},{},[126],{"type":49,"value":127},"Before changing an asset, load the selected FET023 manifest and requirement docs:",{"type":43,"tag":129,"props":130,"children":131},"ul",{},[132,142,151,160],{"type":43,"tag":133,"props":134,"children":135},"li",{},[136],{"type":43,"tag":65,"props":137,"children":139},{"className":138},[],[140],{"type":49,"value":141},"nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_023-robot_materials-0.1.0.json",{"type":43,"tag":133,"props":143,"children":144},{},[145],{"type":43,"tag":65,"props":146,"children":148},{"className":147},[],[149],{"type":49,"value":150},"nv_core\u002Fsr_specs\u002Fdocs\u002Ffeatures\u002FFET_023-robot_materials.md",{"type":43,"tag":133,"props":152,"children":153},{},[154],{"type":43,"tag":65,"props":155,"children":157},{"className":156},[],[158],{"type":49,"value":159},"nv_core\u002Fsr_specs\u002Fdocs\u002Fcapabilities\u002Fisaac_sim\u002Frobot_materials\u002Frequirements.md",{"type":43,"tag":133,"props":161,"children":162},{},[163],{"type":43,"tag":65,"props":164,"children":166},{"className":165},[],[167],{"type":49,"value":168},"nv_core\u002Fsr_specs\u002Fdocs\u002Fcapabilities\u002Fisaac_sim\u002Frobot_materials\u002Fvalidation.py",{"type":43,"tag":59,"props":170,"children":171},{},[172],{"type":49,"value":173},"Treat the selected JSON manifest as authoritative for the required IDs. If the markdown, manifest, validator, or report disagree on behavior, follow the validation report for the current gate and call out the mismatch in the stage summary.",{"type":43,"tag":59,"props":175,"children":176},{},[177,179,185],{"type":49,"value":178},"For per-requirement repair details, read ",{"type":43,"tag":65,"props":180,"children":182},{"className":181},[],[183],{"type":49,"value":184},"references\u002Ffet023-requirements.md",{"type":49,"value":186}," when a FET023 validation report or inspection identifies matching failures.",{"type":43,"tag":52,"props":188,"children":190},{"id":189},"inputs",[191],{"type":49,"value":192},"Inputs",{"type":43,"tag":59,"props":194,"children":195},{},[196],{"type":49,"value":197},"Collect these before editing:",{"type":43,"tag":199,"props":200,"children":201},"table",{},[202,221],{"type":43,"tag":203,"props":204,"children":205},"thead",{},[206],{"type":43,"tag":207,"props":208,"children":209},"tr",{},[210,216],{"type":43,"tag":211,"props":212,"children":213},"th",{},[214],{"type":49,"value":215},"Input",{"type":43,"tag":211,"props":217,"children":218},{},[219],{"type":49,"value":220},"Requirement",{"type":43,"tag":222,"props":223,"children":224},"tbody",{},[225,266,283,300,317,334,358],{"type":43,"tag":207,"props":226,"children":227},{},[228,238],{"type":43,"tag":229,"props":230,"children":231},"td",{},[232],{"type":43,"tag":65,"props":233,"children":235},{"className":234},[],[236],{"type":49,"value":237},"usd_asset",{"type":43,"tag":229,"props":239,"children":240},{},[241,243,249,251,257,258,264],{"type":49,"value":242},"Required robot ",{"type":43,"tag":65,"props":244,"children":246},{"className":245},[],[247],{"type":49,"value":248},".usd",{"type":49,"value":250},", ",{"type":43,"tag":65,"props":252,"children":254},{"className":253},[],[255],{"type":49,"value":256},".usda",{"type":49,"value":250},{"type":43,"tag":65,"props":259,"children":261},{"className":260},[],[262],{"type":49,"value":263},".usdc",{"type":49,"value":265},", or unpacked USD-family asset to repair.",{"type":43,"tag":207,"props":267,"children":268},{},[269,278],{"type":43,"tag":229,"props":270,"children":271},{},[272],{"type":43,"tag":65,"props":273,"children":275},{"className":274},[],[276],{"type":49,"value":277},"output_root",{"type":43,"tag":229,"props":279,"children":280},{},[281],{"type":49,"value":282},"Required or inferred folder for staged assets and reports.",{"type":43,"tag":207,"props":284,"children":285},{},[286,295],{"type":43,"tag":229,"props":287,"children":288},{},[289],{"type":43,"tag":65,"props":290,"children":292},{"className":291},[],[293],{"type":49,"value":294},"simready_profile",{"type":43,"tag":229,"props":296,"children":297},{},[298],{"type":49,"value":299},"Profile being validated, if one includes FET023.",{"type":43,"tag":207,"props":301,"children":302},{},[303,312],{"type":43,"tag":229,"props":304,"children":305},{},[306],{"type":43,"tag":65,"props":307,"children":309},{"className":308},[],[310],{"type":49,"value":311},"profile_version",{"type":43,"tag":229,"props":313,"children":314},{},[315],{"type":49,"value":316},"Profile version, if supplied by the user or validation command.",{"type":43,"tag":207,"props":318,"children":319},{},[320,329],{"type":43,"tag":229,"props":321,"children":322},{},[323],{"type":43,"tag":65,"props":324,"children":326},{"className":325},[],[327],{"type":49,"value":328},"validation_report",{"type":43,"tag":229,"props":330,"children":331},{},[332],{"type":49,"value":333},"Preferred JSON or markdown report from the failing profile or feature validation gate.",{"type":43,"tag":207,"props":335,"children":336},{},[337,346],{"type":43,"tag":229,"props":338,"children":339},{},[340],{"type":43,"tag":65,"props":341,"children":343},{"className":342},[],[344],{"type":49,"value":345},"fet023_variant",{"type":43,"tag":229,"props":347,"children":348},{},[349,351,357],{"type":49,"value":350},"Selected feature ID and version, currently ",{"type":43,"tag":65,"props":352,"children":354},{"className":353},[],[355],{"type":49,"value":356},"FET023_ROBOT_MATERIALS@0.1.0",{"type":49,"value":105},{"type":43,"tag":207,"props":359,"children":360},{},[361,370],{"type":43,"tag":229,"props":362,"children":363},{},[364],{"type":43,"tag":65,"props":365,"children":367},{"className":366},[],[368],{"type":49,"value":369},"material_move_policy",{"type":43,"tag":229,"props":371,"children":372},{},[373],{"type":49,"value":374},"Whether material prims may be moved within the staged asset, copied with redirects, or blocked for user review.",{"type":43,"tag":52,"props":376,"children":378},{"id":377},"instructions",[379],{"type":49,"value":380},"Instructions",{"type":43,"tag":59,"props":382,"children":383},{},[384],{"type":49,"value":385},"Use this checklist when changing the repository:",{"type":43,"tag":387,"props":388,"children":389},"ol",{},[390,395,400,405,417,486,536,601,606],{"type":43,"tag":133,"props":391,"children":392},{},[393],{"type":49,"value":394},"Confirm the input asset exists and determine whether FET023 is selected by the profile or explicitly requested by the user.",{"type":43,"tag":133,"props":396,"children":397},{},[398],{"type":49,"value":399},"Parse the validation report and filter to FET023\u002FRM failures. Do not repair shader schema, texture properties, material semantics, robot core, or physics issues in this skill.",{"type":43,"tag":133,"props":401,"children":402},{},[403],{"type":49,"value":404},"Load the selected FET023 manifest version and the requirement repair map.",{"type":43,"tag":133,"props":406,"children":407},{},[408,410,415],{"type":49,"value":409},"Create a staged output folder under ",{"type":43,"tag":65,"props":411,"children":413},{"className":412},[],[414],{"type":49,"value":277},{"type":49,"value":416},"; do not mutate the source unless the user explicitly asks for in-place repair.",{"type":43,"tag":133,"props":418,"children":419},{},[420,422],{"type":49,"value":421},"Inspect the stage before editing:\n",{"type":43,"tag":129,"props":423,"children":424},{},[425,438,451,456,466,476,481],{"type":43,"tag":133,"props":426,"children":427},{},[428,430,436],{"type":49,"value":429},"default prim and expected top-level ",{"type":43,"tag":65,"props":431,"children":433},{"className":432},[],[434],{"type":49,"value":435},"\u002F\u003CdefaultPrim>\u002FLooks",{"type":49,"value":437}," scope",{"type":43,"tag":133,"props":439,"children":440},{},[441,443,449],{"type":49,"value":442},"all composed ",{"type":43,"tag":65,"props":444,"children":446},{"className":445},[],[447],{"type":49,"value":448},"UsdShade.Material",{"type":49,"value":450}," prim paths under the default prim",{"type":43,"tag":133,"props":452,"children":453},{},[454],{"type":49,"value":455},"material prims that are children or descendants of other material prims",{"type":43,"tag":133,"props":457,"children":458},{},[459,461],{"type":49,"value":460},"material prims outside ",{"type":43,"tag":65,"props":462,"children":464},{"className":463},[],[465],{"type":49,"value":435},{"type":43,"tag":133,"props":467,"children":468},{},[469,471],{"type":49,"value":470},"direct children of ",{"type":43,"tag":65,"props":472,"children":474},{"className":473},[],[475],{"type":49,"value":435},{"type":43,"tag":133,"props":477,"children":478},{},[479],{"type":49,"value":480},"all material binding relationships, collection bindings, and shader connections that target material or shader paths inside material subtrees",{"type":43,"tag":133,"props":482,"children":483},{},[484],{"type":49,"value":485},"layer stack and authored layer for each material prim, binding, and connection that may need rewriting",{"type":43,"tag":133,"props":487,"children":488},{},[489,491],{"type":49,"value":490},"Plan moves before editing:\n",{"type":43,"tag":129,"props":492,"children":493},{},[494,506,511,531],{"type":43,"tag":133,"props":495,"children":496},{},[497,499,505],{"type":49,"value":498},"Choose one canonical target path per material under ",{"type":43,"tag":65,"props":500,"children":502},{"className":501},[],[503],{"type":49,"value":504},"\u002F\u003CdefaultPrim>\u002FLooks\u002F\u003CMaterialName>",{"type":49,"value":105},{"type":43,"tag":133,"props":507,"children":508},{},[509],{"type":49,"value":510},"Preserve the whole material subtree, including child shaders and supporting scopes.",{"type":43,"tag":133,"props":512,"children":513},{},[514,516,522,523,529],{"type":49,"value":515},"Resolve name collisions deterministically, for example by appending ",{"type":43,"tag":65,"props":517,"children":519},{"className":518},[],[520],{"type":49,"value":521},"_01",{"type":49,"value":250},{"type":43,"tag":65,"props":524,"children":526},{"className":525},[],[527],{"type":49,"value":528},"_02",{"type":49,"value":530},", or a sanitized source-scope suffix.",{"type":43,"tag":133,"props":532,"children":533},{},[534],{"type":49,"value":535},"Build an old-path to new-path map for every moved material and every descendant prim.",{"type":43,"tag":133,"props":537,"children":538},{},[539,541],{"type":49,"value":540},"Apply repairs in this order:\n",{"type":43,"tag":129,"props":542,"children":543},{},[544,564,575,586,591,596],{"type":43,"tag":133,"props":545,"children":546},{},[547,549,554,556,562],{"type":49,"value":548},"Create ",{"type":43,"tag":65,"props":550,"children":552},{"className":551},[],[553],{"type":49,"value":435},{"type":49,"value":555}," as a ",{"type":43,"tag":65,"props":557,"children":559},{"className":558},[],[560],{"type":49,"value":561},"Scope",{"type":49,"value":563}," if it does not exist.",{"type":43,"tag":133,"props":565,"children":566},{},[567,569,574],{"type":49,"value":568},"Move or copy material subtrees into direct children of ",{"type":43,"tag":65,"props":570,"children":572},{"className":571},[],[573],{"type":49,"value":78},{"type":49,"value":105},{"type":43,"tag":133,"props":576,"children":577},{},[578,580,585],{"type":49,"value":579},"Flatten nested materials by moving each nested material subtree to its own direct child of ",{"type":43,"tag":65,"props":581,"children":583},{"className":582},[],[584],{"type":49,"value":78},{"type":49,"value":105},{"type":43,"tag":133,"props":587,"children":588},{},[589],{"type":49,"value":590},"Update material binding relationships to target the moved material paths.",{"type":43,"tag":133,"props":592,"children":593},{},[594],{"type":49,"value":595},"Update shader connections and relationship targets that point inside moved material subtrees.",{"type":43,"tag":133,"props":597,"children":598},{},[599],{"type":49,"value":600},"Remove old local material prims only after all references to them are updated and the new material paths compose correctly.",{"type":43,"tag":133,"props":602,"children":603},{},[604],{"type":49,"value":605},"Rerun the same validation gate when a profile includes FET023, or the narrowest available RobotMaterials validator. If no executable FET023 gate is available, report the deterministic USD inspection results and the validation gap.",{"type":43,"tag":133,"props":607,"children":608},{},[609],{"type":49,"value":610},"Summarize the stage as passed, failed, skipped, or blocked. Stop when FET023 passes or the next FET023 failure requires cross-layer material moves, referenced asset edits, or material identity decisions outside this skill.",{"type":43,"tag":52,"props":612,"children":614},{"id":613},"examples",[615],{"type":49,"value":616},"Examples",{"type":43,"tag":59,"props":618,"children":619},{},[620],{"type":49,"value":621},"Example request:",{"type":43,"tag":623,"props":624,"children":629},"pre",{"className":625,"code":627,"language":49,"meta":628},[626],"language-text","Repair FET023 robot material organization failures by flattening materials under Looks.\n","",[630],{"type":43,"tag":65,"props":631,"children":632},{"__ignoreMap":628},[633],{"type":49,"value":627},{"type":43,"tag":59,"props":635,"children":636},{},[637],{"type":49,"value":638},"Expected result summary:",{"type":43,"tag":623,"props":640,"children":643},{"className":641,"code":642,"language":49,"meta":628},[626],"staged_asset: repaired copy or output directory\nvalidation: selected feature\u002Fprofile gate and report path\nremaining_failures: next failing requirement IDs, if any\n",[644],{"type":43,"tag":65,"props":645,"children":646},{"__ignoreMap":628},[647],{"type":49,"value":642},{"type":43,"tag":52,"props":649,"children":651},{"id":650},"repair-policy",[652],{"type":49,"value":653},"Repair Policy",{"type":43,"tag":59,"props":655,"children":656},{},[657],{"type":49,"value":658},"Make automatic repairs only when the intended result is mechanical and locally verifiable:",{"type":43,"tag":129,"props":660,"children":661},{},[662,674,685,696,701,706],{"type":43,"tag":133,"props":663,"children":664},{},[665,667,672],{"type":49,"value":666},"Create the top-level ",{"type":43,"tag":65,"props":668,"children":670},{"className":669},[],[671],{"type":49,"value":78},{"type":49,"value":673}," scope under the default prim.",{"type":43,"tag":133,"props":675,"children":676},{},[677,679,684],{"type":49,"value":678},"Move locally-authored material prim subtrees under ",{"type":43,"tag":65,"props":680,"children":682},{"className":681},[],[683],{"type":49,"value":435},{"type":49,"value":105},{"type":43,"tag":133,"props":686,"children":687},{},[688,690,695],{"type":49,"value":689},"Flatten nested material prims by preserving each nested material as a separate direct child of ",{"type":43,"tag":65,"props":691,"children":693},{"className":692},[],[694],{"type":49,"value":78},{"type":49,"value":105},{"type":43,"tag":133,"props":697,"children":698},{},[699],{"type":49,"value":700},"Update direct and collection material bindings that target moved materials.",{"type":43,"tag":133,"props":702,"children":703},{},[704],{"type":49,"value":705},"Update connection targets inside moved material subtrees when absolute paths changed.",{"type":43,"tag":133,"props":707,"children":708},{},[709],{"type":49,"value":710},"Preserve existing shader attributes, texture asset paths, non-visual material attributes, physics material data, and custom metadata.",{"type":43,"tag":59,"props":712,"children":713},{},[714],{"type":49,"value":715},"Block and report instead of guessing when:",{"type":43,"tag":129,"props":717,"children":718},{},[719,724,729,734,739],{"type":43,"tag":133,"props":720,"children":721},{},[722],{"type":49,"value":723},"A material prim is authored in a referenced or payloaded asset that should not be edited from the current package.",{"type":43,"tag":133,"props":725,"children":726},{},[727],{"type":49,"value":728},"Moving a material would cross composition boundaries, variants, or layers in a way that changes strength or asset ownership.",{"type":43,"tag":133,"props":730,"children":731},{},[732],{"type":49,"value":733},"Two materials collide by name and there is no stable way to preserve both without changing external bindings.",{"type":43,"tag":133,"props":735,"children":736},{},[737],{"type":49,"value":738},"The material subtree contains authored relationships or connections whose target rewrite is ambiguous.",{"type":43,"tag":133,"props":740,"children":741},{},[742],{"type":49,"value":743},"A material binding points to a missing material or an invalid path; hand off to FET006 or material assignment if material creation is needed.",{"type":43,"tag":52,"props":745,"children":747},{"id":746},"validation-handoff",[748],{"type":49,"value":749},"Validation Handoff",{"type":43,"tag":59,"props":751,"children":752},{},[753],{"type":49,"value":754},"Preserve reports under the staged output directory. If a selected profile includes FET023 and the Physical AI Skill Hub validation commands are available, use the same profile gate that exposed the failure:",{"type":43,"tag":623,"props":756,"children":760},{"className":757,"code":758,"language":759,"meta":628,"style":628},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","uv run --python 3.12 validate-simready-profile \u003Cstaged-usd> \\\n  --profile \u003Cprofile> \\\n  --profile-version \u003Cversion> \\\n  --foundation-root \u003Csimready-foundation-root> \\\n  --foundation-spec-root \u003Csimready-foundation-root>\u002Fnv_core\u002Fsr_specs\u002Fdocs \\\n  --report \u003Coutput-root>\u002Fsimready-profile-after-fet023.json\n","bash",[761],{"type":43,"tag":65,"props":762,"children":763},{"__ignoreMap":628},[764,825,856,887,918,952],{"type":43,"tag":765,"props":766,"children":769},"span",{"class":767,"line":768},"line",1,[770,776,782,787,793,798,804,809,815,820],{"type":43,"tag":765,"props":771,"children":773},{"style":772},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[774],{"type":49,"value":775},"uv",{"type":43,"tag":765,"props":777,"children":779},{"style":778},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[780],{"type":49,"value":781}," run",{"type":43,"tag":765,"props":783,"children":784},{"style":778},[785],{"type":49,"value":786}," --python",{"type":43,"tag":765,"props":788,"children":790},{"style":789},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[791],{"type":49,"value":792}," 3.12",{"type":43,"tag":765,"props":794,"children":795},{"style":778},[796],{"type":49,"value":797}," validate-simready-profile",{"type":43,"tag":765,"props":799,"children":801},{"style":800},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[802],{"type":49,"value":803}," \u003C",{"type":43,"tag":765,"props":805,"children":806},{"style":778},[807],{"type":49,"value":808},"staged-us",{"type":43,"tag":765,"props":810,"children":812},{"style":811},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[813],{"type":49,"value":814},"d",{"type":43,"tag":765,"props":816,"children":817},{"style":800},[818],{"type":49,"value":819},">",{"type":43,"tag":765,"props":821,"children":822},{"style":811},[823],{"type":49,"value":824}," \\\n",{"type":43,"tag":765,"props":826,"children":828},{"class":767,"line":827},2,[829,834,838,843,848,852],{"type":43,"tag":765,"props":830,"children":831},{"style":778},[832],{"type":49,"value":833},"  --profile",{"type":43,"tag":765,"props":835,"children":836},{"style":800},[837],{"type":49,"value":803},{"type":43,"tag":765,"props":839,"children":840},{"style":778},[841],{"type":49,"value":842},"profil",{"type":43,"tag":765,"props":844,"children":845},{"style":811},[846],{"type":49,"value":847},"e",{"type":43,"tag":765,"props":849,"children":850},{"style":800},[851],{"type":49,"value":819},{"type":43,"tag":765,"props":853,"children":854},{"style":811},[855],{"type":49,"value":824},{"type":43,"tag":765,"props":857,"children":859},{"class":767,"line":858},3,[860,865,869,874,879,883],{"type":43,"tag":765,"props":861,"children":862},{"style":778},[863],{"type":49,"value":864},"  --profile-version",{"type":43,"tag":765,"props":866,"children":867},{"style":800},[868],{"type":49,"value":803},{"type":43,"tag":765,"props":870,"children":871},{"style":778},[872],{"type":49,"value":873},"versio",{"type":43,"tag":765,"props":875,"children":876},{"style":811},[877],{"type":49,"value":878},"n",{"type":43,"tag":765,"props":880,"children":881},{"style":800},[882],{"type":49,"value":819},{"type":43,"tag":765,"props":884,"children":885},{"style":811},[886],{"type":49,"value":824},{"type":43,"tag":765,"props":888,"children":890},{"class":767,"line":889},4,[891,896,900,905,910,914],{"type":43,"tag":765,"props":892,"children":893},{"style":778},[894],{"type":49,"value":895},"  --foundation-root",{"type":43,"tag":765,"props":897,"children":898},{"style":800},[899],{"type":49,"value":803},{"type":43,"tag":765,"props":901,"children":902},{"style":778},[903],{"type":49,"value":904},"simready-foundation-roo",{"type":43,"tag":765,"props":906,"children":907},{"style":811},[908],{"type":49,"value":909},"t",{"type":43,"tag":765,"props":911,"children":912},{"style":800},[913],{"type":49,"value":819},{"type":43,"tag":765,"props":915,"children":916},{"style":811},[917],{"type":49,"value":824},{"type":43,"tag":765,"props":919,"children":921},{"class":767,"line":920},5,[922,927,931,935,939,943,948],{"type":43,"tag":765,"props":923,"children":924},{"style":778},[925],{"type":49,"value":926},"  --foundation-spec-root",{"type":43,"tag":765,"props":928,"children":929},{"style":800},[930],{"type":49,"value":803},{"type":43,"tag":765,"props":932,"children":933},{"style":778},[934],{"type":49,"value":904},{"type":43,"tag":765,"props":936,"children":937},{"style":811},[938],{"type":49,"value":909},{"type":43,"tag":765,"props":940,"children":941},{"style":800},[942],{"type":49,"value":819},{"type":43,"tag":765,"props":944,"children":945},{"style":778},[946],{"type":49,"value":947},"\u002Fnv_core\u002Fsr_specs\u002Fdocs",{"type":43,"tag":765,"props":949,"children":950},{"style":811},[951],{"type":49,"value":824},{"type":43,"tag":765,"props":953,"children":955},{"class":767,"line":954},6,[956,961,965,970,974,978],{"type":43,"tag":765,"props":957,"children":958},{"style":778},[959],{"type":49,"value":960},"  --report",{"type":43,"tag":765,"props":962,"children":963},{"style":800},[964],{"type":49,"value":803},{"type":43,"tag":765,"props":966,"children":967},{"style":778},[968],{"type":49,"value":969},"output-roo",{"type":43,"tag":765,"props":971,"children":972},{"style":811},[973],{"type":49,"value":909},{"type":43,"tag":765,"props":975,"children":976},{"style":800},[977],{"type":49,"value":819},{"type":43,"tag":765,"props":979,"children":980},{"style":778},[981],{"type":49,"value":982},"\u002Fsimready-profile-after-fet023.json\n",{"type":43,"tag":59,"props":984,"children":985},{},[986,988,993],{"type":49,"value":987},"If no selected profile includes FET023, do not mutate ",{"type":43,"tag":65,"props":989,"children":991},{"className":990},[],[992],{"type":49,"value":96},{"type":49,"value":994}," just to test the skill. Run the available RobotMaterials capability validator directly if the local environment exposes it; otherwise report the USD inspection results and note that profile validation cannot exercise FET023 until a profile selects it.",{"type":43,"tag":59,"props":996,"children":997},{},[998,1000,1005,1007,1012],{"type":49,"value":999},"Count this skill as successful when ",{"type":43,"tag":65,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":49,"value":70},{"type":49,"value":1006}," passes or when inspection proves there are no nested materials and every local material under the default prim is a direct child of ",{"type":43,"tag":65,"props":1008,"children":1010},{"className":1009},[],[1011],{"type":49,"value":435},{"type":49,"value":105},{"type":43,"tag":52,"props":1014,"children":1016},{"id":1015},"limitations",[1017],{"type":49,"value":1018},"Limitations",{"type":43,"tag":129,"props":1020,"children":1021},{},[1022,1027,1032],{"type":43,"tag":133,"props":1023,"children":1024},{},[1025],{"type":49,"value":1026},"Do not silently mutate the source asset; work on the requested staged output.",{"type":43,"tag":133,"props":1028,"children":1029},{},[1030],{"type":49,"value":1031},"Do not hide later profile failures after the selected feature gate passes or fails.",{"type":43,"tag":133,"props":1033,"children":1034},{},[1035],{"type":49,"value":1036},"Do not invent geometry, metadata, or runtime behavior that conflicts with the asset intent.",{"type":43,"tag":52,"props":1038,"children":1040},{"id":1039},"troubleshooting",[1041],{"type":49,"value":1042},"Troubleshooting",{"type":43,"tag":129,"props":1044,"children":1045},{},[1046,1051,1056],{"type":43,"tag":133,"props":1047,"children":1048},{},[1049],{"type":49,"value":1050},"Error: validation tooling is unavailable. Solution: run the narrowest available USD or static check and report the gap.",{"type":43,"tag":133,"props":1052,"children":1053},{},[1054],{"type":49,"value":1055},"Error: a repair would change asset intent. Solution: stop and ask for direction or stage the smallest reversible edit.",{"type":43,"tag":133,"props":1057,"children":1058},{},[1059],{"type":49,"value":1060},"Error: later profile gates still fail. Solution: report the next failing feature and hand off to the matching conformance skill.",{"type":43,"tag":52,"props":1062,"children":1064},{"id":1063},"resources",[1065],{"type":49,"value":1066},"Resources",{"type":43,"tag":129,"props":1068,"children":1069},{},[1070,1081],{"type":43,"tag":133,"props":1071,"children":1072},{},[1073,1079],{"type":43,"tag":65,"props":1074,"children":1076},{"className":1075},[],[1077],{"type":49,"value":1078},"assets\u002Fopenai.yaml",{"type":49,"value":1080}," preserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.",{"type":43,"tag":133,"props":1082,"children":1083},{},[1084,1090],{"type":43,"tag":65,"props":1085,"children":1087},{"className":1086},[],[1088],{"type":49,"value":1089},"references\u002F",{"type":49,"value":1091}," contains detailed requirement notes; load only the files needed for the active validation failure.",{"type":43,"tag":52,"props":1093,"children":1095},{"id":1094},"summary-format",[1096],{"type":49,"value":1097},"Summary Format",{"type":43,"tag":59,"props":1099,"children":1100},{},[1101],{"type":49,"value":1102},"Report:",{"type":43,"tag":199,"props":1104,"children":1105},{},[1106,1122],{"type":43,"tag":203,"props":1107,"children":1108},{},[1109],{"type":43,"tag":207,"props":1110,"children":1111},{},[1112,1117],{"type":43,"tag":211,"props":1113,"children":1114},{},[1115],{"type":49,"value":1116},"Field",{"type":43,"tag":211,"props":1118,"children":1119},{},[1120],{"type":49,"value":1121},"Meaning",{"type":43,"tag":222,"props":1123,"children":1124},{},[1125,1142,1159,1183,1199,1216,1233,1250,1267,1284,1301,1317],{"type":43,"tag":207,"props":1126,"children":1127},{},[1128,1137],{"type":43,"tag":229,"props":1129,"children":1130},{},[1131],{"type":43,"tag":65,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":49,"value":1136},"input_usd_path",{"type":43,"tag":229,"props":1138,"children":1139},{},[1140],{"type":49,"value":1141},"Original USD path.",{"type":43,"tag":207,"props":1143,"children":1144},{},[1145,1154],{"type":43,"tag":229,"props":1146,"children":1147},{},[1148],{"type":43,"tag":65,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":49,"value":1153},"output_usd_path",{"type":43,"tag":229,"props":1155,"children":1156},{},[1157],{"type":49,"value":1158},"Latest staged\u002Frepaired USD path.",{"type":43,"tag":207,"props":1160,"children":1161},{},[1162,1178],{"type":43,"tag":229,"props":1163,"children":1164},{},[1165,1171,1173],{"type":43,"tag":65,"props":1166,"children":1168},{"className":1167},[],[1169],{"type":49,"value":1170},"profile",{"type":49,"value":1172}," and ",{"type":43,"tag":65,"props":1174,"children":1176},{"className":1175},[],[1177],{"type":49,"value":311},{"type":43,"tag":229,"props":1179,"children":1180},{},[1181],{"type":49,"value":1182},"Validation target, if any.",{"type":43,"tag":207,"props":1184,"children":1185},{},[1186,1194],{"type":43,"tag":229,"props":1187,"children":1188},{},[1189],{"type":43,"tag":65,"props":1190,"children":1192},{"className":1191},[],[1193],{"type":49,"value":345},{"type":43,"tag":229,"props":1195,"children":1196},{},[1197],{"type":49,"value":1198},"Selected FET023 feature ID and version.",{"type":43,"tag":207,"props":1200,"children":1201},{},[1202,1211],{"type":43,"tag":229,"props":1203,"children":1204},{},[1205],{"type":43,"tag":65,"props":1206,"children":1208},{"className":1207},[],[1209],{"type":49,"value":1210},"looks_scope",{"type":43,"tag":229,"props":1212,"children":1213},{},[1214],{"type":49,"value":1215},"Top-level Looks scope path.",{"type":43,"tag":207,"props":1217,"children":1218},{},[1219,1228],{"type":43,"tag":229,"props":1220,"children":1221},{},[1222],{"type":43,"tag":65,"props":1223,"children":1225},{"className":1224},[],[1226],{"type":49,"value":1227},"materials_moved",{"type":43,"tag":229,"props":1229,"children":1230},{},[1231],{"type":49,"value":1232},"Old material paths mapped to new material paths.",{"type":43,"tag":207,"props":1234,"children":1235},{},[1236,1245],{"type":43,"tag":229,"props":1237,"children":1238},{},[1239],{"type":43,"tag":65,"props":1240,"children":1242},{"className":1241},[],[1243],{"type":49,"value":1244},"bindings_updated",{"type":43,"tag":229,"props":1246,"children":1247},{},[1248],{"type":49,"value":1249},"Material binding relationships retargeted.",{"type":43,"tag":207,"props":1251,"children":1252},{},[1253,1262],{"type":43,"tag":229,"props":1254,"children":1255},{},[1256],{"type":43,"tag":65,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":49,"value":1261},"connections_updated",{"type":43,"tag":229,"props":1263,"children":1264},{},[1265],{"type":49,"value":1266},"Shader connections or relationships retargeted.",{"type":43,"tag":207,"props":1268,"children":1269},{},[1270,1279],{"type":43,"tag":229,"props":1271,"children":1272},{},[1273],{"type":43,"tag":65,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":49,"value":1278},"requirements_repaired",{"type":43,"tag":229,"props":1280,"children":1281},{},[1282],{"type":49,"value":1283},"Requirement IDs changed by this skill.",{"type":43,"tag":207,"props":1285,"children":1286},{},[1287,1296],{"type":43,"tag":229,"props":1288,"children":1289},{},[1290],{"type":43,"tag":65,"props":1291,"children":1293},{"className":1292},[],[1294],{"type":49,"value":1295},"requirements_blocked",{"type":43,"tag":229,"props":1297,"children":1298},{},[1299],{"type":49,"value":1300},"Requirement IDs that need cross-layer edits, external asset ownership, or material creation.",{"type":43,"tag":207,"props":1302,"children":1303},{},[1304,1312],{"type":43,"tag":229,"props":1305,"children":1306},{},[1307],{"type":43,"tag":65,"props":1308,"children":1310},{"className":1309},[],[1311],{"type":49,"value":328},{"type":43,"tag":229,"props":1313,"children":1314},{},[1315],{"type":49,"value":1316},"Path to the rerun validation or inspection report.",{"type":43,"tag":207,"props":1318,"children":1319},{},[1320,1329],{"type":43,"tag":229,"props":1321,"children":1322},{},[1323],{"type":43,"tag":65,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":49,"value":1328},"next_step",{"type":43,"tag":229,"props":1330,"children":1331},{},[1332],{"type":49,"value":1333},"Usually run FET023-capable validation or hand off to FET006\u002Fmaterial assignment if material definitions are missing.",{"type":43,"tag":59,"props":1335,"children":1336},{},[1337],{"type":49,"value":1338},"Keep the user-facing summary short: which material paths moved, how bindings were preserved, what validation could run, and what remains blocked.",{"type":43,"tag":1340,"props":1341,"children":1342},"style",{},[1343],{"type":49,"value":1344},"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":1346,"total":1503},[1347,1365,1383,1394,1406,1418,1431,1445,1458,1469,1483,1492],{"slug":1348,"name":1348,"fn":1349,"description":1350,"org":1351,"tags":1352,"stars":1362,"repoUrl":1363,"updatedAt":1364},"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},[1353,1356,1359],{"name":1354,"slug":1355,"type":13},"Documentation","documentation",{"name":1357,"slug":1358,"type":13},"MCP","mcp",{"name":1360,"slug":1361,"type":13},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1366,"name":1366,"fn":1367,"description":1368,"org":1369,"tags":1370,"stars":1380,"repoUrl":1381,"updatedAt":1382},"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},[1371,1374,1377],{"name":1372,"slug":1373,"type":13},"Containers","containers",{"name":1375,"slug":1376,"type":13},"Deployment","deployment",{"name":1378,"slug":1379,"type":13},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1384,"name":1384,"fn":1385,"description":1386,"org":1387,"tags":1388,"stars":1380,"repoUrl":1381,"updatedAt":1393},"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},[1389,1392],{"name":1390,"slug":1391,"type":13},"CI\u002FCD","ci-cd",{"name":1375,"slug":1376,"type":13},"2026-07-14T05:25:59.97109",{"slug":1395,"name":1395,"fn":1396,"description":1397,"org":1398,"tags":1399,"stars":1380,"repoUrl":1381,"updatedAt":1405},"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},[1400,1401,1402],{"name":1390,"slug":1391,"type":13},{"name":1375,"slug":1376,"type":13},{"name":1403,"slug":1404,"type":13},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1407,"name":1407,"fn":1408,"description":1409,"org":1410,"tags":1411,"stars":1380,"repoUrl":1381,"updatedAt":1417},"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},[1412,1413,1414],{"name":18,"slug":19,"type":13},{"name":1403,"slug":1404,"type":13},{"name":1415,"slug":1416,"type":13},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1419,"name":1419,"fn":1420,"description":1421,"org":1422,"tags":1423,"stars":1380,"repoUrl":1381,"updatedAt":1430},"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},[1424,1427],{"name":1425,"slug":1426,"type":13},"Best Practices","best-practices",{"name":1428,"slug":1429,"type":13},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1432,"name":1432,"fn":1433,"description":1434,"org":1435,"tags":1436,"stars":1380,"repoUrl":1381,"updatedAt":1444},"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},[1437,1440,1443],{"name":1438,"slug":1439,"type":13},"Machine Learning","machine-learning",{"name":1441,"slug":1442,"type":13},"Migration","migration",{"name":9,"slug":8,"type":13},"2026-07-17T06:07:11.777011",{"slug":1446,"name":1446,"fn":1447,"description":1448,"org":1449,"tags":1450,"stars":1380,"repoUrl":1381,"updatedAt":1457},"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},[1451,1454],{"name":1452,"slug":1453,"type":13},"QA","qa",{"name":1455,"slug":1456,"type":13},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1459,"name":1459,"fn":1460,"description":1461,"org":1462,"tags":1463,"stars":1380,"repoUrl":1381,"updatedAt":1468},"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},[1464,1465],{"name":1375,"slug":1376,"type":13},{"name":1466,"slug":1467,"type":13},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1470,"name":1470,"fn":1471,"description":1472,"org":1473,"tags":1474,"stars":1380,"repoUrl":1381,"updatedAt":1482},"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},[1475,1478,1479],{"name":1476,"slug":1477,"type":13},"Code Review","code-review",{"name":1403,"slug":1404,"type":13},{"name":1480,"slug":1481,"type":13},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1484,"name":1484,"fn":1485,"description":1486,"org":1487,"tags":1488,"stars":1380,"repoUrl":1381,"updatedAt":1491},"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},[1489,1490],{"name":1452,"slug":1453,"type":13},{"name":1455,"slug":1456,"type":13},"2026-07-14T05:25:54.928983",{"slug":1493,"name":1493,"fn":1494,"description":1495,"org":1496,"tags":1497,"stars":1380,"repoUrl":1381,"updatedAt":1502},"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},[1498,1501],{"name":1499,"slug":1500,"type":13},"Automation","automation",{"name":1390,"slug":1391,"type":13},"2026-07-30T05:29:03.275638",496,{"items":1505,"total":1585},[1506,1516,1529,1539,1552,1563,1574],{"slug":1507,"name":1507,"fn":1508,"description":1509,"org":1510,"tags":1511,"stars":20,"repoUrl":21,"updatedAt":1515},"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},[1512,1513,1514],{"name":1354,"slug":1355,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:08.047242",{"slug":1517,"name":1517,"fn":1518,"description":1519,"org":1520,"tags":1521,"stars":20,"repoUrl":21,"updatedAt":1528},"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},[1522,1523,1526,1527],{"name":1354,"slug":1355,"type":13},{"name":1524,"slug":1525,"type":13},"Engineering","engineering",{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:23.330216",{"slug":1530,"name":1530,"fn":1531,"description":1532,"org":1533,"tags":1534,"stars":20,"repoUrl":21,"updatedAt":1538},"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},[1535,1536,1537],{"name":1524,"slug":1525,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-07-14T05:34:02.999518",{"slug":1540,"name":1540,"fn":1541,"description":1542,"org":1543,"tags":1544,"stars":20,"repoUrl":21,"updatedAt":1551},"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},[1545,1546,1547,1548],{"name":1354,"slug":1355,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1549,"slug":1550,"type":13},"Validation","validation","2026-07-14T05:34:00.482781",{"slug":1553,"name":1553,"fn":1554,"description":1555,"org":1556,"tags":1557,"stars":20,"repoUrl":21,"updatedAt":1562},"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},[1558,1559,1560,1561],{"name":1354,"slug":1355,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1549,"slug":1550,"type":13},"2026-07-14T05:34:11.881936",{"slug":1564,"name":1564,"fn":1565,"description":1566,"org":1567,"tags":1568,"stars":20,"repoUrl":21,"updatedAt":1573},"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},[1569,1570,1571,1572],{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1455,"slug":1456,"type":13},{"name":1549,"slug":1550,"type":13},"2026-07-14T05:34:09.295859",{"slug":1575,"name":1575,"fn":1576,"description":1577,"org":1578,"tags":1579,"stars":20,"repoUrl":21,"updatedAt":1584},"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},[1580,1581,1582,1583],{"name":1524,"slug":1525,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"name":1549,"slug":1550,"type":13},"2026-07-14T05:34:14.407249",26]