この記事は何
2025年10月10日、Claude Codeにプラグイン機能というものがリリースされました。
このプラグイン機能を使うと自身のツールセットのメンテナンスも楽になるのではないかと思い、普段使っているツールセットをプラグイン化をしてみました。
この記事はその流れを紹介するものです。
プラグイン機能とは
Claude Codeのプラグイン(Plugin)機能とは
- hooks
- agents
- commands
- skills
- .mcp.json
などを一つのパッケージとして、簡単にインストールや配布を可能にする機能です。
詳しくは以下の記事をご覧ください。
この機能を使うことで、自身で使っている環境もパッケージ化し、色々な環境で簡単にセットアップしやすくなります。
手順
リポジトリの作成
まずはプラグインを管理するためのリポジトリを作成します。
今回作成したリポジトリは↓です。この後の説明もこのリポジトリをもとに行なっていきます。
.claude-plugin/marketplace.json の作成
プラグインは、
- marketplace
- plugin
という二つの概念で成り立っています。
marketplaceがいわゆるプラグインのネームスペースのようなイメージで、pluginが実際にインストールを行うファイル群を定義するものです。
まずはmarketplaceの定義を行うために、.claude-plugin/marketplace.jsonを定義します。
今回は以下のように定義を行なっています。
このJSONファイルの中では以下の情報を定義します。
- marketplaceの名前
- メタデータ
- オーナー
- marketplaceに同梱するプラグインのメタデータ
- 名前
- ディレクトリのパス
- 説明
詳しいプロパティは以下をご覧ください。
pluginの実装
次に.claude-plugin/marketplace.jsonで定義したプラグインを実際に作成していきます。
今回作成したプラグインは↓です。
プラグインのディレクトリには、以下のようにClaude Codeで各種利用可能なカスタムコマンドやサブエージェント、Skills、MCP設定などをひとまとめにすることが可能です。
ここで定義したものは、/enterprise-plugin:statusのように、プラグイン名をプレフィックスにつけることで実行が可能になります。
また、サブエージェントやSkillsは入力した依頼の内容によって自動で選択させるようです。
.mcp.jsonで指定したMCPサーバーは自動でインストールされ、プラグインコマンドに関係なく利用が可能になります。
なお、今回はmarketplace.jsonでpluginの定義を行なっているため、↑のリポジトリでは.claude-plugin/plugin.jsonは作成していません。
enterprise-plugin/
├── .claude-plugin/ # メタデータディレクトリ
│ └── plugin.json # 必須: プラグインマニフェスト
├── commands/ # デフォルトコマンド場所
│ ├── status.md
│ └── logs.md
├── agents/ # デフォルトエージェント場所
│ ├── security-reviewer.md
│ ├── performance-tester.md
│ └── compliance-checker.md
├── skills/ # Agent Skills
│ ├── code-reviewer/
│ │ └── SKILL.md
│ └── pdf-processor/
│ ├── SKILL.md
│ └── scripts/
├── hooks/ # フック設定
│ ├── hooks.json # メインフック設定
│ └── security-hooks.json # 追加フック
├── .mcp.json # MCPサーバー定義
├── scripts/ # フックとユーティリティスクリプト
│ ├── security-scan.sh
│ ├── format-code.py
│ └── deploy.js
├── LICENSE # ライセンスファイル
└── CHANGELOG.md # バージョン履歴
標準プラグインレイアウト より引用
より詳しいプラグインの作成方法については、以下の記事をご覧ください。
プラグインのインストール
完成したプラグインは、Claude Codeで/pluginと入力し、手順にしたがっていけばインストールが可能です。
今回僕が作成したプラグインもREADMEにしたがってインストールすれば問題なく動作する(はず)なのでよかったら使ってみてください。
作成したプラグインは僕が普段使っているツール群をまとめたものです。
定義しているカスタムコマンドなどは過去の記事でも一部紹介しています。(サブエージェントを使って少し改良しています)
感想
今まではdotfilesなどで各ファイルをアップロードして、シンボリックリンクを貼って、のような少し手間のかかる運用をしていたのですが、プラグイン機能が登場したことによってかなり簡単に自分の環境を配布したり、別の環境に移したりができるようになったなと感じます。
ぜひみなさんのClaude Codeのカスタマイズもプラグインとしてシェアしてみてください!