plugin-registry について
plugin-registry は、Claude Code のインストール済みプラグインレジストリを理解し、問題を調べるためのスキルです。スコープや登録内容を説明し、インストール済み表示なのに動作しない場合などを扱います。
主な機能
- 01レジストリ構造と項目の説明
- 02ユーザー/プロジェクトスコープの確認
- 03孤立した項目の診断
- 04インストールと読み込みの問題調査
- 05レジストリ項目の編集
活用シーン
- 01インストール済み表示なのに動かないプラグインの調査
- 02プロジェクトスコープ項目の確認
- 03存在しないプロジェクトの項目削除
- 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 | いいえ | インストールを拒否 |
| インストール済みタブの一覧 | はい | 正しく絞り込み |
症状:
- マーケットプレイスビューで、プラグインに「(インストール済み)」のチェックマークが表示される
/plugin installが「すでにインストール済み」と表示する- 現在のプロジェクトの「インストール済み」タブにプラグインが表示されない
- プラグインが現在のプロジェクトで実際には動作しない
回避策:レジストリを手動で編集し、現在のプロジェクトのエントリを追加します。
レジストリの手動操作
レジストリを表示する
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
レジストリの問題を修正する
孤立したエントリを削除する
- Read ツールを使用して
~/.claude/plugins/installed_plugins.jsonを読み込みます cp ~/.claude/plugins/installed_plugins.json ~/.claude/plugins/installed_plugins.json.backupでバックアップを作成しますpluginsオブジェクトから孤立したエントリを削除します- Write ツールを使用して更新した JSON を書き込みます
現在のプロジェクトのエントリを追加する
- Read ツールを使用してレジストリを読み込みます
- プラグインの配列に
scope: "project"と現在のprojectPathを指定した新しいエントリを追加します - Write ツールを使用して更新した JSON を書き込みます
プロジェクトスコープをユーザー(グローバル)に変換する
- Read ツールを使用してレジストリを読み込みます
"scope": "project"を"scope": "user"に変更し、projectPathを削除します- Write ツールを使用して更新した JSON を書き込みます
プロジェクト設定との連携
プロジェクトスコープのプラグインには、.claude/settings.json のエントリも必要です。
{
"enabledPlugins": [
"plugin-name@marketplace"
]
}
これがないと、正しく登録されたプロジェクトスコープのプラグインも読み込まれません。
トラブルシューティング チェックリスト
-
プラグインがインストール済みと表示されるが、動作しない
projectPathが現在のディレクトリと一致しているか確認します.claude/settings.jsonのenabledPluginsを確認します/health:pluginsを実行して診断します
-
プラグインをインストールできない(すでにインストール済み)
- レジストリに既存のエントリーがないか確認します
- エントリーの
projectPathが異なるか確認します /health:plugins --fixを使用するか、手動で編集します
-
あるプロジェクトではプラグインが動作するが、別のプロジェクトでは動作しない
- プロジェクトスコープのプラグインである可能性があります
- プロジェクトごとに個別のレジストリエントリーが必要です
- または、グローバルスコープに変更します
-
レジストリファイルが破損している
- バックアップがある場合は、そこから復元します
- または、プラグインを削除して再インストールします
- 場所:
~/.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 を再起動してください。