Claude Codeに公式マーケットプレイスから配布されたプラグイン(code-review、formatter等)を導入したい人向け
Claude Codeに公式や有志が配布している拡張機能の塊(code-reviewやformatter等)を1動作で導入したいときや、チームメンバー全員に同じ拡張機能を配布したいときに叩く。具体的には claude plugin install code-review@claude-plugins-official のように「プラグイン名@マーケットプレイス名」の形で書く
Claude Codeに「拡張機能の塊」を1コマンドで足したり外したりするための入り口が claude plugin です。マーケットプレイス(公式や有志が公開している配布所)から code-review や formatter といったまとまったセットを引っ張ってきて、自分の作業環境に組み込めます。
面白いのは、1つのプラグインの中に skills(呼び出し可能なスキル)・agents(用途特化の子エージェント)・hooks(自動発火する処理)・MCPサーバー・LSPサーバー・monitors が同梱できることです。バラバラに設定する手間が消えて、入れた瞬間に全部いっぺんに有効化されます。
噛み砕くと
家電量販店でテレビを買ってきたら、リモコン・電源コード・取扱説明書・初期設定が全部箱に入ってるみたいな話です。Claude Codeの拡張も、本来は1個1個ファイルを設置して設定を書いていく必要があるけど、プラグインという「箱詰め済みの拡張パック」を入れるだけで、その中に同梱されているものが一斉に有効になります。
ただ、箱を開けて中身を確認する手段も用意されていて、それが claude plugin details や claude plugin list です。何を入れたか、いま有効か無効か、どこから来たかを一覧で見られます。
大事な前提:claude plugin 単独では何も起きない
このコマンドは10種類の動作を束ねる入り口です。具体的には install / uninstall / prune / enable / disable / update / list / details / tag / validate の10種類。後ろに動作名を1つ書き足さないとヘルプが表示されるだけで、実際の処理は走りません。
もう1つ大事なのが、インストール時の名前指定の書き方。claude plugin install code-review だけだと「どのマーケットプレイスから持ってくるの?」と分からずに失敗します。<プラグイン名>@<マーケットプレイス名> の形で書くのが原則です。
「code-review プラグインをチームに配布する」を例に、実際の手順を見る
架空のシナリオで具体的に追います。「コードを書き換えた後に自動でレビュー観点を出してくれる code-review プラグインを、公式マーケットプレイスから入れて、自分のチーム全員で共有したい」というケースです。
ステップ1: 公式マーケットプレイスから自分だけにインストール
まず自分の環境で動作を確認したいので、自分専用として入れます。
$ claude plugin install code-review@claude-plugins-official
これで ~/.claude/ 配下に code-review が入り、自分の全プロジェクトで使えるようになります。スコープを書かない場合は自動で user 扱いです。
ステップ2: ちゃんと入ったか確認
$ claude plugin list
インストール済みの一覧と、それぞれの版・出どころ・有効か無効かが表示されます。
ステップ3: 中身を覗いてみる
1つのプラグインに何が同梱されているかは details で確認できます。
$ claude plugin details code-review
含まれている skill・agent・hook・MCPサーバーの一覧と、「セッション開始時に常に消費される文字数」「呼び出された時だけ消費される文字数」の見積もりが出ます。読者がよくやる勘違いとして、「プラグインを入れただけで動作が重くなる」と思いがちですが、実際は同梱物のうち呼ばれたものだけが追加コストを発生させる構造です。
ステップ4: チーム共有用に入れ直す
個人的に試して「これチームで使えるな」と判断したら、今度はチーム共有用として入れ直します。
$ claude plugin install code-review@claude-plugins-official --scope project
--scope project をつけると、プロジェクト直下の .claude/settings.json に書き込まれます。このファイルをGit管理下に置いて変更を保存しておけば、他のメンバーがそのプロジェクトを取ってきた時に同じプラグインが自動で読み込まれます。
ステップ5: 個人用に入れたものを消す
同じプラグインを user と project の両方に入れたまま放置すると混乱するので、個人用は外しておきます。
$ claude plugin uninstall code-review --scope user
ステップ6: 一時的に止めたい時
「いま大量の自動レビューが走ると邪魔だから一時的にオフにしたい」という時は、削除ではなく無効化を使います。
$ claude plugin disable code-review
後で戻したくなったら enable で復活します。完全に消すのと違って、設定や履歴を残したまま読み込みだけ止められるのが便利です。
つまり claude plugin は何をしてくれるのか
- やってくれる: マーケットプレイスからのまとめてインストール、3種類のスコープでの使い分け、有効・無効の切り替え、一覧表示と中身の確認、更新、孤児になった同梱物の掃除
- やってくれない: プラグインそのものの開発、マーケットプレイスへの公開、Claude Code本体の更新(本体更新は
claude updateの方) - 意味が薄い場面: 単発の作業しかしない場合、社内ネットワークでマーケットプレイスに繋がらない環境
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 公式の code-review プラグインを試したい時
Claude Codeを使い始めて1〜2ヶ月経って、コードレビューを毎回手作業で頼んでるのが面倒になってきた段階。claude plugin install code-review@claude-plugins-official 一発で導入して、まずは --scope user で1週間試します。気に入らなければ uninstall、気に入れば --scope project でチーム共有に格上げ、という二段階運用が安全寄りです。
シナリオ2: 5人チームでフォーマッター運用を統一したい時
各自が違うフォーマッター設定を使っていて、コード保存時のスタイルが揃わない状況。プロジェクト直下に claude plugin install formatter@my-marketplace --scope project で入れて、.claude/settings.json をGit管理に乗せます。他のメンバーが最新の変更を取ってくると、自動的に同じフォーマッタープラグインが読み込まれて、全員のスタイルが揃います。新しく入った人も特別な設定作業なしで、即同じ状態になります。
シナリオ3: 重いプラグインを一時的に止めたい時
MCPサーバー同梱のプラグインを入れたら、セッション開始時に毎回サーバー起動で5〜10秒待たされるようになった。今日は急ぎでサクッと動かしたいだけ、というケースで claude plugin disable <プラグイン名>。設定は残ったまま読み込みだけ止まるので、後で enable で戻せます。uninstall してしまうと再設定が面倒なので、「一時停止」感覚で使えるのは助かります。
初心者が踏みやすい落とし穴
claude plugin単独だとヘルプしか出ない。install / uninstall / enable / disable / update / list / details / prune / tag / validate の10種類のうち1つを必ず後ろに足すclaude plugin install code-reviewだけだと失敗する。マーケットプレイス名が必要で、code-review@claude-plugins-officialのように@で繋ぐ書き方が正しいclaude plugins(複数形)とclaude plugin(単数形)は同じコマンド。公式が「Alias:claude plugins」と明記している。どちらで叩いても結果は同じclaude plugin updateとclaude updateの混同。前者は個別プラグインの更新、後者はClaude Code本体の更新。名前が似ているので叩き間違えやすい- アンインストール時の置き土産。プラグインの中に「他のプラグインに依存している」と書かれていると、本体を消しても依存先が残る。
claude plugin uninstall <名前> --pruneをつけると依存先も同時に掃除される。v2.1.121以降はclaude plugin prune単体でも掃除可能 --scope projectを別の端末で初めて読み込む時に承認画面が出る。MCPサーバー同梱のプラグインで起きるセキュリティ仕様。他人の設定を勝手に動かさない安全策なので、承認を通せばOK/plugin(スラッシュコマンド)との違い。/pluginはClaude Code内部から呼び出すインタラクティブな画面付きの操作、claude pluginは外側のターミナルから直接叩く動作。やれることはほぼ同じ--bareモードで起動するとプラグインが自動読み込みされない。claude --bareで起動した時はプラグイン探索がスキップされる仕様。必要なら--plugin-dirで明示的に場所を伝える
書き方
claude plugin <動作名> [<プラグイン名>@<マーケットプレイス名>] [--scope user|project|local]
やってみるとこうなる
入力
claude plugin install code-review@claude-plugins-official --scope project
出力例
Installing code-review@claude-plugins-official to project scope...
Wrote .claude/settings.json
✓ code-review 1.2.0 installed
Source: claude-plugins-official
Components: 2 skills, 1 agent, 1 hook
Always-on tokens: ~180
Run /reload-plugins or restart the session to activate.
このページに出てきた言葉
- プラグイン
- Claude Codeの拡張機能を1つのまとまり(箱)に詰めたもの。中に skill・agent・hook・MCPサーバー・LSPサーバー・monitor が同梱可能
- マーケットプレイス
- プラグインを集めて公開している配布所。公式は <code>claude-plugins-official</code>
- スコープ
- プラグインを入れる場所の種類。<code>user</code>(自分専用・全プロジェクト)、<code>project</code>(チーム共有用)、<code>local</code>(プロジェクト直下だがGit管理から外す)の3種
- skill
- Claude Codeが特定タスクを実行する時に呼び出す手順書。<code>/name</code> という呼び出し名がつく
- agent
- 特定用途に特化させた子分のClaude。レビュー専用・テスト専用みたいに役割を絞って動く
- hook
- 「ファイル書き込み後にフォーマッターを走らせる」みたいな、何かのタイミングで自動発火する処理
- MCPサーバー
- Claude Codeと外部ツール(DB・API・社内システム等)を繋ぐ橋渡し役のプログラム
- LSPサーバー
- コードの型情報やエラーをリアルタイムでClaude Codeに教えてくれる解析エンジン
- monitor
- バックグラウンドで動き続けてログ変化やステータス変化をClaude Codeに通知し続ける見張り役
- claude plugins(複数形)
- <code>claude plugin</code> の別名。公式が「Alias」と明記しており、どちらで叩いても結果は同じ