mcpField
P
plugin-registry

plugin-registry

github.com/laurigatesエージェントワークフロー5939 回インストール1 日前に更新
リポジトリ

plugin-registry について

plugin-registry は、Claude Code のインストール済みプラグインレジストリを理解し、問題を調べるためのスキルです。スコープや登録内容を説明し、インストール済み表示なのに動作しない場合などを扱います。

主な機能

  1. 01レジストリ構造と項目の説明
  2. 02ユーザー/プロジェクトスコープの確認
  3. 03孤立した項目の診断
  4. 04インストールと読み込みの問題調査
  5. 05レジストリ項目の編集

活用シーン

  1. 01インストール済み表示なのに動かないプラグインの調査
  2. 02プロジェクトスコープ項目の確認
  3. 03存在しないプロジェクトの項目削除
  4. 04レジストリ設定の修復

インストール

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

$npx skills add https://github.com/laurigates/claude-plugins --skill plugin-registry

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

詳細

Claude Code プラグインレジストリ

Claude Code プラグインレジストリを理解し、トラブルシューティングするための専門知識です。

このスキルを使用するタイミング

次の場合にこのスキルを使用します…次の場合は別のものを使用します…
プラグインに「インストール済み」と表示されるが、動作しない新しいプラグインをセットアップする場合(/configure:claude-plugins を使用)
プラグインのスコープを理解する必要があるプラグインの権限を設定する場合(settings-configuration スキルを使用)
孤立したレジストリエントリを修正する場合プラグインを使用してワークフローを作成する場合(github-actions-plugin を使用)
インストールの失敗をデバッグする場合

レジストリの場所

プラグインレジストリは次の場所に保存されています。

~/.claude/plugins/installed_plugins.json

このファイルは、すべてのプロジェクトにインストールされたプラグインを追跡します。

レジストリの構造(v2)

{
  "version": 2,
  "plugins": {
    "plugin-name@marketplace-name": [
      {
        "scope": "project",
        "projectPath": "/path/to/project",
        "installPath": "~/.claude/plugins/cache/marketplace/plugin-name/1.0.0",
        "version": "1.0.0",
        "installedAt": "2024-01-15T10:30:00Z",
        "lastUpdated": "2024-01-15T10:30:00Z",
        "gitCommitSha": "abc123"
      }
    ]
  }
}

各プラグインキーは、インストールの配列に対応します(複数のスコープをサポート)。

フィールドの説明
フィールド必須説明
scopeはい"project" または "user"(グローバル)
projectPathプロジェクトのみプラグインが有効なディレクトリ
installPathはいインストール済みプラグインファイルのキャッシュパス
versionはいインストール済みのバージョン
installedAtはいインストール日時の ISO タイムスタンプ
lastUpdatedはい最終更新日時の ISO タイムスタンプ
gitCommitShaはいインストール済みバージョンの Git コミット

インストールのスコープ

ユーザースコープ(グローバル、デフォルト)
/plugin install my-plugin@marketplace
  • レジストリエントリで "scope": "user" を指定
  • projectPath フィールドなし
  • すべてのプロジェクトで利用可能
プロジェクトスコープ
/plugin install my-plugin@marketplace --scope project
  • レジストリエントリで "scope": "project" を指定
  • projectPath にインストールディレクトリを設定
  • そのプロジェクトでのみ有効になるはずです
  • Bug #14202:ほかのプロジェクトでも「インストール済み」と表示されます

既知の問題:#14202

問題:プロジェクトスコープのプラグインが、誤ってグローバルにインストール済みとして表示されます。

根本原因:projectPath のチェックに一貫性がありません。

操作projectPath をチェックするか結果
マーケットプレイスの「(インストール済み)」表示いいえどのプロジェクトでもインストール済みと表示
/plugin installいいえインストールを拒否
インストール済みタブの一覧はい正しく絞り込み

症状:

  1. マーケットプレイスビューで、プラグインに「(インストール済み)」のチェックマークが表示される
  2. /plugin install が「すでにインストール済み」と表示する
  3. 現在のプロジェクトの「インストール済み」タブにプラグインが表示されない
  4. プラグインが現在のプロジェクトで実際には動作しない

回避策:レジストリを手動で編集し、現在のプロジェクトのエントリを追加します。

レジストリの手動操作

レジストリを表示する
jq . ~/.claude/plugins/installed_plugins.json
すべてのプラグインを一覧表示する
jq -r '.plugins | keys[]' ~/.claude/plugins/installed_plugins.json
プロジェクトスコープのプラグインを検索する
jq '.plugins | to_entries[] | .value[] | select(.scope == "project") | {projectPath, version}' ~/.claude/plugins/installed_plugins.json
孤立したエントリを検索する

Read ツールを使用して ~/.claude/plugins/installed_plugins.json を読み込み、各 projectPath に対して test -d を実行します。

レジストリをバックアップする
cp ~/.claude/plugins/installed_plugins.json ~/.claude/plugins/installed_plugins.json.backup

レジストリの問題を修正する

孤立したエントリを削除する
  1. Read ツールを使用して ~/.claude/plugins/installed_plugins.json を読み込みます
  2. cp ~/.claude/plugins/installed_plugins.json ~/.claude/plugins/installed_plugins.json.backup でバックアップを作成します
  3. plugins オブジェクトから孤立したエントリを削除します
  4. Write ツールを使用して更新した JSON を書き込みます
現在のプロジェクトのエントリを追加する
  1. Read ツールを使用してレジストリを読み込みます
  2. プラグインの配列に scope: "project" と現在の projectPath を指定した新しいエントリを追加します
  3. Write ツールを使用して更新した JSON を書き込みます
プロジェクトスコープをユーザー(グローバル)に変換する
  1. Read ツールを使用してレジストリを読み込みます
  2. "scope": "project" を "scope": "user" に変更し、projectPath を削除します
  3. Write ツールを使用して更新した JSON を書き込みます

プロジェクト設定との連携

プロジェクトスコープのプラグインには、.claude/settings.json のエントリも必要です。

{
  "enabledPlugins": [
    "plugin-name@marketplace"
  ]
}

これがないと、正しく登録されたプロジェクトスコープのプラグインも読み込まれません。

トラブルシューティング チェックリスト

  1. プラグインがインストール済みと表示されるが、動作しない

    • projectPath が現在のディレクトリと一致しているか確認します
    • .claude/settings.json の enabledPlugins を確認します
    • /health:plugins を実行して診断します
  2. プラグインをインストールできない(すでにインストール済み)

    • レジストリに既存のエントリーがないか確認します
    • エントリーの projectPath が異なるか確認します
    • /health:plugins --fix を使用するか、手動で編集します
  3. あるプロジェクトではプラグインが動作するが、別のプロジェクトでは動作しない

    • プロジェクトスコープのプラグインである可能性があります
    • プロジェクトごとに個別のレジストリエントリーが必要です
    • または、グローバルスコープに変更します
  4. レジストリファイルが破損している

    • バックアップがある場合は、そこから復元します
    • または、プラグインを削除して再インストールします
    • 場所:~/.claude/plugins/installed_plugins.json

エージェント向け最適化

コンテキストコマンド
レジストリを表示jq -c . ~/.claude/plugins/installed_plugins.json
プラグインを一覧表示jq -r '.plugins | keys[]' ~/.claude/plugins/installed_plugins.json
特定のプラグインを確認jq '.plugins."name@market"' ~/.claude/plugins/installed_plugins.json
プロジェクトのプラグインjq '.plugins | to_entries[] | .value[] | select(.scope=="project")' ~/.claude/plugins/installed_plugins.json

クイックリファレンス

レジストリのパス
~/.claude/plugins/installed_plugins.json
キーの形式
{plugin-name}@{marketplace-name}
スコープの指定
  • "scope": "project" + projectPath → プロジェクトスコープ
  • "scope": "user" → グローバル(ユーザー全体)
編集後

レジストリの変更を反映するには、必ず Claude Code を再起動してください。

コメント