mcpField
J
jetson-set-target

jetson-set-target

github.com/nvidia開発3.8k1.1k 回インストール今日更新
リポジトリ

jetson-set-target について

jetson-set-targetは、既存のJetsonターゲットプロファイル間でアクティブな対象を切り替えるスキルです。変更するのはactive_target.ymlのみで、選択したプロファイルの存在を確認し、新規作成は行いません。

主な機能

  1. 01既存ターゲットプロファイルの一覧
  2. 02名前またはファイル名による選択
  3. 03ポインタファイルのコメント保持
  4. 04更新前のプロファイル存在確認
  5. 05解析不能なプロファイルを除外して一覧表示

活用シーン

  1. 01Jetsonターゲット間の切り替え
  2. 02後続のカスタマイズスキル向け対象の選択
  3. 03有効なプロファイルへのアクティブポインタの復旧

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nvidia/skills --skill jetson-set-target

インストール後、Claude Code で/jetson-set-targetを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

詳細

ターゲットプラットフォームを設定

概要

このスキルは、ターゲットプラットフォームに関する契約の../../context/target-platform-contract.mdにおける切り替え側です。編集するのはtarget-platform/active_target.ymlのみで、新しいプロファイル YAML を作成することはありません。新しいプロファイルを作成する場合は、同階層のスキルjetson-init-targetを使用してください。

出力は1つのみです。target-platform/active_target.ymlを更新し、ユーザーが選択した既存のプロファイルを指すようにします。

呼び出すタイミング

  • ユーザーが、すでに存在するプロファイルの中から別のターゲットプラットフォームへの切り替え、変更、または有効化を依頼した場合。
  • 下流のスキルが「アクティブなターゲットがありません」という理由で処理を拒否し、かつtarget-platform/に1つ以上のプロファイル YAML がすでに存在する場合。
  • ユーザーがファイル名または製品名でターゲットを指定し、そのプロファイル YAML がすでにディスク上にある場合。

target-platform/が存在しない、空である、またはactive_target.ymlしか含まれていない場合は、処理を中止し、最初にjetson-init-targetを実行するようユーザーに伝えてください。

手順

プロファイルディレクトリを確認する
  1. target-platform/active_target.ymlを読み込みます(ファイルがない場合は、このスキルではactive: NAとして扱います。必要であれば、「アクティブなポインターを更新する」手順でテンプレートのヘッダーを維持したままファイルを作成します)。
  2. target-platform/*.yamlを一覧表示します。ただし、active_target.yml自体は除外してください。
状況対応
プロファイル YAML が存在しない拒否します。プロファイルを作成するためにjetson-init-targetを実行するようユーザーに伝えます。
プロファイルが1つだけで、すでにアクティブすでにアクティブであることをユーザーに伝えます。変更は不要です。処理を終了します。
プロファイルが1つだけで、アクティブではないユーザーに確認してから、選択したプロファイルを指定して「アクティブなポインターを更新する」手順に進みます。
複数のプロファイルがある「一覧を表示する」手順に進みます。
一覧を表示する

プロファイルをアルファベット順に番号付きで表示します。切り替え元がわかるよう、現在アクティブな選択項目には(active)を付けてください。ファイルを開かなくても特定できるよう、各プロファイルの YAML を解析し、reference_devkit.name(存在する場合はcustom_carrier.name)とflash_configを含む1行の概要を表示してください。

サンプル形式:

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

プロファイル YAML の解析に失敗した場合や、必要なフィールドがない場合は、ファイル名のみを(unparseable — fix or remove)マーカー付きで表示して次に進みます。ファイル1つの問題を理由に、スキル全体を拒否してはいけません。

選択を促す

次のように促します。

番号、ファイル名(拡張子を除く)、製品名(部分一致)、またはcancelを選んでください。

選択結果を1つのプロファイルファイル名に解決します。ユーザーが現在アクティブなプロファイルを選んだ場合は、その旨を伝え、ポインターを書き換えずに終了します。選択が曖昧な場合は、候補を一覧表示して再度尋ねます。

アクティブなポインターを更新する

target-platform/active_target.ymlを編集します。

  • active: <chosen-filename>.yamlを設定します。
  • ヘッダーのコメントブロックはそのまま維持し、active:行のみを変更してください。
  • ファイルが存在しない場合(ユーザーがブートストラップ手順なしでtarget-platform/を手動設定した場合など)は、../../references/active_target_template.yamlからファイルを作成してから、active:を設定します。
確認

前のアクティブ値、新しいアクティブ値、選択したプロファイルのreference_devkit.name(および存在する場合はcustom_carrier.name)を含む概要を表示し、下流のスキル(jetson-customize-clocks、jetson-customize-nvpmodel、jetson-customize-fan、jetson-optimize-memory)が今後このターゲットを参照することを伝えてください。

下流のスキルがこの実行のきっかけとなった場合は、ユーザーに元の依頼を再度送るよう伝えてください。自動的に再実行してはいけません。

前提条件

  • target-platform/が存在し、active_target.ymlを除く*.yamlプロファイルを少なくとも1つ含んでいること。
  • target-platform/active_target.ymlが存在すること。または、このスキルでポインターを再作成できるよう、../../references/active_target_template.yamlが利用可能であること。

制限事項

  • active_target.yml の active: 行のみを編集します。プロファイルの YAML ファイルには書き込みません。
  • プロファイルの YAML ファイルが存在しない場合は処理を拒否し、代わりにユーザーを jetson-init-target に案内します。
  • 単純な部分文字列一致を超えて、あいまいな製品名を解決することはできません。選択があいまいな場合は、再度選択を求めます。

トラブルシューティング

  • 「プロファイルが見つかりません」という拒否 — ポインター以外に *.yaml が存在しないディレクトリです。まず /jetson-init-target を実行してください。
  • ポインターが存在しないプロファイルに書き換えられた — 書き込み前に選択したファイル名を確認するため、本来は発生しません。発生した場合は、active_target.yml を有効なファイル名に手動で戻すか、正しい選択で再実行してください。
  • アクティブなポインターが NA と表示される — 正当な「未選択」状態です。リストから任意のプロファイルを選ぶと、ポインターが設定されます。

注意点

  • ここでは作成しません。 ユーザーが指定したターゲットのプロファイル YAML がディスク上にない場合は、処理を拒否し、jetson-init-target に案内します。作成処理に暗黙のうちに移行しないでください。
  • 存在しないプロファイルを指すように active_target.yml を編集しないでください。 書き込む前に、選択したファイル名が target-platform/ に存在することを確認してください。
  • 編集時は active_target.yml のコメントブロックを保持してください。変更するのは active: 行のみです。
  • プロファイルの一覧から active_target.yml を除外してください。同じディレクトリにありますが、これはポインターであり、プロファイルではありません。
  • active: NA は正当な「未選択」状態です。 新しいポインターと同じように扱ってください。処理を拒否せず、一覧を表示してユーザーに選んでもらいます。
  • プロファイルが1つだけの場合のショートカット。 プロファイルが1つしかなくても、ユーザーの確認を省略しないでください。ポインターを切り替える前に、必ず確認してください。

参考資料

コメント