Claude Code プラグインは、スキル・サブエージェント・hooks・MCP サーバーを 1 つのディレクトリにまとめ、/plugin install 一回で入れられるようにする仕組みです。マーケットプレイスは、そのプラグインを並べた .claude-plugin/marketplace.json というカタログで、Git リポジトリやローカルのディレクトリに置けます。この記事では、筆者が実際に作った team-guard プラグインをローカルのマーケットプレイスから入れるまでの手順と、リポジトリの .claude/settings.json でチーム全員に配る設定を、2026 年 10 月時点の公式ドキュメントと実行結果に沿って説明します。
プラグインは、スキル、サブエージェント、hooks、MCP サーバーなどと、名前を書いた plugin.json(マニフェスト)を入れたディレクトリです1。Claude Code はこれを 1 つの単位として読み込みます。
プラグインに入れられる主なものは次のとおりです12。
| 置き場所 | 中身 | 呼び出し名の例 |
|---|
.claude-plugin/plugin.json | マニフェスト(名前・説明・版) | — |
skills/<名前>/SKILL.md | スキル | /team-guard:pr-checklist |
agents/<名前>.md | サブエージェント | team-guard:reviewer |
hooks/hooks.json | hooks(settings.json の hooks と同じ書式) | — |
.mcp.json | MCP サーバー | plugin:team-guard:<サーバー名> |
スキルとサブエージェントには、プラグイン名が前に付きます。2 つのプラグインがどちらも hello というスキルを持っていても、/a:hello と /b:hello で区別できます1。
hooks/hooks.json に modules を書くと、TypeScript の関数で Claude Code の振る舞いを変える「mod」にもなります(Claude Code の Claude Mods 入門)。
公式の目安は、「自分だけ・1 プロジェクトだけなら .claude/ にそのまま置く。チームで共有したい、複数プロジェクトで使いたい、版を付けて配りたいならプラグインにする」です1。
Anthropic は 2025-10-09 に Claude Code のプラグインを公開ベータとして発表し、「今後はプラグインがカスタマイズをまとめて共有する標準の方法になる」と書いています3。2026 年 9〜10 月には、その周りが一気に広がりました。
- 2026-09-23: プラグインやコネクターなどを 1 か所で探せる Claude Marketplace を発表。発表時点で 2,000 を超えるコネクターとプラグインがあるとしている4
- 2026-09-25: Claude のディレクトリにプラグインを申請できるポータルを公開。Claude Code ではプラグインに LSP・コマンド・hooks・エージェントも入れられると説明5
- 2026-10-01: Claude Code v2.1.287 で Mods を追加。mod もプラグインとして配る(Claude Mods 入門)
検索の関心も続いています。Google トレンド(日本)では、「Claude Code」の直近 4 週の平均は前の 8 週より下がったものの、同じ比較の「Codex」に次ぐ水準です。
AI コーディングツールの検索インタレスト(日本・Google トレンドの相対値)データを表で見る
AI コーディングツールの検索インタレスト(日本・Google トレンドの相対値)| 語 | 直近 4 週の平均 | その前 8 週の平均 |
|---|
| Codex | 35.3 | 41.9 |
|---|
| Claude Code | 22.2 | 32.8 |
|---|
| Cursor | 6.8 | 10.2 |
|---|
出典: Google トレンド(日本・過去 90 日、2026-10-05 取得)の相対値。同じ回で GitHub Copilot と比較し、回の最大値を 100 として正規化
同じ調査で「Claude Code」の関連キーワードには「claude code モデル 変更」(+140%)や「claude code リモート」(+120%)が急上昇として出ていました。設定や使い方を調べる人が多く、その設定をまとめて配る手段がプラグインです。
ここでは、チームで共通に使いたい 3 つを 1 つにまとめた team-guard を作ります。
- スキル
pr-checklist: PR を作る前の確認手順
- サブエージェント
reviewer: 差分をレビューする
- hooks:
.env の読み書きを止める
マーケットプレイスの marketplace.json がプラグインを指し、プラグインがスキル・サブエージェント・hooks・MCP を同梱し、リポジトリの settings.json を通じてチーム全員に届く構造図: 筆者作成(Claude Code 公式ドキュメントのプラグイン・マーケットプレイスのページをもとに作図)
.claude-plugin/ に入れるのは plugin.json だけです。スキルなどをこの中に置くと読み込まれません1。
mkdir -p team-guard/.claude-plugin team-guard/skills/pr-checklist team-guard/agents team-guard/hooks team-guard/scripts
{
"name": "team-guard",
"description": "チーム共通の PR チェックリスト、レビュー用サブエージェント、.env を守る hooks",
"version": "1.0.0",
"author": { "name": "Skill We Find" }
}
name は必須で、スキルとサブエージェントの接頭辞になります。空白は使えません。version を書くと、利用者は版を上げるまでその版にとどまります1。
skills/pr-checklist/SKILL.md です。description は、Claude がいつこのスキルを使うかの判断材料になります。
---
name: pr-checklist
description: PR を作る前に、テスト・型チェック・変更点の説明がそろっているかを確かめる。PR を作る、push する前に使う。
---
PR を作る前に次の順で確かめる。
1. テストを実行し、失敗が 0 件であることを確かめる
2. 型チェック(例: `npx tsc --noEmit` や `go vet ./...`)を実行する
3. `git diff --stat` で変更ファイルを一覧にし、意図しないファイルが無いか見る
4. PR 本文に「何を・なぜ・どう確かめたか」を書く
スキルの書き方は Claude Code のスキルの作り方 で詳しく扱っています。
agents/reviewer.md です。プラグインのサブエージェントでは name・description・model・tools などが使えます。hooks・mcpServers・permissionMode は無視されるので、hooks や MCP はプラグイン側に置きます2。
---
name: reviewer
description: 変更差分を読んで、バグ・セキュリティ・読みやすさの観点で指摘する。コードを書き終えたあとに使う。
model: sonnet
tools: Read, Grep, Glob, Bash
---
あなたはコードレビュアーです。`git diff` で変更を読み、次の順に指摘してください。
重大なバグ → セキュリティ(秘密情報・入力検証)→ 読みやすさ。指摘ごとにファイル名と行を書きます。
hooks/hooks.json は、settings.json の hooks と同じ形を "hooks" キーの下に書きます。同梱のスクリプトは ${CLAUDE_PLUGIN_ROOT} で指し、空白入りのパスでも壊れないよう二重引用符で囲みます2。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Read|Edit|Write|Bash",
"hooks": [
{
"type": "command",
"command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/protect-env.sh\""
}
]
}
]
}
}
scripts/protect-env.sh は、.env を対象にした呼び出しを exit 2 で止めるスクリプトです。中身と動作確認の方法は Claude Code の hooks 入門 に載せています。chmod +x を忘れずに付けます。
プラグインの hooks は、スキルを使ったときではなく、プラグインが読み込まれた時点から有効になります2。
MCP サーバーはプラグイン直下の .mcp.json に書きます。公式の例は次の形です2。
{
"mcpServers": {
"db": {
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/server.js"]
}
}
}
このサーバーのツールは mcp__plugin_<プラグイン名>_db__<ツール名> という名前になります。hooks の matcher や権限ルールにはこの名前を書きます2。今回の team-guard には MCP サーバーを入れていません。
claude plugin validate ./team-guard
claude --plugin-dir ./team-guard
--plugin-dir は、インストールせずに 1 セッションだけ読み込むフラグです1。筆者は claude -p "/team-guard:pr-checklist" --plugin-dir ./team-guard でスキルが呼べること、.env を置いたディレクトリで Read を頼むと hook のメッセージで止まることを確かめました。
マーケットプレイスは、.claude-plugin/marketplace.json とプラグインを入れたディレクトリです6。
team-marketplace/
├── .claude-plugin/
│ └── marketplace.json
└── plugins/
└── team-guard/
├── .claude-plugin/plugin.json
├── skills/pr-checklist/SKILL.md
├── agents/reviewer.md
├── hooks/hooks.json
└── scripts/protect-env.sh
marketplace.json には name・owner・plugins が必須です。各プラグインには name と source を書きます6。
{
"name": "acme-tools",
"description": "ACME 開発チームの Claude Code プラグイン",
"owner": { "name": "ACME Platform Team" },
"plugins": [
{
"name": "team-guard",
"source": "./plugins/team-guard",
"description": "PR チェックリスト・レビュー用サブエージェント・.env を守る hooks"
}
]
}
ルールは 2 つです6。
source の相対パスはマーケットプレイスのルート(.claude-plugin/ を含むディレクトリ)から書く: .. を含むと validate で落ちる
- エントリーの
name とプラグインの plugin.json の name をそろえる: ずれると、インストール時に not found in marketplace になる
source には相対パスのほか、github(別リポジトリ)、git-subdir(モノレポの一部)、url、archive(zip)、npm なども使えます6。
作ったマーケットプレイスを登録し、プラグインを入れます。筆者は自分の設定を汚さないよう、CLAUDE_CONFIG_DIR を /tmp の作業用ディレクトリに向けて実行しました。
claude plugin validate でマーケットプレイスを検証し、marketplace add と install でプラグインを入れ、plugin details でスキル 1・エージェント 1・PreToolUse hook 1 が読み込まれたことを確かめる様子筆者が実行した出力を録画(2026-10-05、Claude Code 2.1.289)。plugin details の出力は一部の行を省略
claude plugin validate ./team-marketplace
claude plugin marketplace add ./team-marketplace
claude plugin install team-guard@acme-tools
インストール名は「エントリー名 @ マーケットプレイス名」です。対話セッションでは /plugin marketplace add ./team-marketplace と /plugin install team-guard@acme-tools で同じことができ、後者はスコープを選ぶ画面が開きます67。
入ったものは claude plugin details で確かめます。筆者の環境では次のように出ました。
| 項目 | 出力 |
|---|
| Skills | 1(pr-checklist) |
| Agents | 1(reviewer) |
| Hooks | 1(PreToolUse。モデルの文脈は消費しない) |
| 常に読み込まれるトークンの見積もり | 約 35 トークン |
スキルやサブエージェントは説明文だけが常に読み込まれ、本文は使ったときに読み込まれます。プラグインを増やすときは、この見積もりで重さを見ておくと安心です。
/plugin install では 3 つのスコープを選べます7。
| スコープ | 効く範囲 | 書き込まれる設定 |
|---|
| user | 自分の全プロジェクト | ~/.claude/settings.json |
| project | リポジトリの全員 | .claude/settings.json(commit する) |
| local | 自分だけ・このリポジトリだけ | .claude/settings.local.json |
チーム全員に同じプラグインを使ってもらうには、マーケットプレイスを Git ホストに push し、リポジトリの .claude/settings.json に登録を書いて commit します8。
team-marketplace/ をそのまま Git リポジトリにして push します。チームの人は claude plugin marketplace add your-org/your-marketplace で追加できます6。非公開リポジトリでも、各自の端末の Git の認証情報で clone されます8。
対象のリポジトリで --scope project を付けて実行すると、.claude/settings.json に書き込まれます8。筆者がローカルのマーケットプレイスで試したときの出力は次のとおりです。
claude plugin marketplace add ../team-marketplace --scope project
claude plugin install team-guard@acme-tools --scope project
GitHub に置いた場合、.claude/settings.json は次の形になります9。
{
"extraKnownMarketplaces": {
"acme-tools": {
"source": { "source": "github", "repo": "your-org/your-marketplace" }
}
},
"enabledPlugins": {
"team-guard@acme-tools": true
}
}
extraKnownMarketplaces のキーは marketplace.json の name と同じにする
enabledPlugins は「プラグイン名@マーケットプレイス名」を true にする
- 登録が効くのは、各自がそのフォルダーの信頼ダイアログを承認したあと9
マーケットプレイス内の相対パスで書いたプラグインは、マーケットプレイスの登録が効けば読み込まれます。一方、別の GitHub リポジトリを source にしたプラグインは、各自が一度 claude plugin install 名前@マーケットプレイス --scope project を実行する必要があります9。
利用者に新しい版を届けるには、plugin.json の version を上げます。version を 1.0.0 のまま commit を重ねても、利用者はキャッシュした版のままです。version を書かなければ commit を追いかけます。ただし、ローカルパスから追加したマーケットプレイスのプラグインは、毎回いまのファイルを読み込むので version に左右されません8。
自動更新は既定で無効です。利用者が /plugin の Marketplaces で自動更新を有効にするか、claude plugin update team-guard@acme-tools で更新します8。
Team・Enterprise プランなどで管理設定(managed settings)を配れる場合は、同じ extraKnownMarketplaces と enabledPlugins を管理設定に書くと、全員の端末で強制できます9。strictKnownMarketplaces で許可するマーケットプレイスを絞ることもできます。
--plugin-dir はプラグインのルート(.claude-plugin/plugin.json がある場所)を受け取ります。マーケットプレイスのルートを渡すと marketplace.json は読まれず、エラーも出ません1。プラグインのディレクトリを渡すか、マーケットプレイスとして追加します。
skills/ を .claude-plugin/ の中に置いている可能性があります。skills/ はプラグインのルートに置き、/reload-plugins で再読み込みします1。
--plugin-dir やローカルのマーケットプレイスなら /reload-plugins で反映されます。Git から入れたものはキャッシュされるので、version を上げて更新します68。
プラグインは hooks や MCP サーバーを通じて、あなたの権限でコマンドを実行できます。Anthropic はサードパーティのマーケットプレイスをレビューしていません10。入れる前に中身を読み、claude plugin validate を通してから試します。
- Claude Code プラグインは、スキル・サブエージェント・hooks・MCP サーバーを
plugin.json と一緒にまとめたディレクトリ
- マーケットプレイスは
.claude-plugin/marketplace.json のカタログ。source はルートからの相対パスか GitHub などで書く
- 作ったら
claude plugin validate → --plugin-dir → marketplace add → install の順で確かめる
- チームには、リポジトリの
.claude/settings.json に extraKnownMarketplaces と enabledPlugins を書いて配る
- 更新を届けるときは
version を上げる
次は、プラグインに入れるサブエージェントを設計する Claude Code のサブエージェントの作り方 も参考にしてください。
スキルは SKILL.md 1 つで、Claude に手順や知識を渡すものです。プラグインは、スキルを含む複数の部品(サブエージェント・hooks・MCP サーバーなど)をまとめて配る入れ物です。自分だけで使うならスキルのままで十分で、共有したくなったらプラグインにします1。
いいえ。ローカルのディレクトリ、任意の Git ホスト、marketplace.json を置いた URL からも追加できます。ただし URL で marketplace.json だけを配る場合、相対パスのプラグインは取得できないので、github や archive の source を使います8。
対話セッションを初めて起動すると、公式の claude-plugins-official が自動で追加されます。/plugin の Discover タブで検索できます。ほかにコミュニティ向けの claude-community やデモ用の claude-code-plugins があり、/plugin marketplace add で追加します10。
使えます。ただし手元の端末とは届く設定が違います。たとえば Anthropic がホストする環境には、管理設定のうちサーバー管理の設定だけが届き、MDM で配った設定や手元の管理設定ファイルは届きません9。リポジトリの設定がどう効くかは、公式の Install plugins のページのクラウドセッションの説明で確かめてください7。
スキルやサブエージェントの説明文が常に文脈に入るので、その分のトークンを使います。claude plugin details <名前> で見積もりを確かめられます。筆者の team-guard は常時約 35 トークンでした。
-
Create a Claude Code plugin — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
Add components to a plugin — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Customize Claude Code with plugins — Anthropic, 2025-10-09(2026-10-05 参照) ↩
-
Claude Marketplace: one place to discover plugins, agents, and services from our partners — Anthropic, 2026-09-23(2026-10-05 参照) ↩
-
Build plugins for Claude — Anthropic, 2026-09-25(2026-10-05 参照) ↩
-
Create a marketplace — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Install and manage plugins — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3
-
Host and maintain a marketplace — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Manage plugins for your organization — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2 ↩3 ↩4 ↩5
-
Anthropic's marketplaces — Anthropic, Claude Code Docs(2026-10-05 参照) ↩ ↩2