Agent Skill · NVIDIA NIM

jetson-set-target

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.

Provider: NVIDIA NIM Path in repo: skills/jetson-set-target/SKILL.md

Skill body

Set Target Platform

Overview

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.

When to invoke

If target-platform/ is missing, empty, or contains only active_target.yml, stop and tell the user to run jetson-init-target first.

Procedure

Survey the profiles directory

  1. Read target-platform/active_target.yml (treat a missing file as active: 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).
  2. List target-platform/*.yaml, excluding active_target.yml itself.
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.

Show the list

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.conf

If 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 for selection

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.

Update the active pointer

Edit target-platform/active_target.yml:

Confirm

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.

Prerequisites

Limitations

Troubleshooting

Gotchas

References

Skill frontmatter

version: 0.0.1 license: Apache-2.0 metadata: {"data-classification" => "public", "author" => "Jetson Team", "tags" => ["target-platform", "configuration", "meta"], "domain" => "meta"}