Generated banner for Jetson Set Target
Generated logo for Jetson Set Target

Jetson Set Target

NVIDIAOfficialCreated by Jetson TeamDistributed by NVIDIA

  • Skill
  • Workflow
  • Automation and integrations
  • Apache-2.0
  • Medium risk

From the author

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.
— the description by Jetson Team

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The jetson-set-target skill manages the active target platform configuration for Jetson development environments. It acts as a switcher, allowing users to select from existing profile YAML files located in the target-platform directory. The skill ensures that the active_target.yml file is updated correctly while preserving existing file headers, and it provides a clear summary of the selected profile to ensure the user is aware of the current configuration before proceeding with downstream tasks like building or flashing.

What it does

  • Lists available Jetson target platform profiles from the target-platform directory.
  • Displays a summary of each profile, including hardware details and flash configurations.
  • Updates the active_target.yml file to point to the user-selected profile.
  • Preserves the existing comment header in the active_target.yml file during updates.
  • Validates that the selected profile exists before modifying the pointer.
  • Provides a mechanism to recreate the active_target.yml file if it is missing.

When to use it

  • When you need to switch between different Jetson hardware targets that already have profile files.
  • When a downstream Jetson skill reports that no active target is set.
  • When you want to verify which Jetson target profile is currently active.
  • When you have multiple target profiles and need to change the active one before a build or flash operation.

Advantages

  • Prevents accidental configuration errors by verifying profile existence before switching.
  • Maintains consistency in the development environment by centralizing target selection.
  • Provides clear visibility into the current active target and available alternatives.
  • Safeguards existing file metadata by preserving headers in the configuration pointer.

Usage examples

“Switch my active target to the Orin Nano profile.”
The agent lists the available profiles, identifies the Orin Nano match, confirms the selection, and updates active_target.yml to point to the corresponding YAML file.
“Which Jetson target is currently active?”
The agent reads active_target.yml and reports the currently active profile name and its associated hardware details.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/nvidia/jetson-set-target/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip jetson-set-target.zip -d .agents/skills

Documentation by Jetson Team

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

  • The user asks to switch / change / activate a different target platform among profiles that already exist.

  • A downstream skill refused with "no active target" and target-platform/ already contains one or more profile YAMLs.

  • The user names a target by filename or product, and that profile 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.

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.

SituationAction
No profile YAMLs existRefuse. Tell the user to run jetson-init-target to author one.
Exactly one profile, already activeTell the user it is already active; no change needed. Stop.
Exactly one profile, not activeConfirm with the user, then jump to the "Update the active pointer" step with that profile selected.
Multiple profilesProceed 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:

  • Set active: <chosen-filename>.yaml.

  • Preserve the header comment block verbatim — only modify the active: line.

  • If the file does not exist (it can be missing if the user hand-set up target-platform/ without the bootstrap step), create it from ../../references/active_target_template.yaml and then set active:.

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

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

Limitations

  • Edits only the active: line in active_target.yml; never writes profile YAMLs.

  • Refuses when no profile YAMLs exist — routes the user to jetson-init-target instead.

  • Does not resolve fuzzy product names beyond simple substring match; ambiguous selections are re-prompted.

Troubleshooting

  • "no profiles found" refusal — the directory has no *.yaml other than the pointer; run /jetson-init-target first.

  • Pointer rewritten to a missing profile — should not happen because 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.

  • Active pointer reads NA — legitimate "no selection" state; pick any listed profile and the pointer will be set.

Gotchas

  • No authoring here. If the user names a target whose profile YAML is not on disk, refuse and route them to jetson-init-target. Do not silently fall through to authoring.

  • Don't edit active_target.yml to point at a missing profile. Verify the chosen filename exists in target-platform/ before writing.

  • Preserve active_target.yml's comment block when editing — only the active: line should change.

  • Exclude active_target.yml from the profile list. It lives in the same directory but is the pointer, not a profile.

  • active: NA is the legitimate "no selection" state. Treat it the same as a fresh pointer — don't refuse, just show the list and let the user pick.

  • One-profile shortcut. If only one profile exists, do not skip user confirmation — still confirm before flipping the pointer.

References

  • ../../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.

Files

SKILL.md

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

  • The user asks to switch / change / activate a different target platform among profiles that already exist.

  • A downstream skill refused with "no active target" and target-platform/ already contains one or more profile YAMLs.

  • The user names a target by filename or product, and that profile 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.

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.

SituationAction
No profile YAMLs existRefuse. Tell the user to run jetson-init-target to author one.
Exactly one profile, already activeTell the user it is already active; no change needed. Stop.
Exactly one profile, not activeConfirm with the user, then jump to the "Update the active pointer" step with that profile selected.
Multiple profilesProceed 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:

  • Set active: <chosen-filename>.yaml.

  • Preserve the header comment block verbatim — only modify the active: line.

  • If the file does not exist (it can be missing if the user hand-set up target-platform/ without the bootstrap step), create it from ../../references/active_target_template.yaml and then set active:.

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

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

Limitations

  • Edits only the active: line in active_target.yml; never writes profile YAMLs.

  • Refuses when no profile YAMLs exist — routes the user to jetson-init-target instead.

  • Does not resolve fuzzy product names beyond simple substring match; ambiguous selections are re-prompted.

Troubleshooting

  • "no profiles found" refusal — the directory has no *.yaml other than the pointer; run /jetson-init-target first.

  • Pointer rewritten to a missing profile — should not happen because 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.

  • Active pointer reads NA — legitimate "no selection" state; pick any listed profile and the pointer will be set.

Gotchas

  • No authoring here. If the user names a target whose profile YAML is not on disk, refuse and route them to jetson-init-target. Do not silently fall through to authoring.

  • Don't edit active_target.yml to point at a missing profile. Verify the chosen filename exists in target-platform/ before writing.

  • Preserve active_target.yml's comment block when editing — only the active: line should change.

  • Exclude active_target.yml from the profile list. It lives in the same directory but is the pointer, not a profile.

  • active: NA is the legitimate "no selection" state. Treat it the same as a fresh pointer — don't refuse, just show the list and let the user pick.

  • One-profile shortcut. If only one profile exists, do not skip user confirmation — still confirm before flipping the pointer.

References

  • ../../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.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Jetson Team
Publisher
NVIDIA (Official)
Distributed by
NVIDIA
Source
NVIDIA/skills · skills/jetson-set-target · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Jetson Team or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download jetson-set-target.zip