mcpField
G
groove-admin-update

groove-admin-update

github.com/andreadellacorteエージェントワークフロー6528 回インストール14 週間前に更新
リポジトリ

groove-admin-update について

最新リリースのインストール、ローカル状態の未適用マイグレーションの順次実行、プラットフォーム別スキルのシンボリックリンク更新を行う Groove メンテナンススキルです。Groove のメンテナーや既存環境を更新するユーザー向けです。

主な機能

  1. 01最新 GitHub リリースの確認
  2. 02再試行を伴うインストールとバージョン照合
  3. 03バージョン順のマイグレーション適用
  4. 04ローカル Groove バージョンの更新
  5. 05プラットフォーム別スキルリンクの更新

活用シーン

  1. 01新リリース後の Groove 更新
  2. 02既存ローカル Groove 状態の移行
  3. 03更新後のプラットフォーム別スキルリンク修復

インストール

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

$npx skills add https://github.com/andreadellacorte/groove --skill groove-admin-update

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

詳細

groove-admin-update

メンテナー(andreadellacorte/groove リポジトリ): 新しい GitHub リリースを公開した後、チェックアウト済みの .agents/skills/groove* が npx skills add andreadellacorte/groove でインストールされるものと一致するように、groove リポジトリのルートでこれを実行してください。詳しくは CONTRIBUTING.md の「リリースの公開」を参照してください。そのために skills/ から手動で rsync を実行しないでください。

結果

保留中のすべてのマイグレーションが、ユーザーのローカル groove 状態にバージョン順で適用されます。.groove/index.md には、現在インストールされている groove のバージョンが反映されます。

受け入れ条件

  • 更新後、.groove/index.md の groove-version: が skills/groove/SKILL.md の version: と一致している
  • 保留中の各マイグレーションが順番どおりに適用されている
  • マイグレーションが成功するたびに groove-version: が更新される(途中までの進行状況から復旧可能)
  • すでに最新の場合、明確に報告して終了する
  • 正しい情報源の確認:「最新」と報告するのは、インストール済みスキルのバージョンが最新の GitHub リリースと一致する場合のみです。追加の手順で古いバージョンがディスクに残った場合(キャッシュやデフォルトブランチなど)、ユーザーに警告し、修正方法を伝えます

手順

  1. https://api.github.com/repos/andreadellacorte/groove/releases/latest から最新のリリースタグを取得します(tag_name。先頭の v は除去)。これが対象バージョンです。API 呼び出しに失敗した場合は、バージョン確認をスキップし、対象バージョンを指定せずに続行します。
  2. 再試行しながらインストール:npx skills add andreadellacorte/groove --yes を実行します(@tag は付けません。CLI はタグ構文に対応していません)。完了後、skills/groove/SKILL.md の version: を読み取り、対象バージョンと比較します。インストール済みバージョンが対象バージョンより古いままの場合は、10 秒待ってから npx skills add andreadellacorte/groove --yes を再試行します。合計で最大 3 回まで繰り返します。すべての試行で対象バージョンをインストールできなかった場合は、「インストール済みは v ですが、最新リリースは v です — npx skills add が古いバージョンをキャッシュしている可能性があります。後でもう一度お試しください。」と報告して終了します。
    • インストールに成功したら、続行する前に、この SKILL.md(skills/groove-admin-update/SKILL.md)をディスクから再読み込みします。スキルの更新によって更新コマンド自体も更新されている可能性があるため、以降の手順には最新バージョンの内容を反映する必要があります
  3. .groove/index.md から groove-version: を読み取ります。キーが存在しない場合は 0.1.0 とみなし、書き込みます
  4. skills/groove/SKILL.md の version: からインストール済みバージョンを読み取ります(手順 2 ですでに対象バージョンと一致することを確認済みです)
  5. ローカルバージョンとインストール済みバージョンが一致する場合は、「groove は最新です(v)」と報告して終了します
  6. skills/groove/migrations/index.md を読み取り、マイグレーション表を解析します
  7. 表の順序どおりに、To がローカルバージョンより大きく、かつインストール済みバージョン以下の行を抽出します。From フィールドは参考情報のみで、実行可否の判断には使用しません
  8. バージョンが異なるのにマイグレーションが見つからない場合は、.groove/index.md の groove-version: をインストール済みバージョンに直接更新し、「状態のマイグレーションは不要です — バージョンを v に更新しました」と報告します
  9. 保留中の各マイグレーションについて、次を行います。 a. 「 → を適用中:」と報告します b. マイグレーションファイルを読み取り、実行します c. .groove/index.md の groove-version: を To バージョンに更新します d. 「✓ → を適用しました」と報告します
  10. 概要を報告します:N 件のマイグレーションを適用し、現在のバージョンは v です
  11. 更新後にプラットフォームのシンボリックリンクを再同期します。
    • .agents/skills/ 内で groove から始まる各ディレクトリについて、次を行います。
      • .claude/skills/<name> が ../../.agents/skills/<name> を指すシンボリックリンクであることを確認します(古い場合は作成または更新)
      • .cursor/skills/ が存在する場合は、.cursor/skills/<name> が ../../.agents/skills/<name> を指すシンボリックリンクであることを確認します
    • .agents/skills/ に存在しなくなった .claude/skills/groove-* または .cursor/skills/groove-* の項目を削除します(削除済みスキルの古いシンボリックリンク)
    • 次を実行します:for skill in .agents/skills/groove*; do name=$(basename "$skill"); ln -sfn "../../.agents/skills/$name" ".claude/skills/$name"; done
    • 既存のディレクトリシンボリックリンク内にネストしたシンボリックリンクが作られるのを防ぐため、ln -sfn(参照先をたどらない)を使用します
    • 「✓ プラットフォームのシンボリックリンクを更新しました」と報告します

制約

  • 「最新」の信頼できる情報源は GitHub のリリースです — npx skills add は古いバージョンをキャッシュすることがあります。ステップ 1~2 では最新のリリースタグを取得し、正しいバージョンがインストールされるよう、最大 3 回までインストールを再試行します。
  • マイグレーションをスキップしないでください — From がローカルのバージョンと正確に一致しない場合でも、該当するすべてのマイグレーションを表の順序どおりに適用します
  • groove-version: は最後にまとめてではなく、個々のマイグレーションの適用後に更新します
  • マイグレーションに失敗した場合:停止し、失敗内容と現在のバージョンを報告して、続行しないでください
  • スキルファイルは変更しないでください — その処理は npx skills update が行います。このコマンドはローカル状態のみをマイグレーションします
  • ローカル状態には、.groove/index.md の設定キー、メモリディレクトリの構造、AGENTS.md のセクションが含まれます
  • 各マイグレーションファイルは冪等です — 一部失敗した後に再実行しても安全です

コメント