【Claude Code 連載 第57回】プラグインの発見とインストール — 受け取る側の全操作

スポンサーリンク
【Claude Code 連載 第57回】プラグインの発見とインストール — 受け取る側の全操作 用語解説
【Claude Code 連載 第57回】プラグインの発見とインストール — 受け取る側の全操作
この記事は約18分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

スポンサーリンク

背景

この連載では、Claude Codeの公式ドキュメントを1ページずつ読み解いていきます。公式ドキュメントは情報が網羅されている分、「結局どの機能を、どんな場面で使えばいいのか」は自分で考える必要があり、読むのに意外と時間がかかります。そこで、私が実務で使うために読み込んだ内容を「使う場面→実例コード」の順に整理して残していくことにしました。専門家の解説というより、一次情報を読んだ記録です。推測や動作を確認していない部分には、その都度そう書きます。

1. 一言でいうと何か

このページは、他人が作ったプラグインを見つけて入れて管理する——受け取る側のガイドです。

第54〜56回は「作る・包む・配る」でした。今回はその反対側。自分で作らずに、既にあるものを使うための操作が全部まとまっています。

仕組みは2段階です。この分離が理解の要になります。

  1. マーケットプレイスを追加する — カタログが Claude Code に登録され、中身を参照できるようになる。プラグインはまだ何もインストールされていない。
  2. 個別のプラグインをインストールする — カタログを見て、必要なものだけ入れる。

公式ドキュメントの比喩がそのまま分かりやすい。アプリストアを追加するようなもので、ストアを追加すればコレクションを見られるが、どのアプリを落とすかは別途選ぶ。

そして受け取る側にとって最初に知るべき事実:**公式 Anthropic マーケットプレイス(claude-plugins-official)は、Claude Code を起動すれば自動的に使えます。**追加操作は不要。/pluginDiscover タブか claude.com/plugins で中身を見られます。

一方、コミュニティマーケットプレイスとデモマーケットプレイスは手動追加が必要です。この非対称が最初の躓きどころになります。

2. どういう場面で役立つか

シーン1:Claude に型エラーを即座に見せる

コード インテリジェンス プラグイン(LSP)が最も効果が分かりやすい類です。入れると Claude は各編集の直後に、コンパイラやリンターを走らせることなく型エラー・不足インポート・構文の問題を確認できます。**自分でエラーを入れたらその場で気づいて同じターンで直す。**設定はインストールだけで済みます。

シーン2:外部サービスとの接続を手動セットアップなしで済ませる

githubgitlabatlassianasanalinearnotionfigmavercelfirebasesupabaseslacksentry——これらは事前構成済みの MCP サーバーをバンドルしたプラグインとして提供されています。MCP を手で設定する手間が要りません。

シーン3:チームに同じ拡張を配る

.claude/settings.jsonextraKnownMarketplaces を書いておけば、チームメンバーがリポジトリフォルダを信頼した時点でインストールを促されます。

シーン4:使っていないプラグインを整理する

Installed タブに Not used recently という区分があり、2週間以上かつ10セッション以上使われていないプラグインが集められます。起動コストとコンテキストコストだけ払っているものを見つけて外せます。

不要・向かないケース

  • 信頼できないソースのプラグイン。公式が明確に警告しています——プラグインとマーケットプレイスは、ユーザー権限でマシン上の任意のコードを実行できる、非常に信頼されたコンポーネントです。Anthropic はプラグインに含まれる MCP サーバーやファイルを制御せず、意図どおり動くことを確認できません。
  • 公式マーケットプレイスへの掲載を期待する場合掲載は Anthropic の裁量で、アプリ内の送信フォームはコミュニティマーケットプレイスに追加するものです。独立して配りたければ自分のマーケットプレイスを作ります(第56回)。
  • 大規模プロジェクトでメモリが厳しい環境rust-analyzerpyright大量のメモリを消費しうるので、その場合は無効化して Claude の組み込み検索に戻すことが推奨されています。
  • 管理設定で入れられたプラグインmanaged スコープのものは変更できません。

3. 操作の実例

公式マーケットプレイスから入れる

追加不要で、すぐインストールできます。

/plugin install github@claude-plugins-official

「どのマーケットプレイスにも見つからない」と言われたら、マーケットプレイスが未追加か古い可能性があります。/plugin marketplace update claude-plugins-official で更新するか、未追加なら /plugin marketplace add anthropics/claude-plugins-official を実行してからやり直します。

コード インテリジェンス(LSP)プラグイン

Claude Code の組み込み LSP ツールを有効化するもので、VS Code のコードインテリジェンスと同じ技術(Language Server Protocol)です。

言語プラグイン必要なバイナリ
C/C++clangd-lspclangd
C#csharp-lspcsharp-ls
Gogopls-lspgopls
Javajdtls-lspjdtls
Kotlinkotlin-lspkotlin-language-server
Lualua-lsplua-language-server
PHPphp-lspintelephense
Pythonpyright-lsppyright-langserver
Rustrust-analyzer-lsprust-analyzer
Swiftswift-lspsourcekit-lsp
TypeScripttypescript-lsptypescript-language-server

言語サーバーのバイナリは別途インストールが必要です(第55回でも出てきた注意点)。/plugin の Errors タブに Executable not found in $PATH が出たら、それが原因です。

逆に親切な挙動もあります。言語サーバーが既に入っている状態でプロジェクトを開くと、Claude が対応プラグインのインストールを促すことがあります。

得られるものは2つ。

  • 自動診断Claude の各ファイル編集後に言語サーバーが変更を分析し、エラーと警告を自動報告する。設定不要。「diagnostics found」インジケーターが出たときに Ctrl+O で診断をインライン確認できます。
  • コード ナビゲーション:定義へのジャンプ、参照検索、ホバーでの型情報、シンボル一覧、実装検索、呼び出し階層のトレース。grep ベースの検索より正確ですが、言語と環境によって可用性が変わります

一覧にない言語は、第55回で扱ったとおり自分で LSP プラグインを作れます

公式マーケットプレイスの他のカテゴリ

  • 自動セキュリティレビューsecurity-guidanceClaude の各変更を一般的な脆弱性についてレビューし、見つかったものを修正するよう Claude に指示します。
  • 開発ワークフローcommit-commands(コミット・プッシュ・PR 作成)、pr-review-toolkit(PR レビュー用の特化エージェント)、agent-sdk-devplugin-dev(プラグイン作成のツールキット)。
  • 出力スタイルexplanatory-output-style(実装選択の教育的な洞察)、learning-output-style(インタラクティブな学習モード)。

コミュニティマーケットプレイス

anthropics/claude-plugins-community は、Anthropic の自動検証とセキュリティスクリーニングを通過したサードパーティプラグインをホストします。各プラグインはカタログ内の特定のコミット SHA にピン留めされています。

手動追加が必要です。

/plugin marketplace add anthropics/claude-plugins-community

ここで名前がずれる点に注意してください。リポジトリは claude-plugins-community ですが、インストール時に使うマーケットプレイス名は claude-community です。

/plugin install <plugin-name>@claude-community

デモマーケットプレイスで一通り試す

anthropics/claude-code(マーケットプレイス名は claude-code-plugins)に、プラグインシステムで何ができるかを示すサンプルがあります。これも手動追加です。

/plugin marketplace add anthropics/claude-code

/plugin を実行すると4タブのインターフェースが開きます(Tab で前進、Shift+Tab で後退)。

  • Discover:全マーケットプレイスの利用可能なプラグインを参照
  • Installed:インストール済みの表示と管理
  • Marketplaces:追加・削除・更新
  • Errors:読み込みエラー

Discover タブには管理者向けの仕掛けがあります。管理者が pluginSuggestionMarketplaces でマーケットプレイスをホワイトリスト登録している場合、現在の作業ディレクトリに関連するとマークされたプラグインが「suggested for this directory」ラベル付きで上部に固定されます(第56回で触れた relevance フィールドの受け側です)。

プラグインを選ぶと詳細ペインにインストール前に判断するための情報が出ます。

  • Context cost の推定値——毎ターンのコンテキストウィンドウに追加されるトークン数(v2.1.143 以降)
  • Last updated 日付(v2.1.144 以降)
  • Will install セクション——コマンド、エージェント、skills、hooks、MCP/LSP サーバーの一覧インストール前に何が追加されるか正確に分かる(v2.1.145 以降)

コマンドラインからも入れられます。

/plugin install commit-commands@claude-code-plugins

インストール後は /reload-plugins でアクティブ化します。skill はプラグイン名でネームスペース化されるので、こう呼びます。

/commit-commands:commit

マーケットプレイスを追加する4つの方法

ショートカットが2つあります。/plugin marketplace/plugin market と略せ、removerm と書けます。

ソース書き方注意
GitHub リポジトリowner/repo(例:anthropics/claude-code.claude-plugin/marketplace.json を含むこと
Git URL完全な URL(GitLab / Bitbucket / 自己ホスト).git サフィックスを付ける(付けないと marketplace.json への直リンク扱いになる)。https:// プレフィックスも必須#v1.0.0 で ref をピン。SSH(git@...)も可
ローカルパス./my-marketplace または ./path/to/marketplace.jsonディレクトリと JSON ファイルの直接パスの両方が可
リモート URLhttps://example.com/marketplace.json相対パスのプラグインは解決できない(第56回参照)

v2.1.196 の変更が効いてきます。gitlab.com/company/plugins.git のようにスキームなしで書くと、無効な GitHub owner/repo ショートハンドとして拒否され、プレフィックスを足すよう指示されます。以前は GitHub のリポジトリパスと誤読してクローン時に失敗していました。

インストールとスコープ

/plugin install plugin-name@marketplace-name

このコマンドは詳細を開き、スコープを選ばせます/plugin の Discover タブでプラグインに Enter を押しても同じです。

  • User scope(デフォルト):全プロジェクトで自分用
  • Project scopeこのリポジトリの全コラボレーター用.claude/settings.json に追加)
  • Local scope:このリポジトリ内で自分だけ(共有されない)

対話なしで入れたいなら claude plugin install シェルコマンドを使います。--scope を渡さなければユーザースコープです。

claude plugin install formatter@your-org --scope project
claude plugin uninstall formatter@your-org --scope project

managed スコープのプラグインが見えることもあります。管理者が管理設定経由で入れたもので、変更できません。

インストール済みの管理

Installed タブはスコープでグループ化され、問題が最初に来るようソートされます——読み込みエラーや未解決の依存関係を持つものが上、次にお気に入り、無効化されたものは下部の折りたたみヘッダーの奥

操作は3つ。f でお気に入りのトグル入力して名前や説明でフィルタEnter で詳細ビュー(有効化・無効化・アンインストール)。

プロジェクトの .claude/settings.json が有効化しているプラグインをアンインストールしようとすると、意図を尋ねられます(v2.1.203 以降)。自分だけ無効化なら .claude/settings.local.json にオーバーライドが書かれ、プラグインはプロジェクトにインストールされたまま。全員のためにアンインストールなら共有の .claude/settings.json から削除されます。v2.1.203 より前はローカル無効化しか選べませんでした

Not used recently の詳細も押さえておきましょう。対象は自分でマーケットプレイスからインストールしたもののうち、2週間以上かつ10セッション以上使っていないもの。詳細ビューには Last used 行が出ます。

除外される2種類があります。組織が管理するプラグインと --plugin-dir で読むもの、そしてテーマ・出力スタイル・モニター・ワークフローを提供するもの——呼び出しを追跡しなくても価値を提供するからです。また組織が strictKnownMarketplaces でマーケットプレイスを制限している場合、この区分と Last used 行は両方とも非表示になります。

LSP プラグインの扱いには経緯があります。言語サーバーは、診断を提供するかコードナビゲーションに応答したときに「使用済み」とカウントされます(v2.1.203 以降)。それ以前はLSP アクティビティを使用としてカウントできなかったため、LSP プラグインはグループ全体から除外されていました。さらに配慮があり、カウントを始める最初のセッションでは、未記録の LSP プラグインの使用記録をリセットします——追跡開始前のデータで「使っていない」と誤判定しないためです(v2.1.206 より前は、実際に使っている LSP プラグインが Not used recently に出てレビューを促されることがありました)。

直接コマンドも揃っています。

コマンド役割
/plugin listインストール済み一覧(--enabled / --disabled で絞り込み)
/plugin disable plugin-name@marketplace-nameアンインストールせず無効化
/plugin enable plugin-name@marketplace-name再有効化
/plugin uninstall plugin-name@marketplace-name完全削除

識別子の落とし穴が明記されています。ここでの plugin-name はマーケットプレイスエントリの name であり、プラグイン自身の plugin.jsonname とは異なる場合があります。v2.1.195 以降は両方の名前を受け付けるようになりましたが、それ以前は名前が食い違うプラグインを無効化しようとすると already disabled と報告されて有効なままでした。

再起動なしで反映する

/reload-plugins

すべてのアクティブなプラグインをリロードし、プラグイン・skills・agents・hooks・MCP サーバー・LSP サーバーの数を表示します。

ただしトークンコストがかかります。新しく読み込まれたコンポーネントが会話に追加されたコンテンツで自身を発表する一方、既存の履歴はプロンプトキャッシュから読まれるのでそこは安い。問題は MCP サーバーを提供するプラグインです——そのツールが tool search で遅延されていない場合、変更がキャッシュを無効化し、次のリクエストで会話全体を読み直すことになります。その場合 /reload-plugins は警告を出してリロードを適用しません。--force を渡すと適用されます。

マーケットプレイスの管理と自動更新

Marketplaces タブから追加・更新・削除ができ、コマンドでも同じことができます(/plugin marketplace list / update <name> / remove <name>)。

削除には強い警告があります。マーケットプレイスを削除すると、そこからインストールしたプラグインもアンインストールされます(第56回と同じ注意)。

自動更新の挙動が具体的です。Claude Code は起動時にバックグラウンドでマーケットプレイスとインストール済みプラグインを更新できますが、セッション開始後、最大10分のランダムな遅延でチェックします。**理由は明快で、実行中のセッションが起動時に読み込んだバージョンを使い続けられるようにするため。**更新されたら /reload-plugins を促されるか、次回起動時に新バージョンが読まれます。

デフォルトは公式 Anthropic マーケットプレイスは自動更新オン、サードパーティとローカル開発マーケットプレイスはオフ。UI では Marketplaces タブからマーケットプレイスを選び Enable / Disable auto-update で切り替えます。管理者は**extraKnownMarketplaces の各エントリに "autoUpdate": true** を設定すれば、ユーザーの操作なしで組織マーケットプレイスの自動更新を有効にできます。

全自動更新を止めたいなら DISABLE_AUTOUPDATERClaude Code 本体の更新は手動にしたいが、プラグインの更新は自動で受けたいという場合の組み合わせも用意されています。

export DISABLE_AUTOUPDATER=1
export FORCE_AUTOUPDATE_PLUGINS=1

チームマーケットプレイスの設定

プロジェクトの .claude/settings.json に書きます。

{
  "extraKnownMarketplaces": {
    "my-team-tools": {
      "source": {
        "source": "github",
        "repo": "your-org/claude-plugins"
      }
    }
  }
}

v2.1.195 の変更が重要です。このインストールステップが、プラグインを読み込むすべてのパスに適用されるようになりました。つまりプロジェクトの .claude/settings.json だけで有効化され、GitHub や npm など外部ソースから来るプラグインは、チームメンバーがインストールするまで読み込まれません。それまでは「プラグインがインストールされていない」と報告され、実行すべき claude plugin install コマンドが表示されます。

トラブルシューティング

/plugin が認識されない場合は、バージョンが古いのが原因です。claude --version で確認し、Homebrew なら brew upgrade claude-code、npm なら npm install -g @anthropic-ai/claude-code@latest、ネイティブインストーラーならインストールコマンドを再実行。更新後はターミナルを再起動します。

一般的な問題では、「プラグイン skills が表示されない」の対処が具体的です——rm -rf ~/.claude/plugins/cache でキャッシュを消し、Claude Code を再起動して入れ直す。

コード インテリジェンス固有の問題は3つ。言語サーバーが起動しない(バイナリと $PATH を確認、詳細は Errors タブ)、メモリ使用量が多い/plugin disable <plugin-name> で無効化し組み込み検索に戻す)、モノレポでの誤検知診断(ワークスペース設定が正しくないと内部パッケージの未解決インポートエラーが出るが、Claude がコードを編集する能力には影響しない)。

4. まとめ + 次回予告

  • 使う流れは2段階——マーケットプレイスを追加してから個別にインストール。追加しただけでは何も入らない。
  • 公式 claude-plugins-official は自動で使える。コミュニティとデモは手動追加
  • コミュニティはリポジトリ名 claude-plugins-community、マーケットプレイス名 claude-community と食い違うので注意。各プラグインはコミット SHA にピン留め
  • LSP プラグインは言語サーバーのバイナリを別途入れる必要がある。入れれば編集直後の自動診断正確なコードナビゲーションが得られる。Ctrl+O で診断をインライン表示。
  • 詳細ペインでコンテキストコスト・最終更新日・インストールされる中身入れる前に確認できる。
  • スコープは user(既定)/ project / local、加えて変更できない managed。CLI は既定で user。
  • Not used recently2週間+10セッションが基準。テーマ・出力スタイル・モニター・ワークフローと組織管理プラグインは対象外strictKnownMarketplaces があると表示自体が消える。
  • enable / disableplugin-name はマーケットプレイスエントリの名前。plugin.json と違うことがある。
  • **/reload-plugins はタダではない。**MCP サーバー提供プラグインはキャッシュを無効化するので警告が出て、--force が必要になる。
  • 自動更新は起動後 最大10分のランダム遅延公式はオン、サードパーティとローカルはオフが既定。DISABLE_AUTOUPDATERFORCE_AUTOUPDATE_PLUGINS=1 で本体だけ手動にできる。
  • マーケットプレイスを削除すると、そこから入れたプラグインも消える。
  • **プラグインは任意のコードをユーザー権限で実行できる。**信頼できるソースからのみ入れる。組織は strictKnownMarketplaces で制限できる。

第54〜57回で「作る → 包む → 配る → 受け取る」が一周しました。

次回予告(暫定):**プラグイン依存関係(plugin-dependencies)**を取り上げ、dependencies フィールドの semver 制約、{plugin-name}--v{version} の Git タグ規約、複数制約の合成、マーケットプレイスをまたぐ依存の扱いなどを扱う予定です。


よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました