Claude Codeプラグイン(Plugins)完全ガイド — /pluginの使い方・マーケットプレイス・自作と配布
Claude Codeのプラグインはスキル・フック・MCPなどを束ねて配布する仕組みです。/pluginの使い方、Anthropic製とコミュニティのマーケットプレイス、代表的なプラグイン、自作と配布、つまずきの対処までを扱う実務ガイドです。
プラグインとは何か
Claude Codeに独自のスキルやサブエージェント、フック、MCPサーバーを足していくと、.claude/ 配下の設定ファイルが増えていきます。これらを1つのディレクトリにまとめ、配布・バージョン管理・チーム共有まで可能にするのがプラグインです。マーケットプレイスからワンコマンドで導入する使い方から、.claude-plugin/plugin.json を書いて自作・配布する手順まで、2026年6月時点の仕様に沿って順に見ていきます。
Claude Code全体の機能や立ち位置から確認したい場合は、Claude Code完全ガイドを起点にすると全体像がつかみやすくなります。
プラグインは、スキル・サブエージェント・フック・MCPサーバー・LSPサーバー・モニターなどを1つにまとめた「自己完結型のディレクトリ」です。Claude Codeの機能を拡張し、それを他者と共有したり、バージョン管理したりできるようにする仕組みと位置づけられています。
個別に設定していた拡張要素を「まとめて配る単位」にしたもの、と捉えると分かりやすくなります。たとえばコミット支援のスキルとそれを補助するフックを別々に共有すると受け取り側の組み込みが煩雑ですが、プラグインなら1つのインストールで両方が揃います。
各プラグインは任意で .claude-plugin/plugin.json というマニフェストを持ちます。配布は marketplace.json というカタログを介して、gitリポジトリやローカルパスから行います。ここで重要な注意点として、プラグイン本体はnpmパッケージそのものではありません(後述しますが、npmは配布元の選択肢の1つに過ぎません)。インストールすると、プラグインは ~/.claude/plugins/cache にバージョン別でコピーされ、そこから読み込まれて使われます。
構成要素ごとの役割は、それぞれ単独の機能としても解説しています。あわせて参照すると、プラグインが「何を束ねているか」が具体的になります。
- スキルの仕組みはClaude Codeスキル完全ガイド
- サブエージェントはClaude Codeサブエージェント実践ガイド
- フックはClaude Codeフック設定ガイド
- MCPサーバーはClaude CodeでMCPサーバーを使う
/pluginで何ができるか(コマンド一覧)
プラグインの操作は、対話セッション中のスラッシュコマンドと、CIやスクリプト向けの非対話CLI(claude plugin ...)の2系統があります。まず日常的に使うスラッシュコマンドをまとめます。
| コマンド | 役割 |
|---|---|
/plugin | 役割プラグインマネージャ(Discover / Installed / Marketplaces / ErrorsのタブUI)を開く。閲覧・インストール・有効無効化・スコープ選択ができる |
/plugin marketplace add <source> | 役割マーケットプレイス(カタログ)を追加。<source> は owner/repo / git URL(#ref でブランチ・タグ指定可)/ ローカルパス / marketplace.json への直接URL |
/plugin marketplace list | 役割登録済みマーケットプレイス一覧を表示 |
/plugin marketplace update [name] | 役割カタログを再取得(name省略で全件)。プラグインを失わずに更新したいときremoveではなくこれを使う |
/plugin marketplace remove <name> | 役割マーケットプレイスを削除(別名rm)。最後のスコープから消すと、由来のインストール済みプラグインも消える |
/plugin install <name>@<marketplace> | 役割追加済みマーケットプレイスから個別プラグインをインストール(既定スコープはuser) |
/plugin enable|disable|uninstall <name>@<marketplace> | 役割有効化 / 無効化(アンインストールはしない) / 完全削除 |
/reload-plugins | 役割セッション再起動なしで、プラグイン・スキル・エージェント・フック・MCP・LSPの変更を反映 |
/plugin validate . | 役割marketplace.json / plugin.json / frontmatter / hooks.json のスキーマ検証 |
CIやスクリプトなど、対話セッションの外から操作したいときは claude plugin サブコマンドを使います(install / uninstall / enable / disable / update / list / initなどのサブコマンドがあります)。
claude plugin install formatter@my-marketplace --scope project
claude plugin validate . # /plugin validate . と同等
claude plugin init # ローカル開発用プラグインの雛形を生成
claude --plugin-dir ./my-plugin # 開発中プラグインを一時ロード(.zip 可)--scope には user(個人グローバル) / project(プロジェクト固有) / local を指定できます。スコープの使い分けは後半の早見表でまとめます。
マーケットプレイスの仕組みと追加方法
マーケットプレイスは「カタログを追加(add)してから、個別プラグインをinstallする」という2段階の構造です。アプリストアを端末に追加してから、各アプリを個別に入れる関係に近いと考えると整理しやすくなります。
/plugin marketplace add anthropics/claude-code
/plugin install commit-commands@claude-code-pluginsここで押さえておきたいのは、/plugin marketplace add が行うのは「カタログ(marketplace.json)を取得して登録する」ことだけで、この時点ではプラグインは1つもインストールされない、という点です。実際の導入は /plugin install <name>@<marketplace> で行います。
マーケットプレイスのカタログは、リポジトリ直下の .claude-plugin/marketplace.json に置かれます。配布元として指定できるのはGitHubの owner/repo、任意のgit URL(GitLab / Bitbucket / 自前ホスト)、ローカルパス、marketplace.json への直接URLです。
なお、プラグインのインストールはユーザー権限での任意コード実行を伴います。ドキュメントでも信頼できる提供元のみを導入するよう案内されています。出所の確認は最初の判断軸にしておくと安全です。
代表的なマーケットプレイスとプラグイン
ここで挙げるのは、一次情報(公式ドキュメント・GitHubリポジトリの README / marketplace.json)で実在を確認できたものだけです。マーケットプレイスとプラグインは更新が速いため、最新の収録状況は /plugin のマネージャや各リポジトリで確認してください。
マーケットプレイス
| マーケットプレイス | リポジトリ | 概要 |
|---|---|---|
| 公式(claude-plugins-official) | リポジトリanthropics/claude-plugins-official | 概要Anthropic管理のディレクトリ。起動時に自動で利用可能(不調時は手動add)。LSP系・外部統合・コードレビュー系など多数を収録 |
コミュニティ(install名: @claude-community) | リポジトリanthropics/claude-plugins-community | 概要自動検証・安全スクリーニングを通過した第三者製を収録。各プラグインは特定commit SHAにピン留め。手動addが必要。addはリポジトリ名 anthropics/claude-plugins-community、install時のマーケットプレイス名は @claude-community(別物) |
| 公式デモ(claude-code-plugins) | リポジトリanthropics/claude-code の plugins/ | 概要プラグインシステムのサンプル集。feature-dev / code-review / plugin-dev等のデモ実装 |
| claude-code-templates | リポジトリdavila7/claude-code-templates | 概要コミュニティ最大級のコレクション。aitmpl.comにWebダッシュボードを持つ |
| wshobson/agents | リポジトリwshobson/agents | 概要大規模なドメイン特化マーケット。Python・セキュリティ・インフラ・ML等に対応 |
| superpowers-marketplace | リポジトリobra/superpowers-marketplace | 概要Superpowers作者のマーケット。文章作法やプランニング系のスキルを収録 |
anthropics/claude-plugins-official は起動時に自動で利用可能なため、原則として手動addは不要です。もし候補に出てこないときだけ /plugin marketplace add anthropics/claude-plugins-official を実行します。
公式マーケットプレイスのプラグイン例
公式系のマーケットプレイスからは、次のようなプラグインを導入できます(例: /plugin install github@claude-plugins-official)。下表は代表例の抜粋です。feature-dev / code-review / plugin-dev のように公式デモ(@claude-code-plugins)由来のものも含むため、名前と収録先(@claude-plugins-official か @claude-code-plugins か)は /plugin のDiscoverで確認してください。
| プラグイン | 分類 | 役割 |
|---|---|---|
github | 分類MCP統合 | 役割リポジトリ・PR・Issue操作をMCPサーバー経由で行う |
commit-commands | 分類ワークフロー | 役割コミット・プッシュ・PR作成を支援(例: /commit-commands:commit) |
security-guidance | 分類コードレビュー | 役割編集・ターン終了・コミット/プッシュの各段階でコードを多層的にレビューし、危険なパターンを検知する |
pr-review-toolkit | 分類コードレビュー | 役割複数観点の専門エージェント群でPRを多角的にレビュー |
code-review | 分類コードレビュー | 役割並列エージェントによる自動PRコードレビュー |
feature-dev | 分類ワークフロー | 役割構造化された機能開発ワークフロー(コードベース探索・設計・品質レビューを担う専門エージェントを含む) |
plugin-dev | 分類ワークフロー | 役割プラグイン自体を開発するためのツールキット |
typescript-lsp / pyright-lsp ほか | 分類言語特化 | 役割LSP接続で定義ジャンプ・参照検索・型エラー検知を付与(言語ごとに <言語>-lsp 形式の別プラグイン) |
coderabbit | 分類コードレビュー | 役割静的解析を組み合わせたAIコードレビュー |
context7 | 分類MCP統合 | 役割バージョン特定のフレームワークドキュメントを取得 |
chrome-devtools-mcp | 分類MCP統合 | 役割ブラウザ制御・パフォーマンストレース・ネットワーク解析 |
cloudflare | 分類MCP統合 | 役割Workers / Durable Objects / Wranglerの開発支援 |
atlassian | 分類MCP統合 | 役割Jira / Confluenceの統合・Issue管理 |
datadog | 分類MCP統合 | 役割ログ・メトリクス・トレース・ダッシュボードのクエリ |
security-guidance は、各編集ごとのパターン文字列マッチ(モデルを使わない軽量チェック)、ターン終了時の差分レビュー、Claudeのコミット/プッシュ時のエージェントレビューという複数の層で動作します。固定の観点数があるわけではなく、動的コード実行(eval / os.system / child_process.exec 等)、安全でないデシリアライズ、DOMインジェクション(dangerouslySetInnerHTML / .innerHTML 等)、ワークフローファイルの編集といったカテゴリを対象に検知します。
typescript-lsp 系のLSPプラグインは、対応する言語サーバーのバイナリを別途インストールしておく必要がある点に注意してください(導入しただけでは動きません)。なおLSPは言語ごとに <言語>-lsp 形式の別プラグイン(typescript-lsp / Pythonは pyright-lsp / rust-analyzer-lsp など)として提供されています。対応言語は更新されるため、最新は /plugin のDiscoverで確認してください。
コミュニティや他マーケットプレイスのプラグインは、先にカタログをaddしてからinstallします。
/plugin marketplace add anthropics/claude-plugins-community
/plugin install <name>@claude-communityドメイン特化エージェント群をまとめた wshobson/agents の場合も同じ流れです。
/plugin marketplace add wshobson/agents
/plugin install python-developmentプラグインの構造(.claude-plugin/plugin.json)
ここがスタンドアロンの .claude/ 設定とプラグインを取り違えやすいポイントです。プラグインでは、コンポーネント(skills/ や agents/ など)はプラグインルート直下に置きます。.claude-plugin/ ディレクトリの中に入れてよいのは plugin.json だけで、ここにスキルやコマンドを入れてしまうと読み込まれません。ドキュメントでも「よくある間違い」として挙げられています。
my-plugin/
├── .claude-plugin/
│ └── plugin.json ← マニフェスト(ここに入れるのはこれだけ)
├── skills/ ← <name>/SKILL.md 形式のスキル
│ └── my-skill/SKILL.md
├── agents/ ← サブエージェント定義(.md)
├── commands/ ← フラットな .md スキル(旧式。新規は skills/ 推奨)
├── hooks/
│ └── hooks.json ← ライフサイクルイベントハンドラ
├── .mcp.json ← MCP サーバー定義
├── .lsp.json ← LSP サーバー設定
└── bin/ ← 有効時に Bash の PATH へ追加される実行ファイルplugin.json マニフェスト自体は任意です。省略するとコンポーネントは既定パスから自動検出され、プラグイン名はディレクトリ名から導出されます。置く場合の必須フィールドは name(kebab-case、名前空間に使われる)のみです。
{
"name": "my-plugin",
"displayName": "My Plugin",
"version": "0.1.0",
"description": "コミットとレビューを補助するスキル群",
"author": { "name": "Your Name", "email": "you@example.com" },
"license": "MIT",
"keywords": ["git", "review"]
}version を設定すると、更新はこの値をbumpしたときのみ反映されます。省略した場合はgit commit SHAがバージョンとして扱われます。なお、requires や permissions というキーはマニフェストのスキーマには存在しません。依存関係は dependencies フィールド、デフォルトの有効状態は defaultEnabled、ユーザー入力値は userConfig で扱います。認識されないトップレベルのフィールドは警告のみで無視される(--strict ではエラー化)ため、plugin.json を package.json などと兼用することも可能です。
プラグイン内で使えるパス変数も覚えておくと便利です。
| 変数 | 指す先 |
|---|---|
${CLAUDE_PLUGIN_ROOT} | 指す先インストール先の絶対パス |
${CLAUDE_PLUGIN_DATA} | 指す先更新を跨いで永続するデータ領域(~/.claude/plugins/data/{id}/) |
${CLAUDE_PROJECT_DIR} | 指す先プロジェクトルート |
自作の最小手順
最小構成なら、雛形生成からローカルテスト、ホットリロードまでを数ステップで回せます。
# 1. 雛形を生成する
claude plugin init
# 2. skills/<name>/SKILL.md を編集して機能を書く
# (必要に応じて agents/・hooks/hooks.json・.mcp.json を追加)
# 3. インストールせずに一時ロードして試す
claude --plugin-dir ./my-plugin
# 4. 変更したら、セッションを切らずに反映する
/reload-plugins
# 5. 配布前にスキーマを検証する
claude plugin validate .スキルは skills/<name>/SKILL.md の形式で置くと、モデルが自動起動するほか、/plugin-name:skill という名前空間付きコマンドとしても呼び出せます。commands/ に置くフラットな .md は旧式の扱いで、新規作成では skills/ が推奨されています。
サブエージェントを同梱する場合、hooks / mcpServers / permissionMode はセキュリティ上の理由でプラグイン同梱エージェントでは非対応です。これらはプラグインの hooks/hooks.json や .mcp.json 側で定義します。
スキルやサブエージェントそのものの書き方は、スキル完全ガイドやサブエージェント実践ガイドを組み合わせると、プラグイン化する前段の中身づくりが進めやすくなります。
配布したいときは、自前の marketplace.json をgitでホストし、利用者に /plugin marketplace add <owner/repo> してもらう形が基本です。marketplace.json の各pluginエントリでは name と source が必須で、source には相対パス(./ 始まり)のほか、{source:"github", repo, ref?, sha?} / {source:"url", url} / {source:"git-subdir", url, path} / {source:"npm", package, version?, registry?} のオブジェクト型を指定できます。
npmがsource型の1つとして存在するため「プラグイン = npmパッケージ」「npm publish で公開」と誤解されがちですが、これは誤りです。公開の標準フローは npm publish ではなく、(a)自前 marketplace.json をgitでホストする、(b)コミュニティマーケットプレイスへフォーム提出して審査・スクリーニングを通す、(c)公式マーケットプレイス(Anthropicの裁量でキュレーション、応募経路なし)のいずれかです。提出フォームの対象はあくまで「コミュニティ」マーケットプレイスで、claude-plugins-officialには応募フォームがありません。
使い分け早見表
スコープと配布方法は、目的に応じて次のように整理できます。
| 状況 | スコープ / 方法 | 反映先 |
|---|---|---|
| 自分の全プロジェクトで使いたい | スコープ / 方法--scope user(既定) | 反映先個人グローバル |
| 特定リポジトリのチーム全員で共有したい | スコープ / 方法--scope project | 反映先プロジェクト固有(リポジトリにコミット) |
| 一時的に手元だけで試したい | スコープ / 方法--scope local / claude --plugin-dir | 反映先その端末・そのセッション |
| キュレーション品質を重視 | スコープ / 方法claude-plugins-official からinstall | 反映先Anthropicキュレーション |
| 第三者製を安全側で使いたい | スコープ / 方法claude-plugins-community からinstall | 反映先自動審査済み・SHAピン留め |
| 社内限定で配りたい | スコープ / 方法自前 marketplace.json をprivate repoでホスト | 反映先自社プライベート |
設定全般の格納場所についてはsettings.json完全ガイド、コマンド体系についてはスラッシュコマンドガイドもあわせて参照できます。
よくあるつまずきと回避策
| 症状 | 原因 | 対処 |
|---|---|---|
/skill 名で呼んでも動かない | 原因プラグインのスキルは名前空間付き | 対処/plugin-name:skill 形式で呼ぶ |
| スキルやコマンドが認識されない | 原因.claude-plugin/ 内に置いてしまった | 対処コンポーネントはプラグインルート直下へ。.claude-plugin/ 内は plugin.json のみ |
| 変更が反映されない | 原因セッションがキャッシュを読んだまま | 対処/reload-plugins を実行 |
version を上げたのに更新されない | 原因カタログ側が古い | 対処/plugin marketplace update [name] でカタログを再取得 |
| LSPプラグインが効かない | 原因言語サーバーのバイナリ未導入 | 対処対応言語サーバーを別途インストール |
/plugin が出てこない | 原因Claude Code本体が古い | 対処本体を更新してから再確認 |
| マーケットプレイスを消したらプラグインも消えた | 原因最後のスコープからremoveした | 対処更新だけならremoveではなく marketplace update を使う |
直接URLで marketplace.json をaddした場合、相対パスsourceは解決できません。この場合は github / npm / git URLのsource型を使う必要があります。
FAQ
プラグインとMCPの違いは何ですか
MCPサーバーは外部ツールやデータソースへの接続そのものを指します。プラグインは、そのMCPサーバー定義(.mcp.json)に加えて、スキル・エージェント・フック・LSPなどをまとめて1パッケージにし、配布・バージョン管理できるようにした上位の単位です。MCP単体の使い方はMCP実践ガイドで扱っています。
スキルとプラグインの関係は何ですか
スキルはプラグインに含められるコンポーネントの1つです。スキル単体でも .claude/ 配下で使えますが、関連するフックやエージェントとまとめて配布したいときにプラグイン化する、という関係になります。
無料プランでも使えますか
プラグインの利用可否は、利用しているプラン構成とClaude Code本体のバージョンに依存します。料金やプランの対応範囲は変更されることがあるため、最新の対応状況は、自分の環境で /plugin を開けるかどうかを確かめるか、Anthropicの料金・プランの記載を参照するのが確実です。
チーム全員に配布できますか
プロジェクトスコープ(--scope project)でリポジトリにコミットしておくと、チームで共有しやすくなります。自社限定で配る場合は、marketplace.json をprivateリポジトリでホストして各自にaddしてもらう形が基本です。
アンインストールと無効化はどう違いますか
/plugin disable <name>@<marketplace> は削除せず一時的に無効化するだけで、/plugin enable で戻せます。完全に消したいときは /plugin uninstall を使います。
まとめ
プラグインは、スキル・エージェント・フック・MCP・LSPなどを1つのディレクトリに束ね、配布とバージョン管理を可能にする仕組みです。日常的には /plugin を開いてマーケットプレイスから入れ、/plugin-name:skill で呼び出すのが最短ルートになります。自作する場合は claude plugin init で雛形を作り、.claude-plugin/plugin.json を置き、コンポーネントはプラグインルート直下に配置します。配布は marketplace.json をgitでホストする形が基本で、npmはsource型の1つに過ぎない点だけ押さえておけば、誤解なく扱えます。
次の一歩として、束ねる中身そのものを磨くならスキル・サブエージェント・フックの各ガイドが、全体像の確認にはClaude Code完全ガイドが手がかりになります。
関連する記事
Claude Code をもっと見る →Claude Codeベストプラクティス — Anthropicが示す自走エージェントの設計原則と運用パターン
Claude Codeとは — Anthropicのエージェント型AIコーディングCLI完全ガイド
Claude Code Skillsの作り方と使い分け — 最小単位・運用ROI・他レイヤ比較
Claude Code v2.1.153 — /model選択が既定値として保存、OAuth資格情報漏れを修正
Claude Code v2.1.152 — /code-review --fixで指摘を作業ツリーに自動適用
Claude Code v2.1.141 — フック通知の新フィールド + ワークスペース単位トークン