ag-update について
ag-update は、アプリに導入済みの AG Grid、Charts、Studio 製品の更新をエージェントに案内するスキルです。対象範囲とバージョン変更を整理し、決定事項を記録して、実施用の変更ファイルを作成します。
主な機能
- 01プロジェクトと導入済み製品を特定
- 02製品とスキルのバージョンを確認
- 03更新範囲と目標バージョンを記録
- 04ユーザーと動作変更を確認
- 05更新内容のファイルを作成
活用シーン
- 01複数プロジェクトの AG 製品更新を計画
- 02目標バージョンと対象範囲を選定
- 03更新適用前に動作変更を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ag-grid/ skills --skill ag-updateインストール後、Claude Code で/ag-updateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
VERSION.mdreferences/changes-file-preamble.mddetermine-changes.mddetermine-scope.mdpackages.md詳細
ルール
- codemod や MCP サーバーを使用したり、その使用やインストールを提案したりしないでください。これらは、現在行っている作業には関係ありません。
- 以下に記載された手順に正確に従ってください。
- 「Tell the user X」と指示された場合は、そのメッセージをユーザーに表示して、続けてください。
- 「Ask the user X」と指示された場合は、その質問をユーザーに表示して、停止してください。回答を受け取るまで続けてはいけません。ユーザーに質問するためのツールを利用できる場合は、それを使用してもかまいません。
- このスキルは、結果を記録したファイルを各ステップで作成する一連の手順で構成されています。次のステップに進む前に、必ずファイルが書き込まれていることを確認してください。手順をまとめたり、前のステップで後のステップの情報を参照したりしてはいけません。
ユーザーに手順を説明する
ユーザーに「AG Update スキルへようこそ。まず、お使いのアプリケーションについて情報を集めましょう」と伝えてください。
バージョンの確認
- このスキルのフォルダーにある
VERSION.mdを読み込みます。最新版を取得します:https://raw.githubusercontent.com/ag-grid/skills/main/skills/ag-update/VERSION.md。 - semver として比較します:
- ローカルのバージョンが取得したバージョンと同じか、それより新しい場合:何も伝えずに続けます。
- ローカルのバージョンが古く、異なるのがパッチまたはマイナーの部分のみの場合:新しいバージョンがリリースされたことをユーザーにはっきりと伝え、新しいバージョンと現在インストールされているバージョンを示し、ハーネスを終了して
npx skills update ag-grid/skillsを実行するよう提案します。この古いバージョンのスキルで続行するかユーザーに尋ね、続行する場合は「continue」と入力するよう案内します。 - ローカルのバージョンが古く、メジャーの部分が異なる場合:現在のスキルバージョンには互換性がなく、動作しないことをユーザーにはっきりと伝え、新しいバージョンと現在インストールされているバージョンを示します。再開する前にハーネスを終了して
npx skills update ag-grid/skillsを実行するよう伝えます。停止してください。これでスキルの実行は終了です。ユーザーの返答にかかわらず、このファイルにある他の指示には従わないでください。
既存の計画を確認する
- 現在のディレクトリで
AG_UPDATE_*.mdに一致するファイルを探します。 - ファイルが見つかった場合は、これらのファイルを削除して最初から開始するか、再開するかをユーザーに尋ねます。
- 最初から開始する場合は、
AG_UPDATE_*.mdファイルを削除します。 - 再開する場合は、すでにファイルが生成されているステージを省略して、スキルを続行します。
- 最初から開始する場合は、
対象範囲の決定
このセクションでは、AG_UPDATE_SCOPE.md ファイルに情報を記録します。
- 更新候補となるプロジェクトをすべて特定します。手順は
references/determine-scope.mdに記載されています。サブエージェントを利用できる場合は、そのファイルパスをサブエージェントに渡して結果を報告するよう依頼します。利用できない場合は、自分で手順に従います。このスキルの実行時に特定のプロジェクトをアップグレードするよう指示されている場合は、その指示をサブエージェントに渡します。 - 使用中の3つの製品(grid、charts、studio)のうち、どれがインストールされているかを確認します。以降のすべてのメッセージでは、実際にインストールされている製品のみに言及してください。ユーザーがインストールしていない製品に言及して、手順をわかりにくくする必要はありません。
- 使用中の製品の最新バージョンを
npm view ag-grid-community version、npm view ag-charts-community version、および/またはnpm view ag-studio versionで確認します。 - 見つかったプロジェクト、現在のバージョン、および更新先として提案する最新バージョンをユーザーに伝えます。続行するか尋ね、更新先バージョンの変更や、該当する場合は対象プロジェクトの一部のみを選択できることも案内します。
- 続行する前に、ユーザーの選択を AG_UPDATE_SCOPE.md に記録します。
## Projects to updateの下には、生成時とまったく同じ2階層の Markdown リスト形式でプロジェクトと依存関係を記録し、ユーザーが更新しないと指定したプロジェクトは削除します。## Target versionsの下には、更新する grid および/または charts の対象バージョンを記録します。
サポート対象外のバージョンに関する警告
移行元としてサポートされる最も古いメジャーバージョンは、grid が 25、charts が 8、studio が 1 です。アプリケーションでそれ以前のバージョンを使用している場合は、スキルの実行を停止し、その理由をユーザーに伝えてください(このスキルには、これらのバージョンまでの変更情報しかないためです)。
変更内容をすべて特定する
このステージでは、AG_UPDATE_CHANGES.md ファイルに内容を記入します。
- 変更対象となり得る内容をすべて特定します。手順はファイル
references/determine-changes.mdにあります。サブエージェントを利用できる場合は、そのファイルのパスをサブエージェントに渡すと、結果を AG_UPDATE_CHANGES.md に記入します。利用できない場合は、自分で手順に従ってください。サブエージェントには AG_UPDATE_SCOPE.md のパスも渡してください。 - 次のステップに進む前に、結果をそのまま AG_UPDATE_CHANGES.md に記入します。
動作の変更を絞り込む
動作の変更については、何もせずに変更を受け入れるか、緩和策を適用して以前の動作に戻すかを選択できます。この判断はユーザーが行う必要があります。
- AG_UPDATE_CHANGES.md から BEHAVIOUR とタグ付けされた変更を抽出します。
- 件数を数え、ユーザーに「動作の変更が $COUNT 件あります。それぞれについて、新しい動作を受け入れるか、以前の動作に戻すかを確認する必要があります」と伝えます。
- 動作の変更をユーザーに提示します(緩和策は含めず、説明のみを提示します)。
- 動作の変更について詳しい説明が必要か尋ね、どの変更を受け入れ、どの変更に緩和策を適用するかをユーザーに確認します(注:数が多い場合、この質問にはツールを使わず、通常の会話で尋ねてください)。
- ユーザーの回答を受け取ったら、受け入れると指定された動作の変更を AG_UPDATE_CHANGES.md から削除し、緩和策を適用する変更だけを残します。
- 動作の変更が残っている場合は、AG_UPDATE_CHANGES.md の末尾に
# Validationセクションを追加し、本文に「BEHAVIOUR とマークされた変更はすべて、ユーザーが適用すると決めた任意の変更です。テストや型チェックでは変更が適用されていなくても失敗しない場合があるため、サブエージェントが利用可能であればそれを使い、すべて適用されていることを再確認してください。」と記載します。
完了をユーザーに報告する
ファイルを適用できる状態になったことをユーザーに伝え、AG_UPDATE_CHANGES.md のパスを示します。
次のテキストをそのまま表示します。
For best results we suggest that you start a new agent session or clear the context of this one, and prompt your agent to plan an update based on the changes listed in AG_UPDATE_CHANGES.md.
This skill is under active development, please report issues to https://github.com/ag-grid/skills/issues or report your results and share ideas at https://github.com/ag-grid/skills/discussions
コメント
Markdown 対応