[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-jetson-set-target":3,"mdc-4cpznx-key":31,"related-repo-nvidia-jetson-set-target":904,"related-org-nvidia-jetson-set-target":1008},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"jetson-set-target","set active Jetson target platform","Switch the active Jetson target-platform pointer to an existing profile YAML. Use before customize\u002Fbuild\u002Fflash to change target; not for authoring profiles — use jetson-init-target instead.",{"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],{"name":13,"slug":14,"type":15},"Hardware","hardware","tag",{"name":17,"slug":18,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-14T05:27:35.459472","Apache-2.0",281,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fjetson-set-target","---\nname: jetson-set-target\ndescription: >-\n  Switch the active Jetson target-platform pointer to an existing\n  profile YAML. Use before customize\u002Fbuild\u002Fflash to change target; not\n  for authoring profiles — use jetson-init-target instead.\nversion: 0.0.1\nlicense: \"Apache-2.0\"\nmetadata:\n  data-classification: public\n  author: \"Jetson Team\"\n  tags:\n    - target-platform\n    - configuration\n    - meta\n  domain: meta\n---\n\n# Set Target Platform\n\n## Overview\n\nThis skill is the **switcher** side of the target-platform contract in\n[`..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md`](..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md). It only\nedits `target-platform\u002Factive_target.yml`; it never authors a new\nprofile YAML. To author a new profile, use the sibling skill\n`jetson-init-target`.\n\nSingle output: `target-platform\u002Factive_target.yml` updated to point at\nthe user's chosen existing profile.\n\n## When to invoke\n\n- The user asks to switch \u002F change \u002F activate a different target\n  platform among profiles that already exist.\n- A downstream skill refused with \"no active target\" **and**\n  `target-platform\u002F` already contains one or more profile YAMLs.\n- The user names a target by filename or product, and that profile\n  YAML is already on disk.\n\nIf `target-platform\u002F` is missing, empty, or contains only\n`active_target.yml`, stop and tell the user to run `jetson-init-target`\nfirst.\n\n## Procedure\n\n### Survey the profiles directory\n\n1. Read `target-platform\u002Factive_target.yml` (treat a missing file as\n   `active: NA` for the purposes of this skill — the file will be\n   created in the \"Update the active pointer\" step if needed, preserving the template header).\n2. List `target-platform\u002F*.yaml`, **excluding** `active_target.yml`\n   itself.\n\n| Situation | Action |\n|---|---|\n| No profile YAMLs exist | Refuse. Tell the user to run `jetson-init-target` to author one. |\n| Exactly one profile, already active | Tell the user it is already active; no change needed. Stop. |\n| Exactly one profile, not active | Confirm with the user, then jump to the \"Update the active pointer\" step with that profile selected. |\n| Multiple profiles | Proceed to the \"Show the list\" step. |\n\n### Show the list\n\nPrint the profiles in alphabetical order, numbered. Mark the current\nactive selection with `(active)` so the user knows what they're\nswitching from. For each profile, parse its YAML and show a one-line\nsummary so the user can identify it without opening files: the\n`reference_devkit.name` (or `custom_carrier.name` if present) plus the\n`flash_config`.\n\nSample shape:\n\n```\nProfiles in target-platform\u002F:\n   1) acme-vision-x1.yaml          — Acme Vision X1 (custom carrier on AGX Thor T5000) — acme-vision-x1.conf\n   2) jetson-agx-orin-32gb.yaml    — Jetson AGX Orin 32GB                              — jetson-agx-orin-devkit.conf\n   3) jetson-agx-thor-devkit.yaml  — Jetson AGX Thor T5000                             — jetson-agx-thor-devkit.conf  (active)\n   4) jetson-orin-nano-8gb.yaml    — Jetson Orin Nano 8GB                              — jetson-orin-nano-devkit.conf\n```\n\nIf a profile YAML fails to parse or is missing the expected fields,\nshow the bare filename with a `(unparseable — fix or remove)` marker\nand skip to the next; do not refuse the whole skill over one bad file.\n\n### Prompt for selection\n\nPrompt:\n\n> Pick a number, the bare filename, the product name (substring\n> match), or `cancel`.\n\nResolve to a single profile filename. If the user picks the currently\nactive profile, tell them so and stop without rewriting the pointer.\nIf ambiguous, list candidates and ask again.\n\n### Update the active pointer\n\nEdit `target-platform\u002Factive_target.yml`:\n\n- Set `active: \u003Cchosen-filename>.yaml`.\n- **Preserve** the header comment block verbatim — only modify the\n  `active:` line.\n- If the file does not exist (it can be missing if the user hand-set up\n  `target-platform\u002F` without the bootstrap step), create it from\n  [`..\u002F..\u002Freferences\u002Factive_target_template.yaml`](..\u002F..\u002Freferences\u002Factive_target_template.yaml)\n  and then set `active:`.\n\n### Confirm\n\nPrint a summary: the previous active value, the new active value, the\nchosen profile's `reference_devkit.name` (and `custom_carrier.name` if\npresent), and a reminder that downstream skills (`jetson-customize-clocks`,\n`jetson-customize-nvpmodel`, `jetson-customize-fan`,\n`jetson-optimize-memory`) will now resolve to this target.\n\nIf a downstream skill triggered this run, tell the user to re-issue\ntheir original request; do not silently re-trigger it.\n\n## Prerequisites\n\n- `target-platform\u002F` exists and contains at least one `*.yaml` profile\n  (excluding `active_target.yml`).\n- `target-platform\u002Factive_target.yml` is present, or the template at\n  `..\u002F..\u002Freferences\u002Factive_target_template.yaml` is available so this\n  skill can recreate the pointer.\n\n## Limitations\n\n- Edits only the `active:` line in `active_target.yml`; never writes\n  profile YAMLs.\n- Refuses when no profile YAMLs exist — routes the user to\n  `jetson-init-target` instead.\n- Does not resolve fuzzy product names beyond simple substring match;\n  ambiguous selections are re-prompted.\n\n## Troubleshooting\n\n- **\"no profiles found\" refusal** — the directory has no\n  `*.yaml` other than the pointer; run `\u002Fjetson-init-target` first.\n- **Pointer rewritten to a missing profile** — should not happen because\n  the chosen filename is verified before writing; if seen, hand-edit\n  `active_target.yml` back to a valid filename or rerun with the right\n  selection.\n- **Active pointer reads `NA`** — legitimate \"no selection\" state; pick\n  any listed profile and the pointer will be set.\n\n## Gotchas\n\n- **No authoring here.** If the user names a target whose profile YAML\n  is not on disk, refuse and route them to `jetson-init-target`. Do\n  not silently fall through to authoring.\n- **Don't edit `active_target.yml` to point at a missing profile.**\n  Verify the chosen filename exists in `target-platform\u002F` before\n  writing.\n- **Preserve `active_target.yml`'s comment block** when editing —\n  only the `active:` line should change.\n- **Exclude `active_target.yml` from the profile list.** It lives in\n  the same directory but is the pointer, not a profile.\n- **`active: NA` is the legitimate \"no selection\" state.** Treat it\n  the same as a fresh pointer — don't refuse, just show the list and\n  let the user pick.\n- **One-profile shortcut.** If only one profile exists, do not skip\n  user confirmation — still confirm before flipping the pointer.\n\n## References\n\n- [`..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md`](..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md) — the contract this skill writes to.\n- [`..\u002F..\u002Freferences\u002Factive_target_template.yaml`](..\u002F..\u002Freferences\u002Factive_target_template.yaml) — schema starter for the active-target pointer (used to recreate it if the file is missing).\n- [`..\u002Fjetson-init-target\u002FSKILL.md`](..\u002Fjetson-init-target\u002FSKILL.md) — sibling skill: author a new profile YAML.\n",{"data":32,"body":41},{"name":4,"description":6,"version":33,"license":23,"metadata":34},"0.0.1",{"data-classification":35,"author":36,"tags":37,"domain":40},"public","Jetson Team",[38,39,40],"target-platform","configuration","meta",{"type":42,"children":43},"root",[44,53,60,103,115,121,154,181,187,194,245,332,338,374,379,391,404,410,415,431,436,442,454,516,522,571,576,582,627,633,672,678,739,745,855,861],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"set-target-platform",[50],{"type":51,"value":52},"text","Set Target Platform",{"type":45,"tag":54,"props":55,"children":57},"h2",{"id":56},"overview",[58],{"type":51,"value":59},"Overview",{"type":45,"tag":61,"props":62,"children":63},"p",{},[64,66,72,74,85,87,93,95,101],{"type":51,"value":65},"This skill is the ",{"type":45,"tag":67,"props":68,"children":69},"strong",{},[70],{"type":51,"value":71},"switcher",{"type":51,"value":73}," side of the target-platform contract in\n",{"type":45,"tag":75,"props":76,"children":78},"a",{"href":77},"..\u002F..\u002Fcontext\u002Ftarget-platform-contract.md",[79],{"type":45,"tag":80,"props":81,"children":83},"code",{"className":82},[],[84],{"type":51,"value":77},{"type":51,"value":86},". It only\nedits ",{"type":45,"tag":80,"props":88,"children":90},{"className":89},[],[91],{"type":51,"value":92},"target-platform\u002Factive_target.yml",{"type":51,"value":94},"; it never authors a new\nprofile YAML. To author a new profile, use the sibling skill\n",{"type":45,"tag":80,"props":96,"children":98},{"className":97},[],[99],{"type":51,"value":100},"jetson-init-target",{"type":51,"value":102},".",{"type":45,"tag":61,"props":104,"children":105},{},[106,108,113],{"type":51,"value":107},"Single output: ",{"type":45,"tag":80,"props":109,"children":111},{"className":110},[],[112],{"type":51,"value":92},{"type":51,"value":114}," updated to point at\nthe user's chosen existing profile.",{"type":45,"tag":54,"props":116,"children":118},{"id":117},"when-to-invoke",[119],{"type":51,"value":120},"When to invoke",{"type":45,"tag":122,"props":123,"children":124},"ul",{},[125,131,149],{"type":45,"tag":126,"props":127,"children":128},"li",{},[129],{"type":51,"value":130},"The user asks to switch \u002F change \u002F activate a different target\nplatform among profiles that already exist.",{"type":45,"tag":126,"props":132,"children":133},{},[134,136,141,147],{"type":51,"value":135},"A downstream skill refused with \"no active target\" ",{"type":45,"tag":67,"props":137,"children":138},{},[139],{"type":51,"value":140},"and",{"type":45,"tag":80,"props":142,"children":144},{"className":143},[],[145],{"type":51,"value":146},"target-platform\u002F",{"type":51,"value":148}," already contains one or more profile YAMLs.",{"type":45,"tag":126,"props":150,"children":151},{},[152],{"type":51,"value":153},"The user names a target by filename or product, and that profile\nYAML is already on disk.",{"type":45,"tag":61,"props":155,"children":156},{},[157,159,164,166,172,174,179],{"type":51,"value":158},"If ",{"type":45,"tag":80,"props":160,"children":162},{"className":161},[],[163],{"type":51,"value":146},{"type":51,"value":165}," is missing, empty, or contains only\n",{"type":45,"tag":80,"props":167,"children":169},{"className":168},[],[170],{"type":51,"value":171},"active_target.yml",{"type":51,"value":173},", stop and tell the user to run ",{"type":45,"tag":80,"props":175,"children":177},{"className":176},[],[178],{"type":51,"value":100},{"type":51,"value":180},"\nfirst.",{"type":45,"tag":54,"props":182,"children":184},{"id":183},"procedure",[185],{"type":51,"value":186},"Procedure",{"type":45,"tag":188,"props":189,"children":191},"h3",{"id":190},"survey-the-profiles-directory",[192],{"type":51,"value":193},"Survey the profiles directory",{"type":45,"tag":195,"props":196,"children":197},"ol",{},[198,218],{"type":45,"tag":126,"props":199,"children":200},{},[201,203,208,210,216],{"type":51,"value":202},"Read ",{"type":45,"tag":80,"props":204,"children":206},{"className":205},[],[207],{"type":51,"value":92},{"type":51,"value":209}," (treat a missing file as\n",{"type":45,"tag":80,"props":211,"children":213},{"className":212},[],[214],{"type":51,"value":215},"active: NA",{"type":51,"value":217}," for the purposes of this skill — the file will be\ncreated in the \"Update the active pointer\" step if needed, preserving the template header).",{"type":45,"tag":126,"props":219,"children":220},{},[221,223,229,231,236,238,243],{"type":51,"value":222},"List ",{"type":45,"tag":80,"props":224,"children":226},{"className":225},[],[227],{"type":51,"value":228},"target-platform\u002F*.yaml",{"type":51,"value":230},", ",{"type":45,"tag":67,"props":232,"children":233},{},[234],{"type":51,"value":235},"excluding",{"type":51,"value":237}," ",{"type":45,"tag":80,"props":239,"children":241},{"className":240},[],[242],{"type":51,"value":171},{"type":51,"value":244},"\nitself.",{"type":45,"tag":246,"props":247,"children":248},"table",{},[249,268],{"type":45,"tag":250,"props":251,"children":252},"thead",{},[253],{"type":45,"tag":254,"props":255,"children":256},"tr",{},[257,263],{"type":45,"tag":258,"props":259,"children":260},"th",{},[261],{"type":51,"value":262},"Situation",{"type":45,"tag":258,"props":264,"children":265},{},[266],{"type":51,"value":267},"Action",{"type":45,"tag":269,"props":270,"children":271},"tbody",{},[272,293,306,319],{"type":45,"tag":254,"props":273,"children":274},{},[275,281],{"type":45,"tag":276,"props":277,"children":278},"td",{},[279],{"type":51,"value":280},"No profile YAMLs exist",{"type":45,"tag":276,"props":282,"children":283},{},[284,286,291],{"type":51,"value":285},"Refuse. Tell the user to run ",{"type":45,"tag":80,"props":287,"children":289},{"className":288},[],[290],{"type":51,"value":100},{"type":51,"value":292}," to author one.",{"type":45,"tag":254,"props":294,"children":295},{},[296,301],{"type":45,"tag":276,"props":297,"children":298},{},[299],{"type":51,"value":300},"Exactly one profile, already active",{"type":45,"tag":276,"props":302,"children":303},{},[304],{"type":51,"value":305},"Tell the user it is already active; no change needed. Stop.",{"type":45,"tag":254,"props":307,"children":308},{},[309,314],{"type":45,"tag":276,"props":310,"children":311},{},[312],{"type":51,"value":313},"Exactly one profile, not active",{"type":45,"tag":276,"props":315,"children":316},{},[317],{"type":51,"value":318},"Confirm with the user, then jump to the \"Update the active pointer\" step with that profile selected.",{"type":45,"tag":254,"props":320,"children":321},{},[322,327],{"type":45,"tag":276,"props":323,"children":324},{},[325],{"type":51,"value":326},"Multiple profiles",{"type":45,"tag":276,"props":328,"children":329},{},[330],{"type":51,"value":331},"Proceed to the \"Show the list\" step.",{"type":45,"tag":188,"props":333,"children":335},{"id":334},"show-the-list",[336],{"type":51,"value":337},"Show the list",{"type":45,"tag":61,"props":339,"children":340},{},[341,343,349,351,357,359,365,367,373],{"type":51,"value":342},"Print the profiles in alphabetical order, numbered. Mark the current\nactive selection with ",{"type":45,"tag":80,"props":344,"children":346},{"className":345},[],[347],{"type":51,"value":348},"(active)",{"type":51,"value":350}," so the user knows what they're\nswitching from. For each profile, parse its YAML and show a one-line\nsummary so the user can identify it without opening files: the\n",{"type":45,"tag":80,"props":352,"children":354},{"className":353},[],[355],{"type":51,"value":356},"reference_devkit.name",{"type":51,"value":358}," (or ",{"type":45,"tag":80,"props":360,"children":362},{"className":361},[],[363],{"type":51,"value":364},"custom_carrier.name",{"type":51,"value":366}," if present) plus the\n",{"type":45,"tag":80,"props":368,"children":370},{"className":369},[],[371],{"type":51,"value":372},"flash_config",{"type":51,"value":102},{"type":45,"tag":61,"props":375,"children":376},{},[377],{"type":51,"value":378},"Sample shape:",{"type":45,"tag":380,"props":381,"children":385},"pre",{"className":382,"code":384,"language":51},[383],"language-text","Profiles in target-platform\u002F:\n   1) acme-vision-x1.yaml          — Acme Vision X1 (custom carrier on AGX Thor T5000) — acme-vision-x1.conf\n   2) jetson-agx-orin-32gb.yaml    — Jetson AGX Orin 32GB                              — jetson-agx-orin-devkit.conf\n   3) jetson-agx-thor-devkit.yaml  — Jetson AGX Thor T5000                             — jetson-agx-thor-devkit.conf  (active)\n   4) jetson-orin-nano-8gb.yaml    — Jetson Orin Nano 8GB                              — jetson-orin-nano-devkit.conf\n",[386],{"type":45,"tag":80,"props":387,"children":389},{"__ignoreMap":388},"",[390],{"type":51,"value":384},{"type":45,"tag":61,"props":392,"children":393},{},[394,396,402],{"type":51,"value":395},"If a profile YAML fails to parse or is missing the expected fields,\nshow the bare filename with a ",{"type":45,"tag":80,"props":397,"children":399},{"className":398},[],[400],{"type":51,"value":401},"(unparseable — fix or remove)",{"type":51,"value":403}," marker\nand skip to the next; do not refuse the whole skill over one bad file.",{"type":45,"tag":188,"props":405,"children":407},{"id":406},"prompt-for-selection",[408],{"type":51,"value":409},"Prompt for selection",{"type":45,"tag":61,"props":411,"children":412},{},[413],{"type":51,"value":414},"Prompt:",{"type":45,"tag":416,"props":417,"children":418},"blockquote",{},[419],{"type":45,"tag":61,"props":420,"children":421},{},[422,424,430],{"type":51,"value":423},"Pick a number, the bare filename, the product name (substring\nmatch), or ",{"type":45,"tag":80,"props":425,"children":427},{"className":426},[],[428],{"type":51,"value":429},"cancel",{"type":51,"value":102},{"type":45,"tag":61,"props":432,"children":433},{},[434],{"type":51,"value":435},"Resolve to a single profile filename. If the user picks the currently\nactive profile, tell them so and stop without rewriting the pointer.\nIf ambiguous, list candidates and ask again.",{"type":45,"tag":188,"props":437,"children":439},{"id":438},"update-the-active-pointer",[440],{"type":51,"value":441},"Update the active pointer",{"type":45,"tag":61,"props":443,"children":444},{},[445,447,452],{"type":51,"value":446},"Edit ",{"type":45,"tag":80,"props":448,"children":450},{"className":449},[],[451],{"type":51,"value":92},{"type":51,"value":453},":",{"type":45,"tag":122,"props":455,"children":456},{},[457,469,487],{"type":45,"tag":126,"props":458,"children":459},{},[460,462,468],{"type":51,"value":461},"Set ",{"type":45,"tag":80,"props":463,"children":465},{"className":464},[],[466],{"type":51,"value":467},"active: \u003Cchosen-filename>.yaml",{"type":51,"value":102},{"type":45,"tag":126,"props":470,"children":471},{},[472,477,479,485],{"type":45,"tag":67,"props":473,"children":474},{},[475],{"type":51,"value":476},"Preserve",{"type":51,"value":478}," the header comment block verbatim — only modify the\n",{"type":45,"tag":80,"props":480,"children":482},{"className":481},[],[483],{"type":51,"value":484},"active:",{"type":51,"value":486}," line.",{"type":45,"tag":126,"props":488,"children":489},{},[490,492,497,499,508,510,515],{"type":51,"value":491},"If the file does not exist (it can be missing if the user hand-set up\n",{"type":45,"tag":80,"props":493,"children":495},{"className":494},[],[496],{"type":51,"value":146},{"type":51,"value":498}," without the bootstrap step), create it from\n",{"type":45,"tag":75,"props":500,"children":502},{"href":501},"..\u002F..\u002Freferences\u002Factive_target_template.yaml",[503],{"type":45,"tag":80,"props":504,"children":506},{"className":505},[],[507],{"type":51,"value":501},{"type":51,"value":509},"\nand then set ",{"type":45,"tag":80,"props":511,"children":513},{"className":512},[],[514],{"type":51,"value":484},{"type":51,"value":102},{"type":45,"tag":188,"props":517,"children":519},{"id":518},"confirm",[520],{"type":51,"value":521},"Confirm",{"type":45,"tag":61,"props":523,"children":524},{},[525,527,532,534,539,541,547,549,555,556,562,563,569],{"type":51,"value":526},"Print a summary: the previous active value, the new active value, the\nchosen profile's ",{"type":45,"tag":80,"props":528,"children":530},{"className":529},[],[531],{"type":51,"value":356},{"type":51,"value":533}," (and ",{"type":45,"tag":80,"props":535,"children":537},{"className":536},[],[538],{"type":51,"value":364},{"type":51,"value":540}," if\npresent), and a reminder that downstream skills (",{"type":45,"tag":80,"props":542,"children":544},{"className":543},[],[545],{"type":51,"value":546},"jetson-customize-clocks",{"type":51,"value":548},",\n",{"type":45,"tag":80,"props":550,"children":552},{"className":551},[],[553],{"type":51,"value":554},"jetson-customize-nvpmodel",{"type":51,"value":230},{"type":45,"tag":80,"props":557,"children":559},{"className":558},[],[560],{"type":51,"value":561},"jetson-customize-fan",{"type":51,"value":548},{"type":45,"tag":80,"props":564,"children":566},{"className":565},[],[567],{"type":51,"value":568},"jetson-optimize-memory",{"type":51,"value":570},") will now resolve to this target.",{"type":45,"tag":61,"props":572,"children":573},{},[574],{"type":51,"value":575},"If a downstream skill triggered this run, tell the user to re-issue\ntheir original request; do not silently re-trigger it.",{"type":45,"tag":54,"props":577,"children":579},{"id":578},"prerequisites",[580],{"type":51,"value":581},"Prerequisites",{"type":45,"tag":122,"props":583,"children":584},{},[585,610],{"type":45,"tag":126,"props":586,"children":587},{},[588,593,595,601,603,608],{"type":45,"tag":80,"props":589,"children":591},{"className":590},[],[592],{"type":51,"value":146},{"type":51,"value":594}," exists and contains at least one ",{"type":45,"tag":80,"props":596,"children":598},{"className":597},[],[599],{"type":51,"value":600},"*.yaml",{"type":51,"value":602}," profile\n(excluding ",{"type":45,"tag":80,"props":604,"children":606},{"className":605},[],[607],{"type":51,"value":171},{"type":51,"value":609},").",{"type":45,"tag":126,"props":611,"children":612},{},[613,618,620,625],{"type":45,"tag":80,"props":614,"children":616},{"className":615},[],[617],{"type":51,"value":92},{"type":51,"value":619}," is present, or the template at\n",{"type":45,"tag":80,"props":621,"children":623},{"className":622},[],[624],{"type":51,"value":501},{"type":51,"value":626}," is available so this\nskill can recreate the pointer.",{"type":45,"tag":54,"props":628,"children":630},{"id":629},"limitations",[631],{"type":51,"value":632},"Limitations",{"type":45,"tag":122,"props":634,"children":635},{},[636,655,667],{"type":45,"tag":126,"props":637,"children":638},{},[639,641,646,648,653],{"type":51,"value":640},"Edits only the ",{"type":45,"tag":80,"props":642,"children":644},{"className":643},[],[645],{"type":51,"value":484},{"type":51,"value":647}," line in ",{"type":45,"tag":80,"props":649,"children":651},{"className":650},[],[652],{"type":51,"value":171},{"type":51,"value":654},"; never writes\nprofile YAMLs.",{"type":45,"tag":126,"props":656,"children":657},{},[658,660,665],{"type":51,"value":659},"Refuses when no profile YAMLs exist — routes the user to\n",{"type":45,"tag":80,"props":661,"children":663},{"className":662},[],[664],{"type":51,"value":100},{"type":51,"value":666}," instead.",{"type":45,"tag":126,"props":668,"children":669},{},[670],{"type":51,"value":671},"Does not resolve fuzzy product names beyond simple substring match;\nambiguous selections are re-prompted.",{"type":45,"tag":54,"props":673,"children":675},{"id":674},"troubleshooting",[676],{"type":51,"value":677},"Troubleshooting",{"type":45,"tag":122,"props":679,"children":680},{},[681,706,723],{"type":45,"tag":126,"props":682,"children":683},{},[684,689,691,696,698,704],{"type":45,"tag":67,"props":685,"children":686},{},[687],{"type":51,"value":688},"\"no profiles found\" refusal",{"type":51,"value":690}," — the directory has no\n",{"type":45,"tag":80,"props":692,"children":694},{"className":693},[],[695],{"type":51,"value":600},{"type":51,"value":697}," other than the pointer; run ",{"type":45,"tag":80,"props":699,"children":701},{"className":700},[],[702],{"type":51,"value":703},"\u002Fjetson-init-target",{"type":51,"value":705}," first.",{"type":45,"tag":126,"props":707,"children":708},{},[709,714,716,721],{"type":45,"tag":67,"props":710,"children":711},{},[712],{"type":51,"value":713},"Pointer rewritten to a missing profile",{"type":51,"value":715}," — should not happen because\nthe chosen filename is verified before writing; if seen, hand-edit\n",{"type":45,"tag":80,"props":717,"children":719},{"className":718},[],[720],{"type":51,"value":171},{"type":51,"value":722}," back to a valid filename or rerun with the right\nselection.",{"type":45,"tag":126,"props":724,"children":725},{},[726,737],{"type":45,"tag":67,"props":727,"children":728},{},[729,731],{"type":51,"value":730},"Active pointer reads ",{"type":45,"tag":80,"props":732,"children":734},{"className":733},[],[735],{"type":51,"value":736},"NA",{"type":51,"value":738}," — legitimate \"no selection\" state; pick\nany listed profile and the pointer will be set.",{"type":45,"tag":54,"props":740,"children":742},{"id":741},"gotchas",[743],{"type":51,"value":744},"Gotchas",{"type":45,"tag":122,"props":746,"children":747},{},[748,765,789,813,830,845],{"type":45,"tag":126,"props":749,"children":750},{},[751,756,758,763],{"type":45,"tag":67,"props":752,"children":753},{},[754],{"type":51,"value":755},"No authoring here.",{"type":51,"value":757}," If the user names a target whose profile YAML\nis not on disk, refuse and route them to ",{"type":45,"tag":80,"props":759,"children":761},{"className":760},[],[762],{"type":51,"value":100},{"type":51,"value":764},". Do\nnot silently fall through to authoring.",{"type":45,"tag":126,"props":766,"children":767},{},[768,780,782,787],{"type":45,"tag":67,"props":769,"children":770},{},[771,773,778],{"type":51,"value":772},"Don't edit ",{"type":45,"tag":80,"props":774,"children":776},{"className":775},[],[777],{"type":51,"value":171},{"type":51,"value":779}," to point at a missing profile.",{"type":51,"value":781},"\nVerify the chosen filename exists in ",{"type":45,"tag":80,"props":783,"children":785},{"className":784},[],[786],{"type":51,"value":146},{"type":51,"value":788}," before\nwriting.",{"type":45,"tag":126,"props":790,"children":791},{},[792,804,806,811],{"type":45,"tag":67,"props":793,"children":794},{},[795,797,802],{"type":51,"value":796},"Preserve ",{"type":45,"tag":80,"props":798,"children":800},{"className":799},[],[801],{"type":51,"value":171},{"type":51,"value":803},"'s comment block",{"type":51,"value":805}," when editing —\nonly the ",{"type":45,"tag":80,"props":807,"children":809},{"className":808},[],[810],{"type":51,"value":484},{"type":51,"value":812}," line should change.",{"type":45,"tag":126,"props":814,"children":815},{},[816,828],{"type":45,"tag":67,"props":817,"children":818},{},[819,821,826],{"type":51,"value":820},"Exclude ",{"type":45,"tag":80,"props":822,"children":824},{"className":823},[],[825],{"type":51,"value":171},{"type":51,"value":827}," from the profile list.",{"type":51,"value":829}," It lives in\nthe same directory but is the pointer, not a profile.",{"type":45,"tag":126,"props":831,"children":832},{},[833,843],{"type":45,"tag":67,"props":834,"children":835},{},[836,841],{"type":45,"tag":80,"props":837,"children":839},{"className":838},[],[840],{"type":51,"value":215},{"type":51,"value":842}," is the legitimate \"no selection\" state.",{"type":51,"value":844}," Treat it\nthe same as a fresh pointer — don't refuse, just show the list and\nlet the user pick.",{"type":45,"tag":126,"props":846,"children":847},{},[848,853],{"type":45,"tag":67,"props":849,"children":850},{},[851],{"type":51,"value":852},"One-profile shortcut.",{"type":51,"value":854}," If only one profile exists, do not skip\nuser confirmation — still confirm before flipping the pointer.",{"type":45,"tag":54,"props":856,"children":858},{"id":857},"references",[859],{"type":51,"value":860},"References",{"type":45,"tag":122,"props":862,"children":863},{},[864,877,890],{"type":45,"tag":126,"props":865,"children":866},{},[867,875],{"type":45,"tag":75,"props":868,"children":869},{"href":77},[870],{"type":45,"tag":80,"props":871,"children":873},{"className":872},[],[874],{"type":51,"value":77},{"type":51,"value":876}," — the contract this skill writes to.",{"type":45,"tag":126,"props":878,"children":879},{},[880,888],{"type":45,"tag":75,"props":881,"children":882},{"href":501},[883],{"type":45,"tag":80,"props":884,"children":886},{"className":885},[],[887],{"type":51,"value":501},{"type":51,"value":889}," — schema starter for the active-target pointer (used to recreate it if the file is missing).",{"type":45,"tag":126,"props":891,"children":892},{},[893,902],{"type":45,"tag":75,"props":894,"children":896},{"href":895},"..\u002Fjetson-init-target\u002FSKILL.md",[897],{"type":45,"tag":80,"props":898,"children":900},{"className":899},[],[901],{"type":51,"value":895},{"type":51,"value":903}," — sibling skill: author a new profile YAML.",{"items":905,"total":1007},[906,923,935,949,961,978,993],{"slug":907,"name":907,"fn":908,"description":909,"org":910,"tags":911,"stars":20,"repoUrl":21,"updatedAt":922},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[912,915,918,919],{"name":913,"slug":914,"type":15},"Data Analysis","data-analysis",{"name":916,"slug":917,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":920,"slug":921,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":924,"name":924,"fn":925,"description":926,"org":927,"tags":928,"stars":20,"repoUrl":21,"updatedAt":934},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[929,930,933],{"name":17,"slug":18,"type":15},{"name":931,"slug":932,"type":15},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":936,"name":936,"fn":937,"description":938,"org":939,"tags":940,"stars":20,"repoUrl":21,"updatedAt":948},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[941,944,945],{"name":942,"slug":943,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":946,"slug":947,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":950,"name":950,"fn":951,"description":952,"org":953,"tags":954,"stars":20,"repoUrl":21,"updatedAt":960},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[955,956,957],{"name":913,"slug":914,"type":15},{"name":9,"slug":8,"type":15},{"name":958,"slug":959,"type":15},"Testing","testing","2026-07-17T05:29:03.913266",{"slug":962,"name":962,"fn":963,"description":964,"org":965,"tags":966,"stars":20,"repoUrl":21,"updatedAt":977},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[967,970,973,974],{"name":968,"slug":969,"type":15},"Automation","automation",{"name":971,"slug":972,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":975,"slug":976,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":979,"name":979,"fn":980,"description":981,"org":982,"tags":983,"stars":20,"repoUrl":21,"updatedAt":992},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[984,985,988,989],{"name":17,"slug":18,"type":15},{"name":986,"slug":987,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":990,"slug":991,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":994,"name":994,"fn":995,"description":996,"org":997,"tags":998,"stars":20,"repoUrl":21,"updatedAt":1006},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[999,1000,1003],{"name":9,"slug":8,"type":15},{"name":1001,"slug":1002,"type":15},"Quantum Computing","quantum-computing",{"name":1004,"slug":1005,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305,{"items":1009,"total":1160},[1010,1028,1044,1055,1067,1081,1094,1108,1119,1128,1142,1151],{"slug":1011,"name":1011,"fn":1012,"description":1013,"org":1014,"tags":1015,"stars":1025,"repoUrl":1026,"updatedAt":1027},"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},[1016,1019,1022],{"name":1017,"slug":1018,"type":15},"Documentation","documentation",{"name":1020,"slug":1021,"type":15},"MCP","mcp",{"name":1023,"slug":1024,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1029,"name":1029,"fn":1030,"description":1031,"org":1032,"tags":1033,"stars":1041,"repoUrl":1042,"updatedAt":1043},"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},[1034,1037,1038],{"name":1035,"slug":1036,"type":15},"Containers","containers",{"name":17,"slug":18,"type":15},{"name":1039,"slug":1040,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1045,"name":1045,"fn":1046,"description":1047,"org":1048,"tags":1049,"stars":1041,"repoUrl":1042,"updatedAt":1054},"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},[1050,1053],{"name":1051,"slug":1052,"type":15},"CI\u002FCD","ci-cd",{"name":17,"slug":18,"type":15},"2026-07-14T05:25:59.97109",{"slug":1056,"name":1056,"fn":1057,"description":1058,"org":1059,"tags":1060,"stars":1041,"repoUrl":1042,"updatedAt":1066},"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},[1061,1062,1063],{"name":1051,"slug":1052,"type":15},{"name":17,"slug":18,"type":15},{"name":1064,"slug":1065,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1068,"name":1068,"fn":1069,"description":1070,"org":1071,"tags":1072,"stars":1041,"repoUrl":1042,"updatedAt":1080},"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},[1073,1076,1077],{"name":1074,"slug":1075,"type":15},"Debugging","debugging",{"name":1064,"slug":1065,"type":15},{"name":1078,"slug":1079,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1082,"name":1082,"fn":1083,"description":1084,"org":1085,"tags":1086,"stars":1041,"repoUrl":1042,"updatedAt":1093},"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},[1087,1090],{"name":1088,"slug":1089,"type":15},"Best Practices","best-practices",{"name":1091,"slug":1092,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1095,"name":1095,"fn":1096,"description":1097,"org":1098,"tags":1099,"stars":1041,"repoUrl":1042,"updatedAt":1107},"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},[1100,1103,1106],{"name":1101,"slug":1102,"type":15},"Machine Learning","machine-learning",{"name":1104,"slug":1105,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1109,"name":1109,"fn":1110,"description":1111,"org":1112,"tags":1113,"stars":1041,"repoUrl":1042,"updatedAt":1118},"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},[1114,1117],{"name":1115,"slug":1116,"type":15},"QA","qa",{"name":958,"slug":959,"type":15},"2026-07-14T05:25:53.673039",{"slug":1120,"name":1120,"fn":1121,"description":1122,"org":1123,"tags":1124,"stars":1041,"repoUrl":1042,"updatedAt":1127},"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},[1125,1126],{"name":17,"slug":18,"type":15},{"name":931,"slug":932,"type":15},"2026-07-14T05:25:49.362534",{"slug":1129,"name":1129,"fn":1130,"description":1131,"org":1132,"tags":1133,"stars":1041,"repoUrl":1042,"updatedAt":1141},"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},[1134,1137,1138],{"name":1135,"slug":1136,"type":15},"Code Review","code-review",{"name":1064,"slug":1065,"type":15},{"name":1139,"slug":1140,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1143,"name":1143,"fn":1144,"description":1145,"org":1146,"tags":1147,"stars":1041,"repoUrl":1042,"updatedAt":1150},"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},[1148,1149],{"name":1115,"slug":1116,"type":15},{"name":958,"slug":959,"type":15},"2026-07-14T05:25:54.928983",{"slug":1152,"name":1152,"fn":1153,"description":1154,"org":1155,"tags":1156,"stars":1041,"repoUrl":1042,"updatedAt":1159},"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},[1157,1158],{"name":968,"slug":969,"type":15},{"name":1051,"slug":1052,"type":15},"2026-07-30T05:29:03.275638",496]