Claude Codeで、同じフックやエージェント設定を毎回プロジェクトごとにコピペしていないでしょうか。プラグイン(plugins)を使うと、スキル・エージェント・フック・MCPサーバーなどをひとつのディレクトリにまとめ、チームや別のプロジェクトへそのまま配布できます(Create plugins)。本記事では、公式マーケットプレイスからのインストール手順、自作プラグインの作り方、独自マーケットプレイスでの配布手順までを、公式ドキュメントに実在する用語とコマンドだけを使って順番に解説します。仮の例として、個人のメモ用に.claude/へ置いていたスキルとフックを、チーム全員が/plugin installで導入できる1つのプラグインへまとめ直す場面を想定しながら読み進めてください。
Claude Codeのプラグインとは何か
【完全無料】AI×SNSで成果を出す100大特典を受け取る
AIの使い方を、SNS運用の実務につなげたい方へ。LINEで特典の案内を受け取れます。
プラグインとは、スキル・エージェント・フック・MCPサーバーなどをひとつの自己完結したディレクトリにまとめ、プロジェクトやチームをまたいで共有できるClaude Codeの拡張機能のことです。
公式ドキュメントによると、プラグインはカスタム機能をプロジェクトやチームをまたいで共有できる形でClaude Codeを拡張する仕組みです(Create plugins)。個人用の設定ファイルと違い、プラグインは名前空間を持つため、複数人がそれぞれ別のプラグインをインストールしてもスキル名が衝突しません。
仮の例として、社内でよく使う「コミットメッセージ生成」「PRレビュー」「デプロイ前チェック」という3つのスキルを個別に.claude/skills/で管理していたチームが、これらを1つのプラグインにまとめて/plugin install一発で全員に配り直すケースを考えると分かりやすいです。
スタンドアロン設定(.claude/)とプラグインの使い分け
スタンドアロン設定とは、個人やプロジェクト単位で.claude/ディレクトリに直接スキルやフックを置く方式で、プラグインより手軽に始められますが共有には向きません。
公式ドキュメントは両者の使い分けを表で示しています(Create plugins)。呼び出し名も、スタンドアロンは/helloのようにそのままですが、プラグインは/plugin-name:helloのように名前空間が付きます。
| 方式 | スキル名の例 | 向いている用途 |
|---|---|---|
スタンドアロン(.claude/ディレクトリ) |
/hello |
個人のワークフロー、プロジェクト固有のカスタマイズ、素早い試作 |
| プラグイン(スキル・エージェント・フックをまとめた自己完結ディレクトリ) | /plugin-name:hello |
チームでの共有、コミュニティへの配布、バージョン管理されたリリース、複数プロジェクトでの再利用 |
公式ドキュメントのTipでも、共有する準備ができるまではスタンドアロン設定から始めることを勧めています(Create plugins)。つまり最初からプラグイン化する必要はなく、仮の例として、まず.claude/skills/hello/SKILL.mdで個人検証を済ませてから、チーム展開の段階でプラグインへ変換するという順番が公式の想定する流れです。
プラグインを試す前の準備
プラグインを試す準備とは、Claude Codeのインストールと認証を済ませ、プラグインの構成ルールを理解しておく工程のことです。
クイックスタートの前提条件は、Claude Codeが導入・認証済みであることの1点だけです(Create plugins)。インストール自体の手順はClaude Code 使い方の記事で解説しているので、未導入の場合は先に済ませておいてください。
プラグインの構成には注意点があります。公式ドキュメントは、commands/・agents/・skills/・hooks/を.claude-plugin/ディレクトリの内側に置かないよう明記しており、プラグインのルートディレクトリは個々のプラグイン自身のディレクトリであって~/.claude/ではないとも述べています(Create plugins)。仮の例として、my-first-plugin/.claude-plugin/skills/のようにskills/を.claude-plugin/の内側へ置いてしまうと、Claude Codeはそのスキルを読み込みません。
公式マーケットプレイスからプラグインをインストールする手順
公式マーケットプレイスとは、Anthropicが管理するclaude-plugins-officialというプラグインカタログで、Claude Codeを対話的に初めて起動したときに自動登録されます。
ブラウズするには/pluginを実行してDiscoverタブを開くか、claude.com/pluginsのカタログを見ます(Discover and install plugins)。特定のプラグインを名指しでインストールする場合は次のコマンドを使います。
/plugin install github@claude-plugins-official
公式マーケットプレイスが収録しているカテゴリは、公式ドキュメントの見出し構成に沿うと次の5つです(Discover and install plugins)。
| カテゴリ | 内容 |
|---|---|
| Code intelligence | LSPサーバーを設定し、定義ジャンプや型エラー表示など組み込みLSPツールを有効化する |
| External integrations | GitHub・GitLab・Jira/Confluence・Asana・Linear・Notion・Figma・Vercel・Firebase・Supabase・Slack・SentryなどのMCPサーバーを事前設定込みで追加する |
| Automatic security review | security-guidanceプラグインが変更ごとに脆弱性を確認し、その場で修正を指示する |
| Development workflows | commit-commandsやpr-review-toolkitなどGit運用やPRレビュー向けのスキル・エージェントを追加する |
| Output styles | explanatory-output-styleなど応答の見せ方そのものを変えるプラグインを追加する |
インストール時にはuser(自分だけ全プロジェクト)・project(リポジトリの協力者全員)・local(このリポジトリの自分だけ)というスコープを選びます(Discover and install plugins)。仮の例として、個人検証ではlocal、チーム全員に配りたい場合はprojectスコープを選ぶ、という使い分けになります。
コミュニティ・チーム独自のマーケットプレイスを追加する
コミュニティマーケットプレイスとは、Anthropicの自動検証を通過したサードパーティ製プラグインを集めたclaude-plugins-communityというカタログのことです。
公式マーケットプレイスと違い手動追加が必要で、コマンドは次の通りです(Discover and install plugins)。
/plugin marketplace add anthropics/claude-plugins-community
/plugin install <plugin-name>@claude-community
チーム管理者は、プロジェクトの.claude/settings.jsonにextraKnownMarketplacesを追記すれば、メンバーがリポジトリを信頼した時点で該当マーケットプレイスを自動追加できます(Discover and install plugins)。なお、プラグインのルートに置いたCLAUDE.mdはプロジェクトコンテキストとして読み込まれない点は、通常のCLAUDE.mdの配置ルールと異なるので注意してください。
仮の例として、社内リポジトリyour-org/claude-pluginsを全メンバーへ配るために、次のような設定を.claude/settings.jsonへコミットする場面を考えます。
{
"extraKnownMarketplaces": {
"my-team-tools": {
"source": {
"source": "github",
"repo": "your-org/claude-plugins"
}
}
}
}
インストール済みプラグインの管理(有効化・無効化・アンインストール)
プラグイン管理とは、インストール済みのプラグインを一覧・有効化・無効化・アンインストールして、セッションで実際に使うものを整理する作業のことです。
/pluginのInstalledタブでは、読み込みエラーや未解決の依存があるプラグインが先頭に表示され、お気に入りが続き、無効化済みは折りたたまれて末尾に並びます(Discover and install plugins)。インストール直後にRun /reload-plugins to activate.と表示された場合は、その変更がまだセッションへ反映されていない状態なので、案内どおり/reload-pluginsを実行します。スクリプトから操作する場合は、パネルを開かない次のCLIコマンドを使います(Plugins reference)。
| コマンド | 役割 |
|---|---|
claude plugin init <name> |
~/.claude/skills/配下に最小構成のプラグインを新規作成する |
claude plugin install <plugin> |
マーケットプレイスからプラグインを導入する |
claude plugin uninstall <plugin> |
導入済みプラグインを削除する |
claude plugin enable <plugin> |
無効化されたプラグインを再度有効にする |
claude plugin disable <plugin> |
アンインストールせずに無効化する |
claude plugin update <plugin> |
プラグインを最新バージョンへ更新する |
claude plugin list --json |
導入済みプラグインをバージョン・提供元マーケットプレイス・有効状態つきでJSON出力する |
claude plugin validate <path> |
公開前にマニフェストや構成のスキーマ誤りを検査する |
2週間以上、かつ10セッション以上使っていないマーケットプレイス導入プラグインは「Not used recently」に分類されます。ただし管理者が管理するプラグインや--plugin-dirで読み込んだプラグイン、テーマ・出力スタイル・モニター・ワークフローのみを提供するプラグインはこの分類の対象外です(Discover and install plugins)。仮の例として、導入したものの使っていないold-formatterプラグインがこの表示で見つかり、claude plugin disable old-formatter@your-orgで無効化する、という流れになります。
自作プラグインを作る手順(クイックスタート)
自作プラグインの作成とは、マニフェストとスキル(またはエージェント・フック)を自分のディレクトリにまとめ、--plugin-dirフラグで動作確認する一連の手順のことです。
公式クイックスタートの手順に沿うと、まずプラグイン用のディレクトリを作ります(Create plugins)。
mkdir my-first-plugin
mkdir my-first-plugin/.claude-plugin
次にmy-first-plugin/.claude-plugin/plugin.jsonを作成します。
{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
続けてスキルを追加します。skills/ディレクトリの配下フォルダ名が、プラグインの名前空間付きで呼び出し名になります(Create plugins)。
mkdir -p my-first-plugin/skills/hello
---
description: Greet the user with a friendly message
disable-model-invocation: true
---
Greet the user warmly and ask how you can help them today.
動作確認は--plugin-dirフラグで行います。
claude --plugin-dir ./my-first-plugin
Claude Codeが起動したら/my-first-plugin:helloを実行すると、あいさつが返ってきます。名前空間が付くのは、複数のプラグインで同名スキルが衝突しないようにするためです(Create plugins)。仮の例として、ここまでの最小構成を土台にして、次はスキルの中身を業務向けのプロンプトへ書き換えていく、という進め方になります。
プラグインに同梱できる中身(skills・agents・hooks・MCPサーバーほか)
プラグインに同梱できる中身とは、プラグインのディレクトリへ配置できるスキル・エージェント・フック・MCPサーバーなどのコンポーネント群のことです。
公式リファレンスが挙げるコンポーネントは次の7種類です(Plugins reference)。それぞれの単体としての詳しい設定方法は、個別記事のスキル(Skills)の使い方、サブエージェントの使い方、フック(hooks)の使い方、MCPとはを参照してください。
| コンポーネント | 配置場所 | 役割 |
|---|---|---|
| Skills | skills/またはcommands/ |
Claudeが状況に応じて自動的に呼び出す、または/nameで手動呼び出しする手順 |
| Agents | agents/ |
特定タスク専用のサブエージェント定義。name・description・model・toolsなどのfrontmatterを持つ |
| Hooks | hooks/hooks.json |
PostToolUseなどのイベントに反応するコマンド・HTTP・MCPツール・プロンプトなどのハンドラ |
| MCP servers | .mcp.json |
外部ツール・サービスと接続するMCPサーバー設定。プラグイン有効化時に自動起動する |
| LSP servers | .lsp.json |
定義ジャンプや型エラー表示などのコードインテリジェンスを提供する言語サーバー接続設定 |
| Monitors | monitors/monitors.json |
ログやステータスをバックグラウンドで監視し、変化をClaudeへ通知として届ける |
| Themes | themes/ |
/themeから選べる配色テーマを追加する |
プラグイン直下のsettings.jsonでは、有効化時に適用する既定設定としてagentキーとsubagentStatusLineキーだけがサポートされています(Create plugins)。仮の例として、セキュリティレビュー専用エージェントを含むプラグインで{"agent": "security-reviewer"}を設定し、プラグインが有効な間はそのエージェントがメインスレッドとして動く、という構成が考えられます。
plugin.jsonマニフェストの書き方
plugin.jsonマニフェストとは、プラグインの名前や説明・バージョンなどのメタデータを定義する.claude-plugin/plugin.jsonファイルのことです。
マニフェスト自体は省略可能で、省略した場合はClaude Codeが既定の場所からコンポーネントを自動検出し、ディレクトリ名からプラグイン名を決めます。マニフェストを含める場合、必須フィールドはnameだけです(Plugins reference)。主要フィールドは次の8つです。
| フィールド | 必須 | 説明 |
|---|---|---|
name |
必須 | ケバブケースの一意な識別子。スキルの名前空間になる |
displayName |
任意 | /pluginピッカーなどUIに表示する人間向けの名称 |
version |
任意 | セマンティックバージョン。設定すると、そのバージョンへピン留めされる |
description |
任意 | プラグインの目的を短く説明する文 |
author |
任意 | name・email・urlを持つ作者情報オブジェクト |
license |
任意 | ライセンス識別子(例: MIT) |
keywords |
任意 | 検索・分類用のタグ配列 |
defaultEnabled |
任意 | ユーザーが未設定のとき有効状態で始めるかどうか。既定はtrue |
Claude Codeは認識しないトップレベルフィールドを無視して読み込むため、npmのpackage.jsonやVS Code拡張機能のマニフェストと1つのファイルを兼用することも可能です。誤字を早期に見つけたい場合は--strictを付けて警告をエラー扱いにします(Plugins reference)。
claude plugin validate ./my-plugin --strict
仮の例として、外部APIへ接続するプラグインを配布する際に"defaultEnabled": falseを設定し、利用者が内容を確認したうえでclaude plugin enableを実行するまで自動では動かないようにする、という使い方が考えられます。
自分のマーケットプレイスを作って配布する方法
マーケットプレイスとは、複数のプラグインをまとめて配布するためのカタログファイルmarketplace.jsonと、それを置いたリポジトリのことです。
マーケットプレイスの必須フィールドはname・owner・pluginsの3つです(Create and distribute a plugin marketplace)。
{
"name": "company-tools",
"owner": {
"name": "DevTools Team",
"email": "devtools@example.com"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0"
},
{
"name": "deployment-tools",
"source": {
"source": "github",
"repo": "company/deploy-plugin"
},
"description": "Deployment automation tools"
}
]
}
各プラグインエントリのsourceには、公式ドキュメントが挙げる次の7種類を指定できます(Create and distribute a plugin marketplace)。
| ソース種別 | 指定するフィールド | 備考 |
|---|---|---|
| Relative path | 文字列(例: "./my-plugin") |
マーケットプレイスと同じリポジトリ内のローカルディレクトリ |
github |
repo・ref(任意)・sha(任意) |
GitHubリポジトリから取得する |
url |
url・ref(任意)・sha(任意) |
GitのURLソース |
git-subdir |
url・path・ref(任意)・sha(任意) |
monorepoの一部だけをスパースにクローンする |
npm |
package・version(任意)・registry(任意) |
npmパッケージとして配布する |
archive |
url・sha256(任意) |
HTTPS経由のzipアーカイブ。gitやnpmがなくても導入できる |
command |
command・timeout(任意)・mode(任意) |
ローカルコマンドの実行結果をプラグインディレクトリとして使う |
作成したマーケットプレイスは、自分のマシンで追加してから動作確認します。
/plugin marketplace add ./my-marketplace
/plugin install quality-review-plugin@my-plugins
仮の例として、社内フォーマッタとデプロイ支援の2つのプラグインをまとめたcompany-toolsマーケットプレイスを作り、フォーマッタはリポジトリ内の相対パスで、デプロイ支援は別のGitHubリポジトリからgithubソースで取得する、という構成が考えられます。
コミュニティマーケットプレイスへの提出とセキュリティ上の注意
コミュニティマーケットプレイスへの提出とは、自作プラグインをAnthropicの自動検証と安全性スクリーニングにかけ、承認されればclaude-communityのカタログへ掲載してもらう手続きのことです。
提出はclaude.aiの申請フォーム、またはConsoleの申請フォームから行います。claude.ai側のフォームはTeamまたはEnterprise組織であること、かつディレクトリ管理権限を持つことを条件としており(組織のOwnerは既定でこの権限を持ちます)、それ以外の個人開発者はConsoleのフォームを使う想定です(Create plugins)。プランごとの違いはClaude料金プラン比較の記事でも確認できます。
提出前には、審査パイプラインと同じチェックをローカルで走らせておきます。
claude plugin validate ./your-plugin
検証に通ると✔ Validation passed、警告があれば✔ Validation passed with warningsが表示されます。承認されたプラグインはanthropics/claude-plugins-communityカタログの特定コミットSHAへ固定され、公開カタログは審査パイプラインから毎晩同期されるため、承認から反映まで時間差が生じます(Create plugins)。
公式ドキュメントは、プラグインとマーケットプレイスはユーザー権限でマシン上の任意のコードを実行できる高信頼コンポーネントであり、信頼できる発行元からだけプラグインを入れ、マーケットプレイスを追加するよう注意を促しています(Discover and install plugins)。Anthropicはプラグインに含まれるMCPサーバーやファイル、その他のソフトウェアの中身までを管理・検証しているわけではありません。仮の例として、社内向けに配るだけであれば、コミュニティ提出はせずプライベートリポジトリのままマーケットプレイスとして共有すれば足ります。
プラグイン導入でよくあるトラブルと対処
プラグイン導入のトラブルとは、コマンドが認識されない・スキルが表示されない・リロードが反映されないといった、導入直後に起きやすい不具合のことです。
/pluginコマンド自体が認識されない場合は、claude --versionでバージョンを確認し、Homebrewならbrew upgrade claude-code、npmならnpm install -g @anthropic-ai/claude-code@latestで更新したうえでターミナルを再起動します(Discover and install plugins)。
| 症状 | 主な原因 | 対処 |
|---|---|---|
| プラグインのスキルが出てこない | キャッシュが古いままになっている | rm -rf ~/.claude/plugins/cacheでキャッシュを消し、Claude Codeを再起動してから入れ直す |
| インストール後にコマンドが反映されない | プロンプトキャッシュを無効化する変更のため反映が保留されている | /reload-plugins --forceを実行して適用する |
LSPでExecutable not found in $PATHと出る |
言語サーバー本体がインストールされていない | 対応する言語サーバーのバイナリを別途インストールしてから再読み込みする |
| LSPプラグインでメモリ使用量が増える | rust-analyzerやpyrightなど大規模プロジェクトで負荷が高い言語サーバーを使っている |
/plugin disable <plugin-name>で無効化し、組み込みの検索ツールで代替する |
| フックが発火しない | 対象イベントが発生していない、またはマッチャーの指定が違う | 対象イベントを実際に起こし、デバッグログでマッチしたフックと終了コードを確認する |
デバッグ用のコマンドやMCPサーバー・ディレクトリ構成の誤りへの対処はPlugins referenceのDebugging and development toolsにまとまっています。仮の例として、自作フックが動かないときは、対象のツール呼び出しを実際に発生させたうえでデバッグログを見て、マッチャーの正規表現が想定どおりかを確認する、という手順で切り分けます。
よくある質問(FAQ)
- Q1. プラグインとスキル(Skills)は何が違いますか
- スキルは単体の手順ファイルで、
.claude/skills/やプラグイン内のskills/に置く1機能です。プラグインはそのスキルに加えてエージェントやフック、MCPサーバーまでをひとつの配布単位としてまとめる入れ物であり、粒度が異なります。 - Q2. マニフェスト(plugin.json)がなくてもプラグインは動きますか
- 動きます。マニフェストは省略可能で、省略時はClaude Codeが既定のディレクトリからコンポーネントを自動検出し、フォルダ名をそのままプラグイン名として扱います。
- Q3. –plugin-dirで読み込んだプラグインはそのまま本番運用に使えますか
- –plugin-dirはそのセッションだけの読み込みで、終了すると設定は残りません。他のメンバーにも共有したい場合は、マーケットプレイスを作って/plugin install経由で導入する形に切り替える必要があります。
- Q4. プラグインの更新はどのタイミングで反映されますか
- 自動更新が有効なマーケットプレイスでは、セッション開始後にバックグラウンドで確認が入り、更新があれば再読み込みを促す通知が出るか、次回起動時に新しいバージョンが読み込まれます。確認のタイミングは固定せず、現在の公式ドキュメントと実際の画面を確認してください。
- Q5. 社外に公開せず社内メンバーだけにプラグインを配ることはできますか
- できます。コミュニティマーケットプレイスへ提出せず、プライベートリポジトリにマーケットプレイスを置いたままextraKnownMarketplacesやgit URLで社内メンバーだけに共有する形で問題ありません。
- Q6. 導入したプラグインが安全かどうかはどう確認すればいいですか
- Anthropicはプラグインに含まれるMCPサーバーやコードの中身までは検証していないため、公式ドキュメントも信頼できる発行元のプラグインだけを入れるよう注意を促しています。導入前にプラグインのホームページや提供元を確認する習慣をつけてください。
まとめ
Claude Codeのプラグインは、スキル・エージェント・フック・MCPサーバーなどをひとつのディレクトリへまとめ、/plugin installひとつでチームへ配布できる仕組みです。まずは公式マーケットプレイスから既存のプラグインを試し、慣れてきたら.claude-plugin/plugin.jsonとskills/を使った自作、さらにmarketplace.jsonを使った独自配布へと段階的に進めるのが、公式ドキュメントに沿った着実な流れです。導入・自作・配布のどの段階でも、claude plugin validateで構成を確認してから次のメンバーへ渡す習慣をつけておくと、トラブルを未然に防ぎやすくなります。
Claude Codeの使い方そのものをまだ体系立てて把握できていない場合は、Claude活用の使い方の記事もあわせて確認しておくと、プラグインをどの業務フローに組み込むかを判断しやすくなります。
あわせて読みたい・姉妹メディア
