mcpField
C
ce-update

ce-update

github.com/everyincエージェントワークフロー25.8k1.8k 回インストール今日更新
リポジトリ

ce-update について

ce-update は Claude Code 向けのスキルです。インストール済みの compound-engineering と upstream main のバージョンを比較し、必要に応じて更新コマンドを案内します。

主な機能

  1. 01インストール済みと upstream のバージョン比較
  2. 02main の plugin.json からバージョン取得
  3. 03スキルのパスから marketplace を特定
  4. 04取得失敗や marketplace 外の状態に対応

活用シーン

  1. 01marketplace プラグインが最新か確認
  2. 02古いプラグインの更新コマンドを確認

インストール

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

$npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-update

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

同梱ファイル

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

scripts/
currently-loaded-version.sh
marketplace-name.sh
upstream-version.sh

詳細

プラグインのバージョンを確認

インストールされている compound-engineering プラグインのバージョンが、上流の plugin.json の main ブランチと一致しているか確認し、一致しない場合は更新コマンドを提示します。 Claude Code 専用です。

上流のバージョンには、最新の GitHub リリースタグではなく、main ブランチ上の plugins/compound-engineering/.claude-plugin/plugin.json の値を使用します。マーケットプレイスではプラグインの内容を main の HEAD からインストールするためです。リリースタグと比較すると、リリース間の通常の状態として main が最後のタグより先行しているたびに、誤って更新が必要と判定されます。

ステップ 1:バージョンを調べる

以下の 3 つのスクリプトを Bash ツールで並列に実行します。それぞれ 1 行の出力を返すので、 以下の判定ロジックで使う値を取得してください。${CLAUDE_SKILL_DIR} を使用すると、 claude --plugin-dir を使ったローカル開発セッションと、標準のマーケットプレイスキャッシュへのインストールの両方で、パスを正しく解決できます。

bash "${CLAUDE_SKILL_DIR}/scripts/upstream-version.sh"
bash "${CLAUDE_SKILL_DIR}/scripts/currently-loaded-version.sh"
bash "${CLAUDE_SKILL_DIR}/scripts/marketplace-name.sh"

${CLAUDE_SKILL_DIR} が未設定、または解決されない場合(上記のコマンドが No such file or directory で失敗する場合)、ハーネスからスキルのディレクトリを取得できません。 これは標準的な Claude Code セッションではありません。ステップ 2 の __CE_UPDATE_NOT_MARKETPLACE__ の場合と同じように扱い、説明して終了してください。

scripts/upstream-version.sh は gh api を使用して、main ブランチ上の plugin.json を読み取ります。 バージョン文字列を出力します。gh が利用できない場合やレート制限を受けている場合は、 センチネル値 __CE_UPDATE_VERSION_FAILED__ を出力します。

scripts/currently-loaded-version.sh と scripts/marketplace-name.sh は、 ${CLAUDE_SKILL_DIR} をマーケットプレイスキャッシュのレイアウト ~/.claude/plugins/cache/<marketplace>/compound-engineering/<version>/skills/ce-update と照合して解析します。 バージョン部分/マーケットプレイス部分を出力します。パスが一致しない場合(claude --plugin-dir を使った ローカル開発で一般的です)は、センチネル値 __CE_UPDATE_NOT_MARKETPLACE__ を出力します。

ステップ 2:判定ロジックを適用する

失敗ケースの処理

scripts/upstream-version.sh が __CE_UPDATE_VERSION_FAILED__ を出力した場合:上流のバージョンを取得できなかったこと(gh が利用できないか、レート制限を受けている可能性があること)をユーザーに伝え、終了します。

scripts/currently-loaded-version.sh が __CE_UPDATE_NOT_MARKETPLACE__ を出力した場合:スキルは標準のマーケットプレイスキャッシュ以外から読み込まれています。次の 2 つのケースは同じ扱いになります。claude --plugin-dir を使ったローカル開発セッションか、Claude Code 以外のプラットフォームです(このスキルはプラグインハーネスのキャッシュレイアウトに依存するため、Claude Code 専用です)。ユーザーに次のように伝えてください。

"Skill is loaded from outside the marketplace cache at ~/.claude/plugins/cache/. This is normal when using claude --plugin-dir for local development. No action for this session. Your marketplace install (if any) is unaffected — run /ce-update in a regular Claude Code session (no --plugin-dir) to check that cache."

その後、終了します。

バージョンを比較する

最新 — currently_loaded == upstream:

"compound-engineering v{version} is installed and up to date."

古いバージョン — currently_loaded != upstream:

"compound-engineering is on v{currently_loaded} but v{upstream} is available.

Update with:

claude plugin update compound-engineering@{marketplace_name}

Then restart Claude Code to apply."

claude plugin update コマンドは Claude Code 自体に同梱されており、インストール済みプラグインを最新バージョンに更新します。以前の手動キャッシュ削除やマーケットプレイス更新の回避策に代わるものです。マーケットプレイス名はハードコードせず、スキルのパスから取得します。このプラグインは複数のマーケットプレイス名で配布されているためです(例:README に記載されている一般公開インストール用の compound-engineering-plugin や、社内/チーム用マーケットプレイスの別の名前)。

コメント