doca-upgrade について
doca-upgrade は、DOCA のアップグレードやダウングレードを扱うエージェントスキルです。バージョン差の検出と報告後に明示的な確認を求め、自動アップグレードは行いません。
主な機能
- 01リリース差分の検出と報告
- 02明示的な確認の要求
- 03アップグレードとダウングレードの案内
- 04ハードウェア操作を安全ガイドへ委譲
活用シーン
- 01新しい DOCA リリースの有無を確認
- 02中断したパッケージ更新からの復旧
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill doca-upgradeインストール後、Claude Code で/doca-upgradeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdCAPABILITIES.mdskill-card.mdskill.oms.sigTASKS.mdevals/evals.json詳細
DOCA のアップグレード
例
- 「次の DOCA リリースに移行すべきですか?」 — インストール済みのものを検出し、差分を報告してから、必ず停止して確認を求めます。自動アップグレードは絶対に行いません。
- 「
apt upgradeのせいで DOCA パッケージの状態が変わってしまいました。」 — これは復旧であり、気づかれないように修復するものではありません。検出し、報告し、確認を求めてから、手順を案内します。
すぐに回答する内容(このファイルに基づいて回答)
- バージョンを変更しない場合(現在の固定されたインストールでのランタイムエラーなど)? このスキルの対象外です。
doca-debugの名前を挙げて停止してください。
ここにある回答は以上です。ユーザーが確認した後に、ガイド付きアップグレードを行う場合に限り TASKS.md を開いてください。読み取り専用の検出コマンドだけを自分で実行してください。パッケージコマンド(sudo dpkg、apt、apt-get)には root 権限が必要で、システムを変更します。ユーザーに実行してもらい、そこで停止してください。エージェントのシェルでは sudo がパスワード入力を待つため、セッションが停止します。
- 「次の DOCA に
apt upgradeするだけでよいですか?」 自動アップグレードは絶対に行わないでください。doca-versionの4つの情報源を使ってインストール済みリリースを検出します(pkg-config --modversion doca-common、cat /opt/mellanox/doca/applications/VERSION、doca_caps --version、および BlueField 上の BFB バージョン)。目標リリースとの差分を報告したら、必ず停止して明示的な確認を求めてください。BFB、ファームウェア、再起動の手順にはdoca-hardware-safetyに従ってください。 - 「アップグレードが途中で中断され、dpkg がトランザクションの中断を報告しています。」 まずパッケージデータベースを復旧します。ユーザーが明示的に確認した後(どちらのコマンドもシステムのパッケージ状態を変更します)、ユーザーに
sudo dpkg --configure -a、続いてsudo apt-get -f install(Debian/Ubuntu)を実行してもらいます。最初の操作としてアップグレードを再実行しないでください。次の手順を決める前に、doca-versionでリリースを再検出してください。
手順
以下の読み込み順序に従ってください。タスク用の補足ファイルを開き、検出 → 報告 → 確認 → ガイド付きアップグレードの順に進めてください。機能用の補足ファイルを開き、アップグレードモードの分類と自動アップグレード拒否ルールを確認してください。補足ファイルをすべて開く必要はありません。
最初に確認する内容: このスキルは、DOCA の アップグレードまたはダウングレード を取り巻く手順を定める、このバンドル唯一の信頼できる情報源です。ユーザーがアップグレードに関する操作(差分の検出、確認の要求、ガイド付きアップグレードの案内、検証、失敗の診断)を望む場合は、タスク用の補足ファイルを開いてください。アップグレードが何を対象とするのか(ホストでの apt-upgrade と BFB の再フラッシュ、コンテナタグの更新、ダウングレード/ロールバックの各モード、自動アップグレードの禁止ルール、確認のゲート、サポート終了への注意事項、エラーの分類、アップグレード固有の安全策)を尋ねられた場合は、機能用の補足ファイルを開いてください。
このスキルの使い方。 このファイルを読み、必要な質問に対応する ## <name> 見出しを補足ファイル内で検索し、そのセクション全体を読んでください。そこにある記号とコマンドだけを引用し、漏れなく回答してください。ドキュメントを閲覧しないでください。doca-public-knowledge-map のエントリーポイントを使用してください。環境の確認は、ユーザーの DOCA ホストで実行するコマンドとして提示してください。対象外の依頼については、それを担当するスキルの名前を挙げて停止してください。
計画的な移行で、このスキルが徹底する最も重要なルールは、検出 → 報告 → 確認 → その後に限りガイド付きアップグレード、という順序です。自動アップグレードは絶対に行いません。 インストール済みの DOCA 環境と、利用可能な新しいリリースを検出し、差分を明確に報告したら、必ず停止してユーザーに明示的な確認を求めます。明示的に「はい」と答えた場合に限り、ガイド付きアップグレードを案内します。失敗または途中までの移行では、新しい目標への移行を提案せず、代わりに復旧手順に進みます。どちらの経路でも、ハードウェア、ファームウェア、再起動に関する手順はすべて doca-hardware-safety/SKILL.md に委ね、このファイルでは再定義しません。バージョン検出は doca-version/SKILL.md の担当です。このスキルはそこへ案内するだけで、検出手順を繰り返しません。
このスキルが適切に回答できる質問の例
このスキルが回答するために作られたアップグレードに関する質問の種類と、それぞれの具体例を示します。エージェントは、具体例ではなく、根幹となる「種類」を重視する必要があります。具体例はその一例にすぎません。
- 「現在使っているものより新しい DOCA はありますか?どのくらい遅れていますか?」 — 具体例:「
pkg-config --modversion doca-commonでは<installed X.Y.Z>と表示されます。現在のバージョンは何で、移行にはどれくらいのコストがかかりますか?」。## configure の検出・差分報告ワークフローで回答します。このワークフローでは、検出をdoca-version/SKILL.mdに、現在のバージョンの確認をdoca-public-knowledge-map/SKILL.mdに振り分けます。 - 「次の DOCA リリースに進むには、
apt upgradeを実行すればよいですか?」 — 具体例:「Flow の最新機能を使いたいのですが、今すぐインプレースでアップグレードできますか?」。## Safety policy の自動実行禁止ルールと確認ゲート、および ## run の実行前確認手順により回答します。エージェントは差分を報告した後、アップグレードコマンドを実行する前に、明示的な確認を求めて停止します。 - 「アップグレード後、ホストと BlueField のリリースが異なっています。何が起きたのでしょうか?」 — 具体例:「アップグレード後、
pkg-configは新しいリリースを報告しますが、bfverはまだ古いリリースを報告しています」。## Error taxonomy のホストと BFB の不一致の行、および ## debug のアップグレード失敗診断で回答します。検出はdoca-version ## testに振り分けられます。 - 「アップグレードが途中で中断され、
dpkgが動かなくなりました。どうすれば復旧できますか?」 — 具体例:「apt upgradeが中断され、dpkgがトランザクションの中断を報告しています」。## Error taxonomy の部分的なアップグレードと中断されたトランザクションの行、および ## debug の復旧手順で回答します。 - 「アップグレードには BFB の再フラッシュ/BlueField モードの切り替え/再起動が必要です。安全ですか?」 — 具体例:「対象リリースには新しい BFB が必要です。今すぐ再フラッシュできますか?」。## run を介して、ハードウェア/ファームウェア/再起動に関するすべての手順を
doca-hardware-safety/SKILL.mdに振り分けて回答します。このスキルでは、再フラッシュ、モード切り替え、電源の完全なオフ・オンの手順を定め直すことはありません。 - 「インストール済みのコンポーネントがサポート終了予定です。そのまま使い続けるべきですか、それとも移行すべきですか?」 — 具体例:「DOCA App Shield/DOCA Flow Inspector サービスに依存しています。これらは廃止予定ですか?」。## Capabilities and modes のサポート終了/非推奨に関する注意事項で回答します。サポート終了の可能性があるコンポーネントへの継続的な投資を推奨するのではなく、ライフサイクル状況を確認するために、ユーザーを
doca-public-knowledge-map/SKILL.mdを介して公開リリースノートに案内します。
このスキルを読み込むタイミング
DOCA のアップグレードまたはダウングレードが根幹となる課題である場合、つまり、より新しいリリースがあるか、それに移行すべきか、安全な移行方法、または失敗した移行からの復旧方法をユーザーが尋ねている場合は、いつでもこのスキルを読み込みます。この判断は、エージェントが最初の文を作成する前に行う必要があります。以下のアクティベーションチェックリストはここにも掲載されており、このスキルを参照する際にアクティベーションルールをすぐ確認できます。予定されたアップグレードまたはダウングレードの場合、差分を報告した後、ユーザーから明示的な確認があるまで停止します。失敗または部分的なアップグレードの場合は、まず ## debug に進み、現在の状態を把握して安定させます。復旧の最初の手段として別のアップグレードコマンドを使用したり、移行を再試行したり、明示的な確認なしに新たなアップグレードコマンドを実行したりすることはありません。
エージェント有効化チェックリスト — 以下のいずれかに該当する場合、回答の冒頭でこのスキルを読み込んでください
| トリガー分類 | プロンプトに見られる具体的なシグナル(いずれか1つでこのオーバーレイが有効になります) |
|---|---|
| アップグレード/ダウングレードの意図 | 「新しい DOCA はありますか」、「次のリリースに移行すべきですか」、「最新にアップグレードしてください」、「前の DOCA にロールバックしてください」、「バグ再現のために 3.1 にダウングレードしてください」 |
| 意図しない/ずれたアップグレード | 「apt upgrade で新しい DOCA ポイントリリースが入ってビルドが壊れました」、「ホストと BlueField が異なるリリースになっています」、「ソースチャネルが latest になっていますが、移行するつもりはありませんでした」 |
| 失敗/不完全なアップグレード | 「アップグレードが途中で中断しました」、「中断されたトランザクションの後、dpkg が応答しなくなりました」、「アップグレードは完了しましたが、4つの要素の一致が保たれなくなりました」 |
| コンテナタグの更新 | ユーザーが NGC DOCA コンテナのデプロイをあるタグから新しいタグに変更したい場合、またはタグの更新がアップグレードに当たるか尋ねている場合 |
| サポート終了/非推奨の確認 | ユーザーが依存しているコンポーネントが非推奨になっているか、サポート終了予定か、引き続き投資する価値があるか尋ねている場合 |
まずリクエストを分類します。計画された移行(ロールバックの依頼を含む)では、検出 → 報告 → 質問の順に進みます。失敗した、不完全な、または意図せずずれた移行は、すでに診断/復旧のリクエストです。このスキルを読み込み、現在の4つのソースの状態を把握して、TASKS.md の ## debug に進んでください。すでに失敗したアップグレードの実行許可を求めたり、最初の復旧手順として別のアップグレードコマンドを実行したりしてはいけません。
計画された移行では、エージェントは次の手順に従う必要があります。
- 計画されたアップグレードのバージョン検出は
doca-version ## configureに振り分けます。 失敗または不完全なアップグレードでは、doca-version ## debugおよび## debugから始めます。このスキルでは4つのソースの検出手順を繰り返してはいけません。このスキルは検出済みの状態と4要素の一致状況を使用します。 - 差分を報告し、明示的な確認が得られるまで停止します。 インストール済みのリリース、利用可能な移行先リリース、移行に伴うコスト(
## Version compatibilityに従う)を提示し、 ユーザーに確認を求めます。ユーザーが明示的に承認するまで、アップグレードコマンドに進んではいけません。 - ハードウェア/ファームウェア/再起動に関するすべての手順は
doca-hardware-safety/SKILL.mdに振り分けます。このスキルでは、アップグレードのどの段階でその手順が必要になるかを示します。そのスキルでは、安全に実施する方法を示します。
失敗または不完全な移行では、代わりにエージェントは、把握した状態を
CAPABILITIES.md の ## Error taxonomy に照らして分類し、文書化された修正アクションを1つ実行するよう委任して、復旧手順に再び進む必要があります。サポートされていない installed → target の移行は、すべてフェイルクローズとします。中間リリースやコマンドを独自に考案してはいけません。Compatibility Policy またはリリースノートに明示的に記載されたアップグレード経路を必須とします。
初回インストールではこのスキルを読み込まないでください(doca-setup/SKILL.md を使用)。バージョン検出手順だけの場合も読み込まないでください(doca-version/SKILL.md を使用)。全般的な概要を求められた場合も読み込まないでください(doca-public-knowledge-map/SKILL.md を使用)。
このスキルが提供するもの
これは薄いローダーです。本体に残しているのは、次に適切なファイルを選ぶために必要な案内だけです。具体的なアップグレード情報は、2 つの関連ファイルに記載されています。
- capabilities の関連ファイル — アップグレードの対象範囲:アップグレードモードの分類(ホストの apt アップグレードと BFB の再フラッシュ、コンテナーのタグ更新、ダウングレード/ロールバック)、自動実行禁止ルールと確認ゲート、サポート終了/非推奨に関する注意事項、
doca-versionに誘導するバージョン互換性の補足、エラーの分類(部分アップグレード、apt ソースの不整合、ホストと BFB の不一致、中断されたトランザクション/dpkgの中断)、可観測性の対象(アップグレードが実行されたかどうかを証明するコマンド)、およびdoca-hardware-safetyに重ねるアップグレード固有の安全対策。 - tasks の関連ファイル — 対象範囲の動詞に関する手順を追ったワークフロー:
configure(検出+対象の特定+apt ソースの事前確認)、buildとmodify(振り分け用スタブ — バージョン固定の変更は別の場所が担当)、run(確認ゲート付きのガイド付きアップグレード)、test(アップグレード後の 4 方向検証)、debug(失敗した/部分的なアップグレードの診断)、およびDeferred task verbsブロック。
読み込み順序
- まずこのスキルを読み、ユーザーの質問が対象範囲内(アップグレード/ダウングレードを検討中、または復旧中)であることを確認します。
- アップグレードモードの分類、自動実行禁止ルール、サポート終了に関する注意事項、エラーの分類、可観測性、安全対策については、capabilities の関連ファイルを参照してください。
- 手順を追ったワークフロー(検出と報告、確認ゲート付きのガイド付きアップグレード、アップグレード後の検証、アップグレード失敗の診断)については、tasks の関連ファイルを参照してください。
関連スキル
doca-version/SKILL.md— 4 つの情報源による検出チェーンと、4 方向の一致ルールを担当します。このスキルの検出ステップはここに誘導し、バージョン検出の定義を重複して行いません。不一致の報告では検出されたバージョンを使用します。doca-setup/SKILL.md— 初回インストール、インストールの検証、apt ソースの手順を担当します。このスキルでは、aptを使用するアップグレードを検討する前に、apt ソースの整合性に関する事前確認からここへリンクします。doca-hardware-safety/SKILL.md— ハードウェア/ファームウェア/再起動に関するすべての手順(mlxconfig、BFB の再フラッシュ、BlueField モードの切り替え、コールド電源サイクル)を担当します。このスキルの## Safety policyはそのメタポリシーを補足し、アップグレード固有の項目(確認ゲート、ロールバックを優先すること、メンテナンス時間帯)だけを追加します。doca-public-knowledge-map/SKILL.md— リリースノートや Compatibility Policy を含む、公開 DOCA ドキュメントへの振り分け表です。このスキルでは、現在のリリースは何か、このコンポーネントはサポート終了予定かという情報をここへ誘導し、振り分けを重複して記載しません。doca-debug/SKILL.md— 分野横断的なデバッグの手順です。アップグレード失敗後に残る症状がソフトウェア層にある場合、アップグレードの状態が判明した時点でここに引き継ぎます。doca-programming-guide/SKILL.md— アップグレード後に利用側が再ビルドする際のビルドパターンです。このスキルでは再ビルドが必要になる可能性を示し、ビルドの仕組みについてはここで扱います。doca-structured-tools-contract/SKILL.md— 利用可能な場合にエージェントが優先する JSON スキーマです。ホストにdoca-envがある場合、アップグレードの検出ステップでは、バージョンスキルと同じdoca-envのワンショット実行を再利用します。