Claude Code Pluginsとは何か
Claude Code Pluginsは、スラッシュコマンド・サブエージェント・MCP サーバー・フック・LSP サーバーを1つのパッケージにまとめて配布・共有する仕組みです。2025年10月に公開ベータとなり、バージョン1.0.33以降で利用できます。
通常の.claude/ディレクトリへの設定は単一プロジェクト向けですが、Pluginsを使うと複数プロジェクトやチームメンバーへの横展開が容易になります。GitHubリポジトリ経由でマーケットプレイスを構築し、/plugin installコマンド一発でインストールできる点が最大の特徴です。
PluginsとSkills・MCP・Hooksの関係
Claude Codeの拡張機能は複数ありますが、それぞれ役割が異なります。Pluginsはこれらを束ねるパッケージング層として位置づけられます。
| 要素 | 役割 | 単体利用 | Plugin内に含めるか |
|---|---|---|---|
| Skills | AIが自動判断で使うスキル定義(SKILL.md) | .claude/skills/ に配置して利用可 | 含められる |
| Commands | /command で手動呼び出しするスラッシュコマンド | .claude/commands/ に配置して利用可 | 含められる |
| Subagents | 特定タスク向けの専門エージェント | .claude/agents/ に配置して利用可 | 含められる |
| MCP Servers | 外部サービスとの連携(GitHub、Slack等) | .mcp.json で設定 | 含められる |
| Hooks | ツール実行前後のイベントハンドラ | settings.json で設定 | 含められる |
| LSP Servers | 言語サーバーによるコード解析 | .lsp.json で設定 | 含められる |
| Plugins | 上記すべてを束ねて配布するパッケージ | - | - |
単体設定との使い分けとして、個人のプロジェクト固有設定なら.claude/ディレクトリへ直接配置し、チーム共有・複数プロジェクト横断で使うならPlugin化するのが適切です。
公式マーケットプレイスのプラグイン一覧
Anthropicが管理する公式マーケットプレイスclaude-plugins-officialは、Claude Code起動時に自動で利用可能になります。/pluginコマンドのDiscoverタブから一覧を確認できます。
コードインテリジェンス系(LSPプラグイン)
言語サーバーを介して、型エラーの即時検出・定義ジャンプ・参照検索などをClaudeに提供します。
| 対応言語 | プラグイン名 | 必要バイナリ |
|---|---|---|
| TypeScript | typescript-lsp | typescript-language-server |
| Python | pyright-lsp | pyright-langserver |
| Rust | rust-analyzer-lsp | rust-analyzer |
| Go | gopls-lsp | gopls |
| Java | jdtls-lsp | jdtls |
| C/C++ | clangd-lsp | clangd |
| PHP | php-lsp | intelephense |
| Swift | swift-lsp | sourcekit-lsp |
| Kotlin | kotlin-lsp | kotlin-language-server |
| C# | csharp-lsp | csharp-ls |
| Lua | lua-lsp | lua-language-server |
LSPプラグインを導入すると、Claudeがファイル編集した直後に言語サーバーが解析を実行し、型エラーや未解決のインポートを自動検出します。エラーを見つけると同じターン内で修正を試みるため、コンパイルエラーの混入を大幅に抑制できます。
外部サービス連携系
あらかじめ設定済みのMCPサーバーをバンドルし、外部サービスとの接続を簡単にします。
| カテゴリ | プラグイン名 | 連携先 |
|---|---|---|
| ソースコード管理 | github, gitlab | GitHub / GitLab |
| プロジェクト管理 | atlassian, asana, linear, notion | Jira・Confluence / Asana / Linear / Notion |
| デザイン | figma | Figma |
| インフラ | vercel, firebase, supabase | Vercel / Firebase / Supabase |
| コミュニケーション | slack | Slack |
| 監視 | sentry | Sentry |
開発ワークフロー系
| プラグイン名 | 用途 |
|---|---|
commit-commands | git commit・push・PR作成のワークフロー自動化 |
pr-review-toolkit | PRレビュー用の専門エージェント群 |
agent-sdk-dev | Claude Agent SDK開発向けツール |
plugin-dev | プラグイン開発支援ツールキット |
出力スタイル系
| プラグイン名 | 用途 |
|---|---|
explanatory-output-style | 実装判断の理由を教育的に解説するスタイル |
learning-output-style | インタラクティブな学習モード |
デモマーケットプレイスの注目プラグイン
Anthropicが公開しているデモマーケットプレイス(anthropics/claude-codeリポジトリ内のplugins/ディレクトリ)には、プラグインシステムの可能性を示す実装例が含まれています。
/plugin marketplace add anthropics/claude-code
代表的なプラグインの特徴は以下のとおりです。
commit-commands
Gitのコミット・プッシュ・PR作成を統合したワークフロープラグインです。/commit-commands:commitで変更のステージング、コミットメッセージ生成、コミット実行を一括処理します。/commit-commands:commit-push-prを使えばPR作成まで一気に完了します。
code-review
5つの専門エージェント(アーキテクチャ・セキュリティ・パフォーマンス・テスト・可読性)によるコードレビューを提供します。単純な文法チェックではなく、設計上の懸念やセキュリティリスクまで多角的に評価する点が特徴です。
pr-review-toolkit
PRレビューに特化した6つのエージェントを備えます。差分解析・テストカバレッジ確認・破壊的変更の検出など、レビュー工程ごとに専門化されたエージェントが担当します。
feature-dev
機能開発を7つのフェーズ(要件定義→設計→実装→テスト→レビュー→ドキュメント→完了)に分割し、段階的に進行します。大きなタスクを構造化して進めたい場合に有用です。
frontend-design
HTMLとCSSを使ったフロントエンドのUI生成に特化したプラグインです。デザインの指示からコンポーネントを生成し、ブラウザプレビューまで対応します。
security-guidance
セキュリティ観点での脆弱性検出パターンをClaudeに提供します。OWASP Top 10に沿ったチェック項目を自動適用し、コードレビュー時のセキュリティ品質を底上げします。
ralph-wiggum
Anthropic公式リポジトリに含まれる自律ループ型プラグインです。タスクの実行→結果確認→修正のサイクルを自動で繰り返し、継続的な改善を行います。
コミュニティで人気の非公式プラグイン
公式以外にも、コミュニティが開発した注目プラグインがあります。
Claude-Mem
セッション間の記憶を永続化するプラグインです。Claude Codeの標準機能(CLAUDE.mdやmemory/ディレクトリ)を超えた、構造化された長期記憶を実現します。プロジェクトの設計方針やコードベースの知識をセッションをまたいで保持したい場合に役立ちます。
Superpowers
GitHub Stars数が4万を超える大規模プラグインで、複数の開発支援機能を統合しています。コード生成・リファクタリング・デバッグなどの機能を強化します。
TDD Guard
テスト駆動開発を支援するプラグインです。実装前にテストを書くワークフローをClaudeに強制し、TDDサイクルの遵守を自動化します。
プラグインのインストール手順
前提条件
- Claude Codeバージョン1.0.33以降(
claude --versionで確認) - Claude Codeが認証済みの状態
公式マーケットプレイスからのインストール
公式マーケットプレイスは初期状態で登録済みです。
# インタラクティブUIで探す
/plugin
# コマンドで直接インストール
/plugin install commit-commands@claude-plugins-official
サードパーティマーケットプレイスからのインストール
# GitHubリポジトリをマーケットプレイスとして登録
/plugin marketplace add owner/repo
# GitLab等の場合はURLで登録
/plugin marketplace add https://gitlab.com/company/plugins.git
# プラグインをインストール
/plugin install plugin-name@marketplace-name
インストールスコープの選択
インストール時にスコープを指定できます。
| スコープ | 効果範囲 | 保存先 |
|---|---|---|
| User | 自分の全プロジェクト | ~/.claude/settings.json |
| Project | このリポジトリの全メンバー | .claude/settings.json |
| Local | 自分だけ・このリポジトリだけ | .claude/settings.local.json |
# CLIでスコープ指定
claude plugin install formatter@your-org --scope project
プラグインの管理
# 一時的に無効化
/plugin disable plugin-name@marketplace-name
# 再有効化
/plugin enable plugin-name@marketplace-name
# 完全にアンインストール
/plugin uninstall plugin-name@marketplace-name
# マーケットプレイスの更新
/plugin marketplace update marketplace-name
自作プラグインの作成手順
ディレクトリ構造
プラグインは以下の構造で作成します。
my-plugin/
├── .claude-plugin/
│ └── plugin.json # プラグインマニフェスト(必須)
├── commands/ # スラッシュコマンド
│ └── hello.md
├── skills/ # Agent Skills
│ └── code-review/
│ └── SKILL.md
├── agents/ # サブエージェント定義
│ └── reviewer.md
├── hooks/ # イベントハンドラ
│ └── hooks.json
├── .mcp.json # MCP サーバー設定
└── .lsp.json # LSP サーバー設定
注意点:commands/、agents/、skills/、hooks/は.claude-plugin/ディレクトリの外側(プラグインルート直下)に配置します。.claude-plugin/内に置くのはよくある誤りです。
plugin.jsonの記述
{
"name": "my-plugin",
"description": "プラグインの説明文",
"version": "1.0.0",
"author": {
"name": "作成者名",
"email": "author@example.com"
},
"homepage": "https://github.com/owner/my-plugin",
"repository": "https://github.com/owner/my-plugin",
"license": "MIT",
"keywords": ["productivity", "code-review"]
}
| フィールド | 必須 | 説明 |
|---|---|---|
name | はい | プラグインの一意な識別子。スキル名のネームスペースにもなる |
description | いいえ | プラグインマネージャーに表示される説明文 |
version | いいえ | セマンティックバージョニング形式 |
author | いいえ | 作成者情報 |
homepage | いいえ | ドキュメントのURL |
repository | いいえ | ソースコードリポジトリURL |
license | いいえ | SPDXライセンス識別子 |
keywords | いいえ | 検索・カテゴリ分けに使用 |
スラッシュコマンドの追加
commands/hello.mdを作成します。
---
description: チームメンバーに挨拶する
disable-model-invocation: true
---
ユーザー "$ARGUMENTS" に親しみを込めて挨拶してください。
$ARGUMENTSはユーザーがコマンド実行時に渡したテキストに置き換わります。/my-plugin:hello 田中のように使用します。
Agent Skillの追加
skills/code-review/SKILL.mdを作成します。
---
name: code-review
description: コード品質を多角的に評価する。コードレビューやPR確認の文脈で自動的に使用される。
---
コードレビュー時に以下の観点でチェックしてください:
1. コードの構造と整理
2. エラーハンドリングの適切さ
3. セキュリティ上の懸念
4. テストカバレッジ
5. 命名規則と可読性
Commands(スラッシュコマンド)は/commandで明示的に呼び出すのに対し、Skillsはタスクの文脈に応じてClaudeが自動的に活用する点が異なります。
Hooksの追加
hooks/hooks.jsonを作成します。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx eslint --fix"
}
]
}
]
}
}
フック内でプラグインのファイルを参照するには${CLAUDE_PLUGIN_ROOT}変数を使います。プラグインはインストール時にキャッシュディレクトリへコピーされるため、相対パスではなくこの変数を使う必要があります。
ローカルテスト
claude --plugin-dir ./my-plugin
--plugin-dirフラグで読み込んでテストします。複数プラグインを同時にテストする場合はフラグを複数回指定します。
claude --plugin-dir ./plugin-one --plugin-dir ./plugin-two
変更を反映するにはClaude Codeの再起動が必要です。
バリデーション
# CLIから
claude plugin validate .
# Claude Code内から
/plugin validate .
マーケットプレイスの構築と配布
自作プラグインを配布するには、マーケットプレイスを構築します。
marketplace.jsonの作成
リポジトリルートの.claude-plugin/marketplace.jsonに配置します。
{
"name": "team-plugins",
"owner": {
"name": "チーム名",
"email": "team@example.com"
},
"metadata": {
"description": "社内開発ツールプラグイン集",
"version": "1.0.0"
},
"plugins": [
{
"name": "lint-on-save",
"source": "./plugins/lint-on-save",
"description": "ファイル保存時に自動lint実行",
"version": "1.0.0"
},
{
"name": "deploy-helper",
"source": {
"source": "github",
"repo": "our-org/deploy-plugin"
},
"description": "デプロイメント自動化"
}
]
}
プラグインのsourceには相対パス・GitHubリポジトリ・Git URLの3種類を指定できます。
GitHubでのホスティング
GitHubリポジトリにプッシュすれば配布完了です。
# ユーザー側の操作
/plugin marketplace add your-org/team-plugins
/plugin install lint-on-save@team-plugins
プライベートリポジトリへの対応
プライベートリポジトリからのインストールは、ローカルのgit認証情報がそのまま利用されます。gh auth login済みであれば追加設定は不要です。
バックグラウンド自動更新を有効にする場合は、環境変数にトークンを設定します。
| プロバイダ | 環境変数 |
|---|---|
| GitHub | GITHUB_TOKEN または GH_TOKEN |
| GitLab | GITLAB_TOKEN または GL_TOKEN |
| Bitbucket | BITBUCKET_TOKEN |
チーム運用のベストプラクティス
リポジトリレベルでのプラグイン設定
.claude/settings.jsonにマーケットプレイスとデフォルト有効プラグインを記述しておくと、チームメンバーがリポジトリを信頼した時点で自動的にインストールが提案されます。
{
"extraKnownMarketplaces": {
"team-plugins": {
"source": {
"source": "github",
"repo": "your-org/team-plugins"
}
}
},
"enabledPlugins": {
"lint-on-save@team-plugins": true,
"code-review@team-plugins": true
}
}
管理者によるマーケットプレイス制限
組織でプラグインソースを制限するには、マネージド設定でstrictKnownMarketplacesを使います。
{
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "our-org/approved-plugins"
}
]
}
空配列[]を設定すると全マーケットプレイスの追加を禁止できます。
段階的な導入ステップ
- 個人で検証:
.claude/ディレクトリにSkillやHookを直接配置して試す - Plugin化:動作確認後、
.claude-plugin/plugin.jsonを追加してPlugin形式に変換 - マーケットプレイス作成:
marketplace.jsonを作成しGitHubにプッシュ - チーム展開:
.claude/settings.jsonにextraKnownMarketplacesを設定
よくあるトラブルと対処法
/pluginコマンドが認識されない
Claude Codeのバージョンが1.0.33未満の場合に発生します。
# バージョン確認
claude --version
# アップデート(npmの場合)
npm update -g @anthropic-ai/claude-code
# アップデート(Homebrewの場合)
brew upgrade claude-code
プラグインのスキルが表示されない
キャッシュの問題が考えられます。
rm -rf ~/.claude/plugins/cache
Claude Codeを再起動後、プラグインを再インストールします。
ファイルが見つからないエラー
プラグインはインストール時にキャッシュディレクトリへコピーされます。プラグインディレクトリ外のファイル(../shared-utilsなど)は参照できません。
対処法:
- フック・MCPサーバーの設定では
${CLAUDE_PLUGIN_ROOT}変数を使用する - 共有ファイルはプラグインディレクトリ内に含めるか、シンボリックリンクを使用する
マーケットプレイスの相対パスエラー
URL経由で追加したマーケットプレイス(https://example.com/marketplace.json形式)では、相対パスのsourceが解決できません。Git経由で追加するか、GitHubリポジトリ形式のsourceを使用してください。
LSPプラグインでメモリ使用量が増大する
rust-analyzerやpyrightは大規模プロジェクトで多くのメモリを消費する場合があります。問題が生じたら当該プラグインを無効化し、Claude標準の検索ツールで代替できます。
/plugin disable rust-analyzer-lsp@claude-plugins-official
既存の.claude/設定をPluginへ変換する方法
すでに.claude/ディレクトリでSkillsやHooksを運用している場合、以下の手順でPlugin形式に変換できます。
# 1. プラグインディレクトリを作成
mkdir -p my-plugin/.claude-plugin
# 2. plugin.jsonを作成
cat > my-plugin/.claude-plugin/plugin.json << 'EOF'
{
"name": "my-plugin",
"description": "既存設定をPlugin化",
"version": "1.0.0"
}
EOF
# 3. 既存ファイルをコピー
cp -r .claude/commands my-plugin/
cp -r .claude/agents my-plugin/
cp -r .claude/skills my-plugin/
# 4. Hooksはhooks/hooks.jsonに移行
mkdir my-plugin/hooks
# settings.jsonのhooksオブジェクトをhooks/hooks.jsonに転記
# 5. テスト
claude --plugin-dir ./my-plugin
変換後は元の.claude/のファイルを削除して重複を避けます。Plugin版が優先的に読み込まれます。
まとめ
Claude Code Pluginsは、Skills・Commands・Subagents・MCP・Hooks・LSPをパッケージ化し、チームやコミュニティで再利用する仕組みです。公式マーケットプレイスにはLSP対応言語サーバーから外部サービス連携まで幅広いプラグインが揃っており、/plugin installで即座に導入できます。
自作プラグインの作成はplugin.jsonとcommands/やskills/ディレクトリの配置だけで完了し、GitHubリポジトリをマーケットプレイスとして公開すればチーム展開も簡単です。個人の実験は.claude/ディレクトリで始め、チーム共有が必要になった段階でPlugin化するのが効率的な導入パスです。