メインコンテンツへスキップ
ブログ一覧

Claude Code Plugin実践ガイド — 発見・導入・自作・チーム共有の全手順

(更新: 2026年03月22日)
Claude Codeプラグインマーケットプレイス開発環境構築チーム開発

Claude Codeの真価はプラグインで引き出す。Skills・Hooks・MCPサーバー・AGENT.mdといった個別機能は使いこなせても、それらを「プラグイン」としてパッケージ化し、ワンコマンドで導入・チーム共有できることを知っている開発者はまだ少ない。本記事では、プラグインの発見から自作・組織標準化までを、実際のコマンドと設定ファイル付きで一気通貫に解説する。

Claude Code Pluginとは何か — Skills・Hooks・MCPをバンドルする仕組み

プラグインが解決する問題:設定の属人化とコピペ地獄

チームでClaude Codeを使っていると、「あの人のCLAUDE.mdを共有して」「MCPサーバーの設定どうやるんだっけ」というやり取りが頻発する。settings.jsonやCLAUDE.mdを手動コピーして回る運用は、バージョン管理もできず属人化の温床になる。

プラグインはこの問題を根本から解決する仕組みだ。Skills・Hooks・MCPサーバー設定・Agents・LSPサーバーといった機能群を1つのパッケージにまとめ、claude plugin install でワンコマンド導入できるようにする。

プラグインの構成要素

プラグインは .claude-plugin/ ディレクトリに格納され、以下の要素をバンドルできる。

code
my-plugin/
├── .claude-plugin/
│   └── plugin.json          # マニフェスト(nameのみ必須)
├── skills/                  # スラッシュコマンド(SKILL.md)
│   └── review/
│       └── SKILL.md
├── agents/                  # サブエージェント定義
├── hooks/
│   └── hooks.json           # ライフサイクルフック
├── .mcp.json                # MCPサーバー設定
├── .lsp.json                # LSPサーバー設定
└── settings.json            # デフォルト設定

plugin.json は省略可能で、省略した場合はClaude Codeがディレクトリ構造から各コンポーネントを自動検出する。正直、この自動検出がよくできていて、最小構成なら plugin.json なしでも動く。

プラグインの発見とインストール — マーケットプレイスの使い方

公式マーケットプレイスからの導入

Claude Codeには公式マーケットプレイス(anthropics/claude-plugins-official)がデフォルトで登録されている。LSP連携やコードレビュー、各種SaaS統合など数十個のプラグインが用意されており、追加設定なしで利用できる。

プラグインの発見にはCLI内で /plugin コマンドを使う。Discoverタブで一覧を確認し、そのままインストールできる。

bash
# プラグインのインストール(/plugin スラッシュコマンド形式)
/plugin install typescript-lsp@claude-plugins-official

# マーケットプレイスを指定してインストール
/plugin install code-review@claude-plugins-official

# スコープ指定(user / project / local)
/plugin install supabase@claude-plugins-official --scope project

# インストール済みプラグインの確認
claude plugin list

# プラグインの無効化(アンインストールせず一時停止)
claude plugin disable code-review

# マーケットプレイス単位での更新
/plugin marketplace update claude-plugins-official

スコープは3種類あり、用途に応じて使い分ける。user(デフォルト)は ~/.claude/settings.json に、project.claude/settings.json に、local.claude/settings.local.json に記録される。チームで共有したい場合は --scope project を選ぶとよい。

コミュニティマーケットプレイスの追加と注意点

公式以外にもコミュニティが運営するマーケットプレイスが存在する。GitHubリポジトリ、GitURL、ローカルパスなどを指定して追加できる。

bash
# GitHubリポジトリをマーケットプレイスとして追加
claude plugin marketplace add owner/repo-name

# 登録済みマーケットプレイスの一覧
claude plugin marketplace list

# マーケットプレイスのリスティングを更新
claude plugin marketplace update

セキュリティ上の注意: コミュニティプラグインのHooksは任意のシェルコマンドを実行できる。インストール前に必ずリポジトリのソースコードを確認すること。マーケットプレイスからインストールされたプラグインは ~/.claude/plugins/cache/ にコピーされるため、インストール後にリモートが改ざんされても既存環境には影響しない。

プラグインを自作する — 最小構成から始める実装手順

plugin.jsonの書き方とメタデータ

自作プラグインの plugin.jsonname フィールドのみ必須だ。以下が主要フィールドの全体像になる。

json
{
  "name": "my-team-plugin",
  "version": "1.0.0",
  "description": "チーム標準の開発支援プラグイン",
  "author": {
    "name": "Your Name",
    "url": "https://github.com/yourname"
  },
  "license": "MIT",
  "keywords": ["review", "testing"],
  "skills": "./skills/",
  "hooks": "./hooks/hooks.json",
  "mcpServers": "./.mcp.json"
}

skillshooksmcpServers などのパスはすべて ./ から始まる相対パスで指定する。カスタムパスはデフォルトディレクトリを置き換えるのではなく、補完する形で動作する。

Skillsの定義(スラッシュコマンド)

Skillは skills/ ディレクトリ内にサブディレクトリを作り、SKILL.md を配置する。

markdown
<!-- skills/quick-review/SKILL.md -->
---
name: quick-review
description: 変更差分をレビューして改善点を指摘する
---

現在のgit diffの内容をレビューしてください。
以下の観点で改善点を指摘してください:

1. バグの可能性がある箇所
2. パフォーマンス上の懸念
3. セキュリティリスク

問題がなければ「LGTM」とだけ回答してください。

インストール後、/quick-review としてスラッシュコマンドから呼び出せる。

Hooksの組み込み

Hooksはライフサイクルイベントに応じて自動実行される処理だ。command(シェル)、http(POST)、prompt(LLM評価)、agent(エージェント検証)の4タイプがある。

json
// hooks/hooks.json
{
  "hooks": {
    "PostToolUse": [
      {
        "type": "command",
        "matcher": "Write|Edit",
        "command": "npx prettier --write ${CLAUDE_FILE_PATH}",
        "timeout": 10000
      }
    ],
    "Stop": [
      {
        "type": "command",
        "command": "${CLAUDE_PLUGIN_ROOT}/hooks/on-stop.sh"
      }
    ]
  }
}

${CLAUDE_PLUGIN_ROOT} でプラグインのインストールディレクトリを参照できる。

MCPサーバーのバンドル

MCPサーバーの設定は .mcp.json に記述するか、plugin.json 内にインラインで定義する。

json
// .mcp.json
{
  "mcpServers": {
    "my-db-server": {
      "command": "npx",
      "args": ["-y", "@my-org/db-mcp-server"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    }
  }
}

settings.jsonでのインラインプラグイン宣言

マーケットプレイスを使わないローカル運用

正式なマーケットプレイスを構築せず、settings.jsonの extraKnownMarketplaces に外部ソースとしてプラグインを宣言する方法もある。

json
{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {
        "source": "github",
        "name": "team-tools",
        "plugins": [
          {
            "name": "code-formatter",
            "source": {
              "source": "github",
              "repo": "acme-corp/code-formatter"
            }
          }
        ]
      }
    }
  },
  "enabledPlugins": {
    "code-formatter@team-tools": true
  }
}

enabledPlugins"プラグイン名@マーケットプレイス名": true の形式で有効化する。

プロジェクト単位 vs ユーザー単位の使い分け

設定ファイル スコープ Git管理 用途
~/.claude/settings.json ユーザー全体 しない 個人の汎用プラグイン
.claude/settings.json プロジェクト する チーム共有プラグイン
.claude/settings.local.json プロジェクト(個人) しない 個人のAPI鍵を含む設定

チームで共有すべき設定は .claude/settings.json に、API鍵などの機密情報を含む設定は .claude/settings.local.json に分離するのが基本だ。

チーム標準化 — プラグインで開発体験を統一する

プライベートマーケットプレイスの構築

GitHubリポジトリをそのままプライベートマーケットプレイスとして運用できる。

code
acme-corp/claude-plugins/          # プライベートリポジトリ
├── marketplace.json               # マーケットプレイスマニフェスト
├── plugins/
│   ├── acme-review/
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   └── skills/
│   │       └── review/
│   │           └── SKILL.md
│   └── acme-deploy/
│       ├── .claude-plugin/
│       │   └── plugin.json
│       └── hooks/
│           └── hooks.json
└── external_plugins/              # 外部プラグインへの参照

チームメンバーは一度 claude plugin marketplace add acme-corp/claude-plugins を実行すれば、以降はすべてのチームプラグインにアクセスできる。.claude/settings.jsonextraKnownMarketplaces として記述しておけば、リポジトリをcloneした時点でマーケットプレイスの信頼確認が促される。

CLAUDE.mdとプラグインの役割分担

両者の使い分けは明確だ。CLAUDE.md はプロジェクト固有のルール(コーディング規約、アーキテクチャ方針、ビルド手順)を記述する場所。プラグイン はプロジェクト横断で再利用できる汎用機能(レビューSkill、フォーマットHook、DB接続MCP)をパッケージ化する仕組み。これは地味に重要な区別で、混同するとメンテナンスが破綻する。

よくあるハマりポイントと解決策

Hooksのシェルスクリプトが動かない — 実行権限の付与忘れが最多原因。chmod +x hooks/on-stop.sh を忘れずに。

MCPサーバーのパスが解決できないnpx で起動するMCPサーバーはグローバルのNode.js環境に依存する。${CLAUDE_PLUGIN_ROOT} を使ってプラグインディレクトリからの相対パスで指定するのが確実。

プラグイン間の競合 — 同名のSkillが複数プラグインに存在する場合、後からインストールしたものが優先される。claude plugin list で有効なプラグインを確認し、不要な方を disable する。

settings.jsonの構文エラーでClaude Codeが起動しない — JSONの構文エラーは即座にClaude Code全体に影響する。復旧するには該当のsettings.jsonを直接エディタで修正するか、一時的にリネームして起動後に修正する。

bash
# 緊急復旧:問題のある設定を退避
mv ~/.claude/settings.json ~/.claude/settings.json.bak
# Claude Code起動後に修正して戻す

セッション限定で試したい — インストールせずに一時的にプラグインを読み込む --plugin-dir オプションが便利。自作プラグインの動作確認に使える。

bash
claude --plugin-dir ./my-plugin-dev

Claude Code Pluginは、個別に使っていたSkills・Hooks・MCPを「再利用可能なパッケージ」に昇華させる仕組みだ。マーケットプレイスからの導入で即座に生産性を上げられるだけでなく、自作プラグインをチームで共有することで、開発体験そのものを標準化できる。まずは /plugin でDiscoverタブを開いて、気になるプラグインを1つインストールするところから始めてみてほしい。

もっと読む他の技術記事も読む
Claude Codeプラグインマーケットプレイス開発環境構築チーム開発

公開: 2026年03月21日

最終更新: 2026年03月22日