Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Switch the active Jetson target-platform pointer to an existing profile YAML. Use before customize/build/flash to change target; not for authoring profiles — use jetson-init-target instead.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 139% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 566% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 576% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -12% | 0% |
This skill is the switcher side of the target-platform contract in ../../context/target-platform-contract.md. It only edits target-platform/active_target.yml; it never authors a new profile YAML. To author a new profile, use the sibling skill jetson-init-target.
Single output: target-platform/active_target.yml updated to point at the user's chosen existing profile.
platform among profiles that already exist.
target-platform/ already contains one or more profile YAMLs.
YAML is already on disk.
If target-platform/ is missing, empty, or contains only active_target.yml, stop and tell the user to run jetson-init-target first.
target-platform/active_target.yml (treat a missing file asactive: NA for the purposes of this skill — the file will be created in the "Update the active pointer" step if needed, preserving the template header).
target-platform/*.yaml, excluding active_target.ymlitself.
| Situation | Action | |---|---| | No profile YAMLs exist | Refuse. Tell the user to run jetson-init-target to author one. | | Exactly one profile, already active | Tell the user it is already active; no change needed. Stop. | | Exactly one profile, not active | Confirm with the user, then jump to the "Update the active pointer" step with that profile selected. | | Multiple profiles | Proceed to the "Show the list" step. |
Print the profiles in alphabetical order, numbered. Mark the current active selection with (active) so the user knows what they're switching from. For each profile, parse its YAML and show a one-line summary so the user can identify it without opening files: the reference_devkit.name (or custom_carrier.name if present) plus the flash_config.
Sample shape:
Profiles in target-platform/:
1) acme-vision-x1.yaml — Acme Vision X1 (custom carrier on AGX Thor T5000) — acme-vision-x1.conf
2) jetson-agx-orin-32gb.yaml — Jetson AGX Orin 32GB — jetson-agx-orin-devkit.conf
3) jetson-agx-thor-devkit.yaml — Jetson AGX Thor T5000 — jetson-agx-thor-devkit.conf (active)
4) jetson-orin-nano-8gb.yaml — Jetson Orin Nano 8GB — jetson-orin-nano-devkit.confIf a profile YAML fails to parse or is missing the expected fields, show the bare filename with a (unparseable — fix or remove) marker and skip to the next; do not refuse the whole skill over one bad file.
Prompt:
> Pick a number, the bare filename, the product name (substring > match), or cancel.
Resolve to a single profile filename. If the user picks the currently active profile, tell them so and stop without rewriting the pointer. If ambiguous, list candidates and ask again.
Edit target-platform/active_target.yml:
active: <chosen-filename>.yaml.active: line.
target-platform/ without the bootstrap step), create it from ../../references/active_target_template.yaml and then set active:.
Print a summary: the previous active value, the new active value, the chosen profile's reference_devkit.name (and custom_carrier.name if present), and a reminder that downstream skills (jetson-customize-clocks, jetson-customize-nvpmodel, jetson-customize-fan, jetson-optimize-memory) will now resolve to this target.
If a downstream skill triggered this run, tell the user to re-issue their original request; do not silently re-trigger it.
target-platform/ exists and contains at least one *.yaml profile(excluding active_target.yml).
target-platform/active_target.yml is present, or the template at../../references/active_target_template.yaml is available so this skill can recreate the pointer.
active: line in active_target.yml; never writesprofile YAMLs.
jetson-init-target instead.
ambiguous selections are re-prompted.
*.yaml other than the pointer; run /jetson-init-target first.
the chosen filename is verified before writing; if seen, hand-edit active_target.yml back to a valid filename or rerun with the right selection.
NA — legitimate "no selection" state; pickany listed profile and the pointer will be set.
is not on disk, refuse and route them to jetson-init-target. Do not silently fall through to authoring.
active_target.yml to point at a missing profile.Verify the chosen filename exists in target-platform/ before writing.
active_target.yml's comment block when editing —only the active: line should change.
active_target.yml from the profile list. It lives inthe same directory but is the pointer, not a profile.
active: NA is the legitimate "no selection" state. Treat itthe same as a fresh pointer — don't refuse, just show the list and let the user pick.
user confirmation — still confirm before flipping the pointer.
../../context/target-platform-contract.md — the contract this skill writes to.../../references/active_target_template.yaml — schema starter for the active-target pointer (used to recreate it if the file is missing).../jetson-init-target/SKILL.md — sibling skill: author a new profile YAML.Other measured skills in the registry, with their headline benchmark lift.