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