[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-k8s-launch-kit-deploy":3,"mdc--93bx52-key":34,"related-org-nvidia-k8s-launch-kit-deploy":1303,"related-repo-nvidia-k8s-launch-kit-deploy":1462},{"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},"k8s-launch-kit-deploy","deploy NVIDIA networking manifests to Kubernetes","Use this skill when the user wants to deploy generated NVIDIA networking manifests to a Kubernetes cluster using k8s-launch-kit (l8k). Activate for: applying manifests, deploying to cluster, the `l8k deploy` subcommand or the legacy --deploy flag on `l8k generate`, applying generated files, or any mention of pushing l8k output to a live cluster. Even if the user just says 'apply these' or 'push to cluster' after generating manifests, use this skill.",{"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,19,20],{"name":13,"slug":14,"type":15},"Networking","networking","tag",{"name":17,"slug":18,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Kubernetes","kubernetes",14,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fk8s-launch-kit","2026-07-14T05:31:50.114923",null,4,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"K8s Launch Kit (l8k) is a CLI tool for deploying and managing NVIDIA cloud-native solutions on Kubernetes. The tool helps provide flexible deployment workflows for optimal network performance with SR-IOV, RDMA, and other networking technologies.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fk8s-launch-kit\u002Ftree\u002FHEAD\u002Fskills\u002Fk8s-launch-kit-deploy","---\nname: k8s-launch-kit-deploy\nversion: 1.3.0\ndescription: \"Use this skill when the user wants to deploy generated NVIDIA networking manifests to a Kubernetes cluster using k8s-launch-kit (l8k). Activate for: applying manifests, deploying to cluster, the `l8k deploy` subcommand or the legacy --deploy flag on `l8k generate`, applying generated files, or any mention of pushing l8k output to a live cluster. Even if the user just says 'apply these' or 'push to cluster' after generating manifests, use this skill.\"\nmetadata:\n  requires:\n    skills: [\"k8s-launch-kit-shared\"]\n---\n\n# l8k: Deploy\n\n> **PREREQUISITE:** Read `..\u002Fk8s-launch-kit-shared\u002FSKILL.md` for install paths, global flags, and output modes.\n\nApply previously generated NVIDIA networking manifests to a Kubernetes cluster.\n\n## Usage\n\nThe standalone subcommand (preferred):\n\n```bash\nl8k deploy [--deployment-files \u003CDIR>] [--kubeconfig \u003CPATH>] [--dry-run]\n```\n\n`l8k deploy` reads YAML files from `--deployment-files` (default `.\u002Fdeployment`) and applies them in dependency order. It auto-prefers `\u003CDIR>\u002Fnetwork-operator\u002F` (the layout `l8k generate` produces) and falls back to `\u003CDIR>` itself.\n\nWhen the deployment directory contains a `values.yaml` (the `l8k generate` profile renderer emits one per profile), Phase 0 runs first: the Helm Go SDK installs (or upgrades, with `--overwrite-existing`) the `nvidia\u002Fnetwork-operator` chart in the namespace from `networkOperator.namespace`. The chart version and Helm repo URL come from the embedded release catalog selected via `--network-operator-release`. Phase 0 is skipped silently when `values.yaml` is absent — backward compatible with users managing the chart out of band.\n\nNetwork Operator 26.1+ requestor mode is a Helm-level change: the generated\nvalues add Network Operator Deployment environment variables and enable the\nSR-IOV external drainer where applicable. Applying only the generated CRs\ncannot enable requestor mode. When upgrading an existing release whose values\ndiffer, pass `--overwrite-existing`; otherwise l8k intentionally stops at the\nvalues conflict.\n\nThe legacy one-shot form (still supported, useful when you want to generate and apply in a single step):\n\n```bash\nl8k generate --user-config \u003CCONFIG> --fabric \u003CFABRIC> --deployment-type \u003CTYPE> --deploy [--kubeconfig \u003CPATH>]\n```\n\n## Flags\n\n| Flag | Required | Description |\n|------|----------|-------------|\n| `--deployment-files` | — | Directory with manifests to apply (default `.\u002Fdeployment`) |\n| `--kubeconfig` | — | Path to kubeconfig with cluster-admin access (falls back to `$KUBECONFIG`) |\n| `--dry-run` | — | Server-side dry-run (`client.DryRunAll`) — cluster validates without persisting |\n| `--overwrite-existing` | — | When a `network-operator` helm release already exists with values that differ from the freshly rendered `values.yaml`, promote Phase 0 to `helm upgrade --install`. Off by default to avoid clobbering an out-of-band install. |\n\n## Examples\n\n```bash\n# Apply manifests from .\u002Fdeployment to the cluster reachable via $KUBECONFIG\nl8k deploy\n\n# Apply from a specific directory with explicit kubeconfig\nl8k deploy --deployment-files \u002Ftmp\u002Fmy-output --kubeconfig ~\u002F.kube\u002Fconfig\n\n# Server-side dry-run before a production apply\nl8k deploy --dry-run\n\n# Apply newly generated requestor-mode values to an existing release\nl8k deploy --deployment-files .\u002Foutput --kubeconfig ~\u002F.kube\u002Fconfig \\\n  --overwrite-existing\n\n# Agent mode\nl8k deploy --output json --yes 2>\u002Fdev\u002Fnull\n\n# Legacy single-shot: generate + deploy in one invocation\nl8k generate --user-config cluster-config.yaml \\\n  --fabric ethernet --deployment-type sriov \\\n  --save-deployment-files .\u002Foutput \\\n  --deploy --kubeconfig ~\u002F.kube\u002Fconfig\n```\n\n## Resource Apply Order\n\nl8k applies resources in dependency order:\n\n1. **NicClusterPolicy** (cluster-wide: Multus, CNI, NV-IPAM, operators) — wait for ready before continuing\n2. **NicNodePolicy** per group (OFED driver, device plugins) — wait for each\n3. Network resources (SriovNetwork \u002F HostDeviceNetwork \u002F MacvlanNetwork \u002F IPoIBNetwork)\n4. **IPPool** (NV-IPAM address allocation)\n5. **NicInterfaceNameTemplate** (when needed)\n6. Example workload DaemonSets (optional)\n\n## Post-Deploy Verification\n\n```bash\nkubectl get nicclusterpolicy -o yaml          # Check policy state\nkubectl get nicnodepolicy                     # Per-group state\nkubectl get pods -n \u003Coperator-ns>             # Verify all pods Running\nkubectl get sriovnetworknodestates -A         # Check SR-IOV VF allocation\nkubectl get maintenanceoperatorconfigs -A -o yaml # Check global concurrency\nkubectl get nodemaintenances -A                # Check active requests\n```\n\nFor SR-IOV on release 26.1+, verify that the generated Helm values contain both\n`operator.maintenanceOperator.useDrainControllerRequestor: true` and\n`sriov-network-operator.operator.externalDrainer.enabled: true`. For OFED,\nverify `operator.maintenanceOperator.useRequestor: true`. Do not try to enable\nthese by applying `MaintenanceOperatorConfig` alone.\n\n> [!CAUTION]\n> This is a **write** command — confirm with the user before executing on production clusters.\n\n## See Also\n\n- [k8s-launch-kit-shared](..\u002Fk8s-launch-kit-shared\u002FSKILL.md) — Global flags and exit codes\n- [k8s-launch-kit-dryrun](..\u002Fk8s-launch-kit-dryrun\u002FSKILL.md) — Preview before deploying\n- [k8s-launch-kit-troubleshoot](..\u002Fk8s-launch-kit-troubleshoot\u002FSKILL.md) — Debug deployment failures\n",{"data":35,"body":41},{"name":4,"version":36,"description":6,"metadata":37},"1.3.0",{"requires":38},{"skills":39},[40],"k8s-launch-kit-shared",{"type":42,"children":43},"root",[44,53,78,83,90,95,188,239,298,310,315,434,440,601,607,937,943,948,1003,1009,1198,1235,1255,1261,1297],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"l8k-deploy",[50],{"type":51,"value":52},"text","l8k: Deploy",{"type":45,"tag":54,"props":55,"children":56},"blockquote",{},[57],{"type":45,"tag":58,"props":59,"children":60},"p",{},[61,67,69,76],{"type":45,"tag":62,"props":63,"children":64},"strong",{},[65],{"type":51,"value":66},"PREREQUISITE:",{"type":51,"value":68}," Read ",{"type":45,"tag":70,"props":71,"children":73},"code",{"className":72},[],[74],{"type":51,"value":75},"..\u002Fk8s-launch-kit-shared\u002FSKILL.md",{"type":51,"value":77}," for install paths, global flags, and output modes.",{"type":45,"tag":58,"props":79,"children":80},{},[81],{"type":51,"value":82},"Apply previously generated NVIDIA networking manifests to a Kubernetes cluster.",{"type":45,"tag":84,"props":85,"children":87},"h2",{"id":86},"usage",[88],{"type":51,"value":89},"Usage",{"type":45,"tag":58,"props":91,"children":92},{},[93],{"type":51,"value":94},"The standalone subcommand (preferred):",{"type":45,"tag":96,"props":97,"children":102},"pre",{"className":98,"code":99,"language":100,"meta":101,"style":101},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","l8k deploy [--deployment-files \u003CDIR>] [--kubeconfig \u003CPATH>] [--dry-run]\n","bash","",[103],{"type":45,"tag":70,"props":104,"children":105},{"__ignoreMap":101},[106],{"type":45,"tag":107,"props":108,"children":111},"span",{"class":109,"line":110},"line",1,[112,118,124,130,136,141,146,151,156,161,165,170,175,179,183],{"type":45,"tag":107,"props":113,"children":115},{"style":114},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[116],{"type":51,"value":117},"l8k",{"type":45,"tag":107,"props":119,"children":121},{"style":120},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[122],{"type":51,"value":123}," deploy",{"type":45,"tag":107,"props":125,"children":127},{"style":126},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[128],{"type":51,"value":129}," [--deployment-files ",{"type":45,"tag":107,"props":131,"children":133},{"style":132},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[134],{"type":51,"value":135},"\u003C",{"type":45,"tag":107,"props":137,"children":138},{"style":120},[139],{"type":51,"value":140},"DI",{"type":45,"tag":107,"props":142,"children":143},{"style":126},[144],{"type":51,"value":145},"R",{"type":45,"tag":107,"props":147,"children":148},{"style":132},[149],{"type":51,"value":150},">",{"type":45,"tag":107,"props":152,"children":153},{"style":120},[154],{"type":51,"value":155},"]",{"type":45,"tag":107,"props":157,"children":158},{"style":126},[159],{"type":51,"value":160}," [--kubeconfig ",{"type":45,"tag":107,"props":162,"children":163},{"style":132},[164],{"type":51,"value":135},{"type":45,"tag":107,"props":166,"children":167},{"style":120},[168],{"type":51,"value":169},"PAT",{"type":45,"tag":107,"props":171,"children":172},{"style":126},[173],{"type":51,"value":174},"H",{"type":45,"tag":107,"props":176,"children":177},{"style":132},[178],{"type":51,"value":150},{"type":45,"tag":107,"props":180,"children":181},{"style":120},[182],{"type":51,"value":155},{"type":45,"tag":107,"props":184,"children":185},{"style":126},[186],{"type":51,"value":187}," [--dry-run]\n",{"type":45,"tag":58,"props":189,"children":190},{},[191,197,199,205,207,213,215,221,223,229,231,237],{"type":45,"tag":70,"props":192,"children":194},{"className":193},[],[195],{"type":51,"value":196},"l8k deploy",{"type":51,"value":198}," reads YAML files from ",{"type":45,"tag":70,"props":200,"children":202},{"className":201},[],[203],{"type":51,"value":204},"--deployment-files",{"type":51,"value":206}," (default ",{"type":45,"tag":70,"props":208,"children":210},{"className":209},[],[211],{"type":51,"value":212},".\u002Fdeployment",{"type":51,"value":214},") and applies them in dependency order. It auto-prefers ",{"type":45,"tag":70,"props":216,"children":218},{"className":217},[],[219],{"type":51,"value":220},"\u003CDIR>\u002Fnetwork-operator\u002F",{"type":51,"value":222}," (the layout ",{"type":45,"tag":70,"props":224,"children":226},{"className":225},[],[227],{"type":51,"value":228},"l8k generate",{"type":51,"value":230}," produces) and falls back to ",{"type":45,"tag":70,"props":232,"children":234},{"className":233},[],[235],{"type":51,"value":236},"\u003CDIR>",{"type":51,"value":238}," itself.",{"type":45,"tag":58,"props":240,"children":241},{},[242,244,250,252,257,259,265,267,273,275,281,283,289,291,296],{"type":51,"value":243},"When the deployment directory contains a ",{"type":45,"tag":70,"props":245,"children":247},{"className":246},[],[248],{"type":51,"value":249},"values.yaml",{"type":51,"value":251}," (the ",{"type":45,"tag":70,"props":253,"children":255},{"className":254},[],[256],{"type":51,"value":228},{"type":51,"value":258}," profile renderer emits one per profile), Phase 0 runs first: the Helm Go SDK installs (or upgrades, with ",{"type":45,"tag":70,"props":260,"children":262},{"className":261},[],[263],{"type":51,"value":264},"--overwrite-existing",{"type":51,"value":266},") the ",{"type":45,"tag":70,"props":268,"children":270},{"className":269},[],[271],{"type":51,"value":272},"nvidia\u002Fnetwork-operator",{"type":51,"value":274}," chart in the namespace from ",{"type":45,"tag":70,"props":276,"children":278},{"className":277},[],[279],{"type":51,"value":280},"networkOperator.namespace",{"type":51,"value":282},". The chart version and Helm repo URL come from the embedded release catalog selected via ",{"type":45,"tag":70,"props":284,"children":286},{"className":285},[],[287],{"type":51,"value":288},"--network-operator-release",{"type":51,"value":290},". Phase 0 is skipped silently when ",{"type":45,"tag":70,"props":292,"children":294},{"className":293},[],[295],{"type":51,"value":249},{"type":51,"value":297}," is absent — backward compatible with users managing the chart out of band.",{"type":45,"tag":58,"props":299,"children":300},{},[301,303,308],{"type":51,"value":302},"Network Operator 26.1+ requestor mode is a Helm-level change: the generated\nvalues add Network Operator Deployment environment variables and enable the\nSR-IOV external drainer where applicable. Applying only the generated CRs\ncannot enable requestor mode. When upgrading an existing release whose values\ndiffer, pass ",{"type":45,"tag":70,"props":304,"children":306},{"className":305},[],[307],{"type":51,"value":264},{"type":51,"value":309},"; otherwise l8k intentionally stops at the\nvalues conflict.",{"type":45,"tag":58,"props":311,"children":312},{},[313],{"type":51,"value":314},"The legacy one-shot form (still supported, useful when you want to generate and apply in a single step):",{"type":45,"tag":96,"props":316,"children":318},{"className":98,"code":317,"language":100,"meta":101,"style":101},"l8k generate --user-config \u003CCONFIG> --fabric \u003CFABRIC> --deployment-type \u003CTYPE> --deploy [--kubeconfig \u003CPATH>]\n",[319],{"type":45,"tag":70,"props":320,"children":321},{"__ignoreMap":101},[322],{"type":45,"tag":107,"props":323,"children":324},{"class":109,"line":110},[325,329,334,339,344,349,354,358,363,367,372,377,381,386,390,395,400,404,409,413,417,421,425,429],{"type":45,"tag":107,"props":326,"children":327},{"style":114},[328],{"type":51,"value":117},{"type":45,"tag":107,"props":330,"children":331},{"style":120},[332],{"type":51,"value":333}," generate",{"type":45,"tag":107,"props":335,"children":336},{"style":120},[337],{"type":51,"value":338}," --user-config",{"type":45,"tag":107,"props":340,"children":341},{"style":132},[342],{"type":51,"value":343}," \u003C",{"type":45,"tag":107,"props":345,"children":346},{"style":120},[347],{"type":51,"value":348},"CONFI",{"type":45,"tag":107,"props":350,"children":351},{"style":126},[352],{"type":51,"value":353},"G",{"type":45,"tag":107,"props":355,"children":356},{"style":132},[357],{"type":51,"value":150},{"type":45,"tag":107,"props":359,"children":360},{"style":120},[361],{"type":51,"value":362}," --fabric",{"type":45,"tag":107,"props":364,"children":365},{"style":132},[366],{"type":51,"value":343},{"type":45,"tag":107,"props":368,"children":369},{"style":120},[370],{"type":51,"value":371},"FABRI",{"type":45,"tag":107,"props":373,"children":374},{"style":126},[375],{"type":51,"value":376},"C",{"type":45,"tag":107,"props":378,"children":379},{"style":132},[380],{"type":51,"value":150},{"type":45,"tag":107,"props":382,"children":383},{"style":120},[384],{"type":51,"value":385}," --deployment-type",{"type":45,"tag":107,"props":387,"children":388},{"style":132},[389],{"type":51,"value":343},{"type":45,"tag":107,"props":391,"children":392},{"style":120},[393],{"type":51,"value":394},"TYP",{"type":45,"tag":107,"props":396,"children":397},{"style":126},[398],{"type":51,"value":399},"E",{"type":45,"tag":107,"props":401,"children":402},{"style":132},[403],{"type":51,"value":150},{"type":45,"tag":107,"props":405,"children":406},{"style":120},[407],{"type":51,"value":408}," --deploy",{"type":45,"tag":107,"props":410,"children":411},{"style":126},[412],{"type":51,"value":160},{"type":45,"tag":107,"props":414,"children":415},{"style":132},[416],{"type":51,"value":135},{"type":45,"tag":107,"props":418,"children":419},{"style":120},[420],{"type":51,"value":169},{"type":45,"tag":107,"props":422,"children":423},{"style":126},[424],{"type":51,"value":174},{"type":45,"tag":107,"props":426,"children":427},{"style":132},[428],{"type":51,"value":150},{"type":45,"tag":107,"props":430,"children":431},{"style":120},[432],{"type":51,"value":433},"]\n",{"type":45,"tag":84,"props":435,"children":437},{"id":436},"flags",[438],{"type":51,"value":439},"Flags",{"type":45,"tag":441,"props":442,"children":443},"table",{},[444,468],{"type":45,"tag":445,"props":446,"children":447},"thead",{},[448],{"type":45,"tag":449,"props":450,"children":451},"tr",{},[452,458,463],{"type":45,"tag":453,"props":454,"children":455},"th",{},[456],{"type":51,"value":457},"Flag",{"type":45,"tag":453,"props":459,"children":460},{},[461],{"type":51,"value":462},"Required",{"type":45,"tag":453,"props":464,"children":465},{},[466],{"type":51,"value":467},"Description",{"type":45,"tag":469,"props":470,"children":471},"tbody",{},[472,501,529,558],{"type":45,"tag":449,"props":473,"children":474},{},[475,484,489],{"type":45,"tag":476,"props":477,"children":478},"td",{},[479],{"type":45,"tag":70,"props":480,"children":482},{"className":481},[],[483],{"type":51,"value":204},{"type":45,"tag":476,"props":485,"children":486},{},[487],{"type":51,"value":488},"—",{"type":45,"tag":476,"props":490,"children":491},{},[492,494,499],{"type":51,"value":493},"Directory with manifests to apply (default ",{"type":45,"tag":70,"props":495,"children":497},{"className":496},[],[498],{"type":51,"value":212},{"type":51,"value":500},")",{"type":45,"tag":449,"props":502,"children":503},{},[504,513,517],{"type":45,"tag":476,"props":505,"children":506},{},[507],{"type":45,"tag":70,"props":508,"children":510},{"className":509},[],[511],{"type":51,"value":512},"--kubeconfig",{"type":45,"tag":476,"props":514,"children":515},{},[516],{"type":51,"value":488},{"type":45,"tag":476,"props":518,"children":519},{},[520,522,528],{"type":51,"value":521},"Path to kubeconfig with cluster-admin access (falls back to ",{"type":45,"tag":70,"props":523,"children":525},{"className":524},[],[526],{"type":51,"value":527},"$KUBECONFIG",{"type":51,"value":500},{"type":45,"tag":449,"props":530,"children":531},{},[532,541,545],{"type":45,"tag":476,"props":533,"children":534},{},[535],{"type":45,"tag":70,"props":536,"children":538},{"className":537},[],[539],{"type":51,"value":540},"--dry-run",{"type":45,"tag":476,"props":542,"children":543},{},[544],{"type":51,"value":488},{"type":45,"tag":476,"props":546,"children":547},{},[548,550,556],{"type":51,"value":549},"Server-side dry-run (",{"type":45,"tag":70,"props":551,"children":553},{"className":552},[],[554],{"type":51,"value":555},"client.DryRunAll",{"type":51,"value":557},") — cluster validates without persisting",{"type":45,"tag":449,"props":559,"children":560},{},[561,569,573],{"type":45,"tag":476,"props":562,"children":563},{},[564],{"type":45,"tag":70,"props":565,"children":567},{"className":566},[],[568],{"type":51,"value":264},{"type":45,"tag":476,"props":570,"children":571},{},[572],{"type":51,"value":488},{"type":45,"tag":476,"props":574,"children":575},{},[576,578,584,586,591,593,599],{"type":51,"value":577},"When a ",{"type":45,"tag":70,"props":579,"children":581},{"className":580},[],[582],{"type":51,"value":583},"network-operator",{"type":51,"value":585}," helm release already exists with values that differ from the freshly rendered ",{"type":45,"tag":70,"props":587,"children":589},{"className":588},[],[590],{"type":51,"value":249},{"type":51,"value":592},", promote Phase 0 to ",{"type":45,"tag":70,"props":594,"children":596},{"className":595},[],[597],{"type":51,"value":598},"helm upgrade --install",{"type":51,"value":600},". Off by default to avoid clobbering an out-of-band install.",{"type":45,"tag":84,"props":602,"children":604},{"id":603},"examples",[605],{"type":51,"value":606},"Examples",{"type":45,"tag":96,"props":608,"children":610},{"className":98,"code":609,"language":100,"meta":101,"style":101},"# Apply manifests from .\u002Fdeployment to the cluster reachable via $KUBECONFIG\nl8k deploy\n\n# Apply from a specific directory with explicit kubeconfig\nl8k deploy --deployment-files \u002Ftmp\u002Fmy-output --kubeconfig ~\u002F.kube\u002Fconfig\n\n# Server-side dry-run before a production apply\nl8k deploy --dry-run\n\n# Apply newly generated requestor-mode values to an existing release\nl8k deploy --deployment-files .\u002Foutput --kubeconfig ~\u002F.kube\u002Fconfig \\\n  --overwrite-existing\n\n# Agent mode\nl8k deploy --output json --yes 2>\u002Fdev\u002Fnull\n\n# Legacy single-shot: generate + deploy in one invocation\nl8k generate --user-config cluster-config.yaml \\\n  --fabric ethernet --deployment-type sriov \\\n  --save-deployment-files .\u002Foutput \\\n  --deploy --kubeconfig ~\u002F.kube\u002Fconfig\n",[611],{"type":45,"tag":70,"props":612,"children":613},{"__ignoreMap":101},[614,623,636,646,654,686,694,703,720,728,737,772,781,789,797,834,842,851,876,903,920],{"type":45,"tag":107,"props":615,"children":616},{"class":109,"line":110},[617],{"type":45,"tag":107,"props":618,"children":620},{"style":619},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[621],{"type":51,"value":622},"# Apply manifests from .\u002Fdeployment to the cluster reachable via $KUBECONFIG\n",{"type":45,"tag":107,"props":624,"children":626},{"class":109,"line":625},2,[627,631],{"type":45,"tag":107,"props":628,"children":629},{"style":114},[630],{"type":51,"value":117},{"type":45,"tag":107,"props":632,"children":633},{"style":120},[634],{"type":51,"value":635}," deploy\n",{"type":45,"tag":107,"props":637,"children":639},{"class":109,"line":638},3,[640],{"type":45,"tag":107,"props":641,"children":643},{"emptyLinePlaceholder":642},true,[644],{"type":51,"value":645},"\n",{"type":45,"tag":107,"props":647,"children":648},{"class":109,"line":27},[649],{"type":45,"tag":107,"props":650,"children":651},{"style":619},[652],{"type":51,"value":653},"# Apply from a specific directory with explicit kubeconfig\n",{"type":45,"tag":107,"props":655,"children":657},{"class":109,"line":656},5,[658,662,666,671,676,681],{"type":45,"tag":107,"props":659,"children":660},{"style":114},[661],{"type":51,"value":117},{"type":45,"tag":107,"props":663,"children":664},{"style":120},[665],{"type":51,"value":123},{"type":45,"tag":107,"props":667,"children":668},{"style":120},[669],{"type":51,"value":670}," --deployment-files",{"type":45,"tag":107,"props":672,"children":673},{"style":120},[674],{"type":51,"value":675}," \u002Ftmp\u002Fmy-output",{"type":45,"tag":107,"props":677,"children":678},{"style":120},[679],{"type":51,"value":680}," --kubeconfig",{"type":45,"tag":107,"props":682,"children":683},{"style":120},[684],{"type":51,"value":685}," ~\u002F.kube\u002Fconfig\n",{"type":45,"tag":107,"props":687,"children":689},{"class":109,"line":688},6,[690],{"type":45,"tag":107,"props":691,"children":692},{"emptyLinePlaceholder":642},[693],{"type":51,"value":645},{"type":45,"tag":107,"props":695,"children":697},{"class":109,"line":696},7,[698],{"type":45,"tag":107,"props":699,"children":700},{"style":619},[701],{"type":51,"value":702},"# Server-side dry-run before a production apply\n",{"type":45,"tag":107,"props":704,"children":706},{"class":109,"line":705},8,[707,711,715],{"type":45,"tag":107,"props":708,"children":709},{"style":114},[710],{"type":51,"value":117},{"type":45,"tag":107,"props":712,"children":713},{"style":120},[714],{"type":51,"value":123},{"type":45,"tag":107,"props":716,"children":717},{"style":120},[718],{"type":51,"value":719}," --dry-run\n",{"type":45,"tag":107,"props":721,"children":723},{"class":109,"line":722},9,[724],{"type":45,"tag":107,"props":725,"children":726},{"emptyLinePlaceholder":642},[727],{"type":51,"value":645},{"type":45,"tag":107,"props":729,"children":731},{"class":109,"line":730},10,[732],{"type":45,"tag":107,"props":733,"children":734},{"style":619},[735],{"type":51,"value":736},"# Apply newly generated requestor-mode values to an existing release\n",{"type":45,"tag":107,"props":738,"children":740},{"class":109,"line":739},11,[741,745,749,753,758,762,767],{"type":45,"tag":107,"props":742,"children":743},{"style":114},[744],{"type":51,"value":117},{"type":45,"tag":107,"props":746,"children":747},{"style":120},[748],{"type":51,"value":123},{"type":45,"tag":107,"props":750,"children":751},{"style":120},[752],{"type":51,"value":670},{"type":45,"tag":107,"props":754,"children":755},{"style":120},[756],{"type":51,"value":757}," .\u002Foutput",{"type":45,"tag":107,"props":759,"children":760},{"style":120},[761],{"type":51,"value":680},{"type":45,"tag":107,"props":763,"children":764},{"style":120},[765],{"type":51,"value":766}," ~\u002F.kube\u002Fconfig",{"type":45,"tag":107,"props":768,"children":769},{"style":126},[770],{"type":51,"value":771}," \\\n",{"type":45,"tag":107,"props":773,"children":775},{"class":109,"line":774},12,[776],{"type":45,"tag":107,"props":777,"children":778},{"style":120},[779],{"type":51,"value":780},"  --overwrite-existing\n",{"type":45,"tag":107,"props":782,"children":784},{"class":109,"line":783},13,[785],{"type":45,"tag":107,"props":786,"children":787},{"emptyLinePlaceholder":642},[788],{"type":51,"value":645},{"type":45,"tag":107,"props":790,"children":791},{"class":109,"line":23},[792],{"type":45,"tag":107,"props":793,"children":794},{"style":619},[795],{"type":51,"value":796},"# Agent mode\n",{"type":45,"tag":107,"props":798,"children":800},{"class":109,"line":799},15,[801,805,809,814,819,824,829],{"type":45,"tag":107,"props":802,"children":803},{"style":114},[804],{"type":51,"value":117},{"type":45,"tag":107,"props":806,"children":807},{"style":120},[808],{"type":51,"value":123},{"type":45,"tag":107,"props":810,"children":811},{"style":120},[812],{"type":51,"value":813}," --output",{"type":45,"tag":107,"props":815,"children":816},{"style":120},[817],{"type":51,"value":818}," json",{"type":45,"tag":107,"props":820,"children":821},{"style":120},[822],{"type":51,"value":823}," --yes",{"type":45,"tag":107,"props":825,"children":826},{"style":132},[827],{"type":51,"value":828}," 2>",{"type":45,"tag":107,"props":830,"children":831},{"style":120},[832],{"type":51,"value":833},"\u002Fdev\u002Fnull\n",{"type":45,"tag":107,"props":835,"children":837},{"class":109,"line":836},16,[838],{"type":45,"tag":107,"props":839,"children":840},{"emptyLinePlaceholder":642},[841],{"type":51,"value":645},{"type":45,"tag":107,"props":843,"children":845},{"class":109,"line":844},17,[846],{"type":45,"tag":107,"props":847,"children":848},{"style":619},[849],{"type":51,"value":850},"# Legacy single-shot: generate + deploy in one invocation\n",{"type":45,"tag":107,"props":852,"children":854},{"class":109,"line":853},18,[855,859,863,867,872],{"type":45,"tag":107,"props":856,"children":857},{"style":114},[858],{"type":51,"value":117},{"type":45,"tag":107,"props":860,"children":861},{"style":120},[862],{"type":51,"value":333},{"type":45,"tag":107,"props":864,"children":865},{"style":120},[866],{"type":51,"value":338},{"type":45,"tag":107,"props":868,"children":869},{"style":120},[870],{"type":51,"value":871}," cluster-config.yaml",{"type":45,"tag":107,"props":873,"children":874},{"style":126},[875],{"type":51,"value":771},{"type":45,"tag":107,"props":877,"children":879},{"class":109,"line":878},19,[880,885,890,894,899],{"type":45,"tag":107,"props":881,"children":882},{"style":120},[883],{"type":51,"value":884},"  --fabric",{"type":45,"tag":107,"props":886,"children":887},{"style":120},[888],{"type":51,"value":889}," ethernet",{"type":45,"tag":107,"props":891,"children":892},{"style":120},[893],{"type":51,"value":385},{"type":45,"tag":107,"props":895,"children":896},{"style":120},[897],{"type":51,"value":898}," sriov",{"type":45,"tag":107,"props":900,"children":901},{"style":126},[902],{"type":51,"value":771},{"type":45,"tag":107,"props":904,"children":906},{"class":109,"line":905},20,[907,912,916],{"type":45,"tag":107,"props":908,"children":909},{"style":120},[910],{"type":51,"value":911},"  --save-deployment-files",{"type":45,"tag":107,"props":913,"children":914},{"style":120},[915],{"type":51,"value":757},{"type":45,"tag":107,"props":917,"children":918},{"style":126},[919],{"type":51,"value":771},{"type":45,"tag":107,"props":921,"children":923},{"class":109,"line":922},21,[924,929,933],{"type":45,"tag":107,"props":925,"children":926},{"style":120},[927],{"type":51,"value":928},"  --deploy",{"type":45,"tag":107,"props":930,"children":931},{"style":120},[932],{"type":51,"value":680},{"type":45,"tag":107,"props":934,"children":935},{"style":120},[936],{"type":51,"value":685},{"type":45,"tag":84,"props":938,"children":940},{"id":939},"resource-apply-order",[941],{"type":51,"value":942},"Resource Apply Order",{"type":45,"tag":58,"props":944,"children":945},{},[946],{"type":51,"value":947},"l8k applies resources in dependency order:",{"type":45,"tag":949,"props":950,"children":951},"ol",{},[952,963,973,978,988,998],{"type":45,"tag":953,"props":954,"children":955},"li",{},[956,961],{"type":45,"tag":62,"props":957,"children":958},{},[959],{"type":51,"value":960},"NicClusterPolicy",{"type":51,"value":962}," (cluster-wide: Multus, CNI, NV-IPAM, operators) — wait for ready before continuing",{"type":45,"tag":953,"props":964,"children":965},{},[966,971],{"type":45,"tag":62,"props":967,"children":968},{},[969],{"type":51,"value":970},"NicNodePolicy",{"type":51,"value":972}," per group (OFED driver, device plugins) — wait for each",{"type":45,"tag":953,"props":974,"children":975},{},[976],{"type":51,"value":977},"Network resources (SriovNetwork \u002F HostDeviceNetwork \u002F MacvlanNetwork \u002F IPoIBNetwork)",{"type":45,"tag":953,"props":979,"children":980},{},[981,986],{"type":45,"tag":62,"props":982,"children":983},{},[984],{"type":51,"value":985},"IPPool",{"type":51,"value":987}," (NV-IPAM address allocation)",{"type":45,"tag":953,"props":989,"children":990},{},[991,996],{"type":45,"tag":62,"props":992,"children":993},{},[994],{"type":51,"value":995},"NicInterfaceNameTemplate",{"type":51,"value":997}," (when needed)",{"type":45,"tag":953,"props":999,"children":1000},{},[1001],{"type":51,"value":1002},"Example workload DaemonSets (optional)",{"type":45,"tag":84,"props":1004,"children":1006},{"id":1005},"post-deploy-verification",[1007],{"type":51,"value":1008},"Post-Deploy Verification",{"type":45,"tag":96,"props":1010,"children":1012},{"className":98,"code":1011,"language":100,"meta":101,"style":101},"kubectl get nicclusterpolicy -o yaml          # Check policy state\nkubectl get nicnodepolicy                     # Per-group state\nkubectl get pods -n \u003Coperator-ns>             # Verify all pods Running\nkubectl get sriovnetworknodestates -A         # Check SR-IOV VF allocation\nkubectl get maintenanceoperatorconfigs -A -o yaml # Check global concurrency\nkubectl get nodemaintenances -A                # Check active requests\n",[1013],{"type":45,"tag":70,"props":1014,"children":1015},{"__ignoreMap":101},[1016,1049,1070,1114,1140,1173],{"type":45,"tag":107,"props":1017,"children":1018},{"class":109,"line":110},[1019,1024,1029,1034,1039,1044],{"type":45,"tag":107,"props":1020,"children":1021},{"style":114},[1022],{"type":51,"value":1023},"kubectl",{"type":45,"tag":107,"props":1025,"children":1026},{"style":120},[1027],{"type":51,"value":1028}," get",{"type":45,"tag":107,"props":1030,"children":1031},{"style":120},[1032],{"type":51,"value":1033}," nicclusterpolicy",{"type":45,"tag":107,"props":1035,"children":1036},{"style":120},[1037],{"type":51,"value":1038}," -o",{"type":45,"tag":107,"props":1040,"children":1041},{"style":120},[1042],{"type":51,"value":1043}," yaml",{"type":45,"tag":107,"props":1045,"children":1046},{"style":619},[1047],{"type":51,"value":1048},"          # Check policy state\n",{"type":45,"tag":107,"props":1050,"children":1051},{"class":109,"line":625},[1052,1056,1060,1065],{"type":45,"tag":107,"props":1053,"children":1054},{"style":114},[1055],{"type":51,"value":1023},{"type":45,"tag":107,"props":1057,"children":1058},{"style":120},[1059],{"type":51,"value":1028},{"type":45,"tag":107,"props":1061,"children":1062},{"style":120},[1063],{"type":51,"value":1064}," nicnodepolicy",{"type":45,"tag":107,"props":1066,"children":1067},{"style":619},[1068],{"type":51,"value":1069},"                     # Per-group state\n",{"type":45,"tag":107,"props":1071,"children":1072},{"class":109,"line":638},[1073,1077,1081,1086,1091,1095,1100,1105,1109],{"type":45,"tag":107,"props":1074,"children":1075},{"style":114},[1076],{"type":51,"value":1023},{"type":45,"tag":107,"props":1078,"children":1079},{"style":120},[1080],{"type":51,"value":1028},{"type":45,"tag":107,"props":1082,"children":1083},{"style":120},[1084],{"type":51,"value":1085}," pods",{"type":45,"tag":107,"props":1087,"children":1088},{"style":120},[1089],{"type":51,"value":1090}," -n",{"type":45,"tag":107,"props":1092,"children":1093},{"style":132},[1094],{"type":51,"value":343},{"type":45,"tag":107,"props":1096,"children":1097},{"style":120},[1098],{"type":51,"value":1099},"operator-n",{"type":45,"tag":107,"props":1101,"children":1102},{"style":126},[1103],{"type":51,"value":1104},"s",{"type":45,"tag":107,"props":1106,"children":1107},{"style":132},[1108],{"type":51,"value":150},{"type":45,"tag":107,"props":1110,"children":1111},{"style":619},[1112],{"type":51,"value":1113},"             # Verify all pods Running\n",{"type":45,"tag":107,"props":1115,"children":1116},{"class":109,"line":27},[1117,1121,1125,1130,1135],{"type":45,"tag":107,"props":1118,"children":1119},{"style":114},[1120],{"type":51,"value":1023},{"type":45,"tag":107,"props":1122,"children":1123},{"style":120},[1124],{"type":51,"value":1028},{"type":45,"tag":107,"props":1126,"children":1127},{"style":120},[1128],{"type":51,"value":1129}," sriovnetworknodestates",{"type":45,"tag":107,"props":1131,"children":1132},{"style":120},[1133],{"type":51,"value":1134}," -A",{"type":45,"tag":107,"props":1136,"children":1137},{"style":619},[1138],{"type":51,"value":1139},"         # Check SR-IOV VF allocation\n",{"type":45,"tag":107,"props":1141,"children":1142},{"class":109,"line":656},[1143,1147,1151,1156,1160,1164,1168],{"type":45,"tag":107,"props":1144,"children":1145},{"style":114},[1146],{"type":51,"value":1023},{"type":45,"tag":107,"props":1148,"children":1149},{"style":120},[1150],{"type":51,"value":1028},{"type":45,"tag":107,"props":1152,"children":1153},{"style":120},[1154],{"type":51,"value":1155}," maintenanceoperatorconfigs",{"type":45,"tag":107,"props":1157,"children":1158},{"style":120},[1159],{"type":51,"value":1134},{"type":45,"tag":107,"props":1161,"children":1162},{"style":120},[1163],{"type":51,"value":1038},{"type":45,"tag":107,"props":1165,"children":1166},{"style":120},[1167],{"type":51,"value":1043},{"type":45,"tag":107,"props":1169,"children":1170},{"style":619},[1171],{"type":51,"value":1172}," # Check global concurrency\n",{"type":45,"tag":107,"props":1174,"children":1175},{"class":109,"line":688},[1176,1180,1184,1189,1193],{"type":45,"tag":107,"props":1177,"children":1178},{"style":114},[1179],{"type":51,"value":1023},{"type":45,"tag":107,"props":1181,"children":1182},{"style":120},[1183],{"type":51,"value":1028},{"type":45,"tag":107,"props":1185,"children":1186},{"style":120},[1187],{"type":51,"value":1188}," nodemaintenances",{"type":45,"tag":107,"props":1190,"children":1191},{"style":120},[1192],{"type":51,"value":1134},{"type":45,"tag":107,"props":1194,"children":1195},{"style":619},[1196],{"type":51,"value":1197},"                # Check active requests\n",{"type":45,"tag":58,"props":1199,"children":1200},{},[1201,1203,1209,1211,1217,1219,1225,1227,1233],{"type":51,"value":1202},"For SR-IOV on release 26.1+, verify that the generated Helm values contain both\n",{"type":45,"tag":70,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":51,"value":1208},"operator.maintenanceOperator.useDrainControllerRequestor: true",{"type":51,"value":1210}," and\n",{"type":45,"tag":70,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":51,"value":1216},"sriov-network-operator.operator.externalDrainer.enabled: true",{"type":51,"value":1218},". For OFED,\nverify ",{"type":45,"tag":70,"props":1220,"children":1222},{"className":1221},[],[1223],{"type":51,"value":1224},"operator.maintenanceOperator.useRequestor: true",{"type":51,"value":1226},". Do not try to enable\nthese by applying ",{"type":45,"tag":70,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":51,"value":1232},"MaintenanceOperatorConfig",{"type":51,"value":1234}," alone.",{"type":45,"tag":54,"props":1236,"children":1237},{},[1238],{"type":45,"tag":58,"props":1239,"children":1240},{},[1241,1246,1248,1253],{"type":45,"tag":107,"props":1242,"children":1243},{},[1244],{"type":51,"value":1245},"!CAUTION",{"type":51,"value":1247},"\nThis is a ",{"type":45,"tag":62,"props":1249,"children":1250},{},[1251],{"type":51,"value":1252},"write",{"type":51,"value":1254}," command — confirm with the user before executing on production clusters.",{"type":45,"tag":84,"props":1256,"children":1258},{"id":1257},"see-also",[1259],{"type":51,"value":1260},"See Also",{"type":45,"tag":1262,"props":1263,"children":1264},"ul",{},[1265,1275,1286],{"type":45,"tag":953,"props":1266,"children":1267},{},[1268,1273],{"type":45,"tag":1269,"props":1270,"children":1271},"a",{"href":75},[1272],{"type":51,"value":40},{"type":51,"value":1274}," — Global flags and exit codes",{"type":45,"tag":953,"props":1276,"children":1277},{},[1278,1284],{"type":45,"tag":1269,"props":1279,"children":1281},{"href":1280},"..\u002Fk8s-launch-kit-dryrun\u002FSKILL.md",[1282],{"type":51,"value":1283},"k8s-launch-kit-dryrun",{"type":51,"value":1285}," — Preview before deploying",{"type":45,"tag":953,"props":1287,"children":1288},{},[1289,1295],{"type":45,"tag":1269,"props":1290,"children":1292},{"href":1291},"..\u002Fk8s-launch-kit-troubleshoot\u002FSKILL.md",[1293],{"type":51,"value":1294},"k8s-launch-kit-troubleshoot",{"type":51,"value":1296}," — Debug deployment failures",{"type":45,"tag":1298,"props":1299,"children":1300},"style",{},[1301],{"type":51,"value":1302},"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":1304,"total":1461},[1305,1323,1339,1350,1362,1376,1389,1403,1416,1427,1441,1450],{"slug":1306,"name":1306,"fn":1307,"description":1308,"org":1309,"tags":1310,"stars":1320,"repoUrl":1321,"updatedAt":1322},"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},[1311,1314,1317],{"name":1312,"slug":1313,"type":15},"Documentation","documentation",{"name":1315,"slug":1316,"type":15},"MCP","mcp",{"name":1318,"slug":1319,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1324,"name":1324,"fn":1325,"description":1326,"org":1327,"tags":1328,"stars":1336,"repoUrl":1337,"updatedAt":1338},"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},[1329,1332,1333],{"name":1330,"slug":1331,"type":15},"Containers","containers",{"name":17,"slug":18,"type":15},{"name":1334,"slug":1335,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1340,"name":1340,"fn":1341,"description":1342,"org":1343,"tags":1344,"stars":1336,"repoUrl":1337,"updatedAt":1349},"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},[1345,1348],{"name":1346,"slug":1347,"type":15},"CI\u002FCD","ci-cd",{"name":17,"slug":18,"type":15},"2026-07-14T05:25:59.97109",{"slug":1351,"name":1351,"fn":1352,"description":1353,"org":1354,"tags":1355,"stars":1336,"repoUrl":1337,"updatedAt":1361},"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},[1356,1357,1358],{"name":1346,"slug":1347,"type":15},{"name":17,"slug":18,"type":15},{"name":1359,"slug":1360,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1363,"name":1363,"fn":1364,"description":1365,"org":1366,"tags":1367,"stars":1336,"repoUrl":1337,"updatedAt":1375},"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},[1368,1371,1372],{"name":1369,"slug":1370,"type":15},"Debugging","debugging",{"name":1359,"slug":1360,"type":15},{"name":1373,"slug":1374,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1377,"name":1377,"fn":1378,"description":1379,"org":1380,"tags":1381,"stars":1336,"repoUrl":1337,"updatedAt":1388},"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},[1382,1385],{"name":1383,"slug":1384,"type":15},"Best Practices","best-practices",{"name":1386,"slug":1387,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1390,"name":1390,"fn":1391,"description":1392,"org":1393,"tags":1394,"stars":1336,"repoUrl":1337,"updatedAt":1402},"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},[1395,1398,1401],{"name":1396,"slug":1397,"type":15},"Machine Learning","machine-learning",{"name":1399,"slug":1400,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1404,"name":1404,"fn":1405,"description":1406,"org":1407,"tags":1408,"stars":1336,"repoUrl":1337,"updatedAt":1415},"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},[1409,1412],{"name":1410,"slug":1411,"type":15},"QA","qa",{"name":1413,"slug":1414,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1417,"name":1417,"fn":1418,"description":1419,"org":1420,"tags":1421,"stars":1336,"repoUrl":1337,"updatedAt":1426},"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},[1422,1423],{"name":17,"slug":18,"type":15},{"name":1424,"slug":1425,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1428,"name":1428,"fn":1429,"description":1430,"org":1431,"tags":1432,"stars":1336,"repoUrl":1337,"updatedAt":1440},"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},[1433,1436,1437],{"name":1434,"slug":1435,"type":15},"Code Review","code-review",{"name":1359,"slug":1360,"type":15},{"name":1438,"slug":1439,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1442,"name":1442,"fn":1443,"description":1444,"org":1445,"tags":1446,"stars":1336,"repoUrl":1337,"updatedAt":1449},"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},[1447,1448],{"name":1410,"slug":1411,"type":15},{"name":1413,"slug":1414,"type":15},"2026-07-14T05:25:54.928983",{"slug":1451,"name":1451,"fn":1452,"description":1453,"org":1454,"tags":1455,"stars":1336,"repoUrl":1337,"updatedAt":1460},"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},[1456,1459],{"name":1457,"slug":1458,"type":15},"Automation","automation",{"name":1346,"slug":1347,"type":15},"2026-07-30T05:29:03.275638",496,{"items":1463,"total":730},[1464,1477,1484,1500,1511,1525,1537],{"slug":1465,"name":1465,"fn":1466,"description":1467,"org":1468,"tags":1469,"stars":23,"repoUrl":24,"updatedAt":1476},"k8s-launch-kit-config","configure k8s-launch-kit clusters","Use this skill when the user needs help understanding, creating, or editing a k8s-launch-kit (l8k) configuration file (l8k-config.yaml or cluster-config.yaml). Activate for: config file questions, parameter tuning, subnet configuration, NV-IPAM setup, DOCA driver settings, maintenance concurrency, NIC configuration operator settings, changing MTU, VFs, resource names, or understanding what any config field does.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1470,1473,1474,1475],{"name":1471,"slug":1472,"type":15},"Configuration","configuration",{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:29:15.229216",{"slug":4,"name":4,"fn":5,"description":6,"org":1478,"tags":1479,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1480,1481,1482,1483],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":1485,"name":1485,"fn":1486,"description":1487,"org":1488,"tags":1489,"stars":23,"repoUrl":24,"updatedAt":1499},"k8s-launch-kit-discover","discover Kubernetes cluster network hardware capabilities","Use this skill when the user wants to discover their Kubernetes cluster's network hardware capabilities using k8s-launch-kit (l8k). Activate for: cluster discovery, hardware detection, NIC detection, finding what GPUs or NICs are in a cluster, creating a cluster config file, or when the user says 'discover' in the context of l8k or NVIDIA networking.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1490,1493,1494,1495,1496],{"name":1491,"slug":1492,"type":15},"Hardware","hardware",{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1497,"slug":1498,"type":15},"Operations","operations","2026-07-14T05:31:58.825512",{"slug":1283,"name":1283,"fn":1501,"description":1502,"org":1503,"tags":1504,"stars":23,"repoUrl":24,"updatedAt":1510},"preview NVIDIA networking deployment changes","Use this skill when the user wants to preview what k8s-launch-kit (l8k) would deploy without making changes, or wants to safely validate their configuration before applying. Activate for: dry-run, preview, validation, 'what would happen if', testing configurations, schema discovery, checking generated manifests, or any cautious pre-deployment step. Also use when the user asks 'is my config valid' or 'show me what would be created' -- even without mentioning dry-run explicitly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1505,1506,1507,1508,1509],{"name":1471,"slug":1472,"type":15},{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:31:56.325698",{"slug":1512,"name":1512,"fn":1513,"description":1514,"org":1515,"tags":1516,"stars":23,"repoUrl":24,"updatedAt":1524},"k8s-launch-kit-generate","generate Kubernetes manifests for NVIDIA networking","Use this skill when the user wants to generate Kubernetes YAML manifests for NVIDIA networking deployment using k8s-launch-kit (l8k). Activate for: manifest generation, profile selection, choosing between SR-IOV\u002Fhost-device\u002FRDMA-shared\u002FIPoIB\u002FMacVLAN\u002FSpectrum-X, creating deployment files, or when the user asks 'which profile should I use' or needs help choosing a network configuration.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1517,1518,1519,1520,1521],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1522,"slug":1523,"type":15},"YAML","yaml","2026-07-14T05:31:51.352013",{"slug":1526,"name":1526,"fn":1527,"description":1528,"org":1529,"tags":1530,"stars":23,"repoUrl":24,"updatedAt":1536},"k8s-launch-kit-pipeline","run end-to-end NVIDIA networking deployment pipelines","Use this skill when the user wants to run the full k8s-launch-kit (l8k) pipeline end-to-end: discover cluster hardware, select a profile, generate manifests, and deploy them all in one command. Also activate for CI\u002FCD integration, automation pipelines, 'one-liner', 'complete workflow', or end-to-end NVIDIA networking deployment.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1531,1532,1533,1534,1535],{"name":1457,"slug":1458,"type":15},{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:31:55.07782",{"slug":40,"name":40,"fn":1538,"description":1539,"org":1540,"tags":1541,"stars":23,"repoUrl":24,"updatedAt":1550},"manage NVIDIA k8s-launch-kit CLI patterns","k8s-launch-kit (l8k) CLI: Shared patterns for binary location, global flags, output formatting, exit codes, and error handling. Read this before using any other k8s-launch-kit skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1542,1545,1548,1549],{"name":1543,"slug":1544,"type":15},"CLI","cli",{"name":1546,"slug":1547,"type":15},"Engineering","engineering",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:32:01.309487"]