実践的なチュートリアルと実用的な使用方法については、プラグインを参照してください。チームやコミュニティ全体でのプラグイン管理については、プラグインマーケットプレイスを参照してください。
このリファレンスは、コンポーネントスキーマ、CLIコマンド、開発ツールを含む、Claude Codeプラグインシステムの完全な技術仕様を提供します。

プラグインコンポーネントリファレンス

このセクションでは、プラグインが提供できる4つのタイプのコンポーネントについて説明します。

コマンド

プラグインは、Claude Codeのコマンドシステムとシームレスに統合されるカスタムスラッシュコマンドを追加します。 場所: プラグインルートのcommands/ディレクトリ ファイル形式: フロントマターを含むMarkdownファイル プラグインコマンドの構造、呼び出しパターン、機能の詳細については、プラグインコマンドを参照してください。

エージェント

プラグインは、適切な場合にClaudeが自動的に呼び出すことができる特定のタスク用の専門サブエージェントを提供できます。 場所: プラグインルートのagents/ディレクトリ ファイル形式: エージェントの機能を説明するMarkdownファイル エージェント構造:
---
description: このエージェントが専門とすること
capabilities: ["task1", "task2", "task3"]
---

# エージェント名

エージェントの役割、専門知識、Claudeがいつそれを呼び出すべきかの詳細な説明。

## 機能
- エージェントが得意とする特定のタスク
- 別の専門的な機能
- このエージェントを他のエージェントと比較していつ使用するか

## コンテキストと例
このエージェントをいつ使用すべきか、どのような種類の問題を解決するかの例を提供します。
統合ポイント:
  • エージェントは/agentsインターフェースに表示されます
  • Claudeはタスクコンテキストに基づいてエージェントを自動的に呼び出すことができます
  • エージェントはユーザーが手動で呼び出すことができます
  • プラグインエージェントは組み込みのClaudeエージェントと連携して動作します

フック

プラグインは、Claude Codeイベントに自動的に応答するイベントハンドラーを提供できます。 場所: プラグインルートのhooks/hooks.json、またはplugin.jsonでのインライン 形式: イベントマッチャーとアクションを含むJSON設定 フック設定:
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format-code.sh"
          }
        ]
      }
    ]
  }
}
利用可能なイベント:
  • PreToolUse: Claudeがツールを使用する前
  • PostToolUse: Claudeがツールを使用した後
  • UserPromptSubmit: ユーザーがプロンプトを送信したとき
  • Notification: Claude Codeが通知を送信するとき
  • Stop: Claudeが停止を試みるとき
  • SubagentStop: サブエージェントが停止を試みるとき
  • SessionStart: セッションの開始時
  • SessionEnd: セッションの終了時
  • PreCompact: 会話履歴が圧縮される前
フックタイプ:
  • command: シェルコマンドまたはスクリプトを実行
  • validation: ファイル内容またはプロジェクト状態を検証
  • notification: アラートまたはステータス更新を送信

MCPサーバー

プラグインは、Claude Codeを外部ツールやサービスと接続するためのModel Context Protocol(MCP)サーバーをバンドルできます。 場所: プラグインルートの.mcp.json、またはplugin.jsonでのインライン 形式: 標準MCPサーバー設定 MCPサーバー設定:
{
  "mcpServers": {
    "plugin-database": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
      "env": {
        "DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"
      }
    },
    "plugin-api-client": {
      "command": "npx",
      "args": ["@company/mcp-server", "--plugin-mode"],
      "cwd": "${CLAUDE_PLUGIN_ROOT}"
    }
  }
}
統合動作:
  • プラグインMCPサーバーは、プラグインが有効になったときに自動的に開始されます
  • サーバーはClaudeのツールキットで標準MCPツールとして表示されます
  • サーバー機能はClaudeの既存ツールとシームレスに統合されます
  • プラグインサーバーはユーザーMCPサーバーとは独立して設定できます

プラグインマニフェストスキーマ

plugin.jsonファイルは、プラグインのメタデータと設定を定義します。このセクションでは、サポートされているすべてのフィールドとオプションについて説明します。

完全なスキーマ

{
  "name": "plugin-name",
  "version": "1.2.0",
  "description": "Brief plugin description",
  "author": {
    "name": "Author Name",
    "email": "[email protected]",
    "url": "https://github.com/author"
  },
  "homepage": "https://docs.example.com/plugin",
  "repository": "https://github.com/author/plugin",
  "license": "MIT",
  "keywords": ["keyword1", "keyword2"],
  "commands": ["./custom/commands/special.md"],
  "agents": "./custom/agents/",
  "hooks": "./config/hooks.json",
  "mcpServers": "./mcp-config.json"
}

必須フィールド

フィールドタイプ説明
namestring一意の識別子(ケバブケース、スペースなし)"deployment-tools"

メタデータフィールド

フィールドタイプ説明
versionstringセマンティックバージョン"2.1.0"
descriptionstringプラグインの目的の簡潔な説明"Deployment automation tools"
authorobject作成者情報{"name": "Dev Team", "email": "[email protected]"}
homepagestringドキュメントURL"https://docs.example.com"
repositorystringソースコードURL"https://github.com/user/plugin"
licensestringライセンス識別子"MIT", "Apache-2.0"
keywordsarray発見タグ["deployment", "ci-cd"]

コンポーネントパスフィールド

フィールドタイプ説明
commandsstring|array追加のコマンドファイル/ディレクトリ"./custom/cmd.md" または ["./cmd1.md"]
agentsstring|array追加のエージェントファイル"./custom/agents/"
hooksstring|objectフック設定パスまたはインライン設定"./hooks.json"
mcpServersstring|objectMCP設定パスまたはインライン設定"./mcp.json"

パス動作ルール

重要: カスタムパスはデフォルトディレクトリを補完します - 置き換えるものではありません。
  • commands/が存在する場合、カスタムコマンドパスに加えて読み込まれます
  • すべてのパスはプラグインルートからの相対パスで、./で始まる必要があります
  • カスタムパスからのコマンドは同じ命名と名前空間ルールを使用します
  • 柔軟性のために複数のパスを配列として指定できます
パスの例:
{
  "commands": [
    "./specialized/deploy.md",
    "./utilities/batch-process.md"
  ],
  "agents": [
    "./custom-agents/reviewer.md",
    "./custom-agents/tester.md"
  ]
}

環境変数

${CLAUDE_PLUGIN_ROOT}: プラグインディレクトリの絶対パスが含まれます。インストール場所に関係なく正しいパスを確保するために、フック、MCPサーバー、スクリプトでこれを使用してください。
{
  "hooks": {
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh"
          }
        ]
      }
    ]
  }
}

プラグインディレクトリ構造

標準プラグインレイアウト

完全なプラグインは次の構造に従います:
enterprise-plugin/
├── .claude-plugin/           # メタデータディレクトリ
│   └── plugin.json          # 必須: プラグインマニフェスト
├── commands/                 # デフォルトコマンド場所
│   ├── status.md
│   └──  logs.md
├── agents/                   # デフォルトエージェント場所
│   ├── security-reviewer.md
│   ├── performance-tester.md
│   └── compliance-checker.md
├── hooks/                    # フック設定
│   ├── hooks.json           # メインフック設定
│   └── security-hooks.json  # 追加フック
├── .mcp.json                # MCPサーバー定義
├── scripts/                 # フックとユーティリティスクリプト
│   ├── security-scan.sh
│   ├── format-code.py
│   └── deploy.js
├── LICENSE                  # ライセンスファイル
└── CHANGELOG.md             # バージョン履歴
.claude-plugin/ディレクトリにはplugin.jsonファイルが含まれています。他のすべてのディレクトリ(commands/、agents/、hooks/)は、.claude-plugin/内ではなく、プラグインルートにある必要があります。

ファイル場所リファレンス

コンポーネントデフォルト場所目的
マニフェスト.claude-plugin/plugin.json必須メタデータファイル
コマンドcommands/スラッシュコマンドMarkdownファイル
エージェントagents/サブエージェントMarkdownファイル
フックhooks/hooks.jsonフック設定
MCPサーバー.mcp.jsonMCPサーバー定義

デバッグと開発ツール

デバッグコマンド

claude --debugを使用してプラグイン読み込みの詳細を確認します:
claude --debug
これは以下を表示します:
  • どのプラグインが読み込まれているか
  • プラグインマニフェストのエラー
  • コマンド、エージェント、フックの登録
  • MCPサーバーの初期化

一般的な問題

問題原因解決策
プラグインが読み込まれない無効なplugin.jsonJSON構文を検証
コマンドが表示されない間違ったディレクトリ構造commands/がルートにあることを確認、.claude-plugin/内ではない
フックが発火しないスクリプトが実行可能でないchmod +x script.shを実行
MCPサーバーが失敗${CLAUDE_PLUGIN_ROOT}が不足すべてのプラグインパスに変数を使用
パスエラー絶対パスが使用されているすべてのパスは相対パスで./で始まる必要がある

配布とバージョニングリファレンス

バージョン管理

プラグインリリースにはセマンティックバージョニングに従ってください:

## 関連項目

- [プラグイン](/ja/docs/claude-code/plugins) - チュートリアルと実用的な使用方法
- [プラグインマーケットプレイス](/ja/docs/claude-code/plugin-marketplaces) - マーケットプレイスの作成と管理
- [スラッシュコマンド](/ja/docs/claude-code/slash-commands) - コマンド開発の詳細
- [サブエージェント](/ja/docs/claude-code/sub-agents) - エージェント設定と機能
- [フック](/ja/docs/claude-code/hooks) - イベント処理と自動化
- [MCP](/ja/docs/claude-code/mcp) - 外部ツール統合
- [設定](/ja/docs/claude-code/settings) - プラグインの設定オプション