Posts Plugins Claude Codeのプラグイン機能

Claude Codeのプラグイン機能

はじめに

2025年10月10日、Claude Codeのプラグイン機能が公開されました。 プラグイン機能は、スラッシュコマンドやサブエージェント、MCPの設定などを公開、共有する事のできる仕組みです。 チーム開発での資産としてこれらの設定を共有したり、あるいは不特定多数に便利な機能を広く公開したりする事が可能です

今回はこのプラグインをGitHubリポジトリで管理し、スラッシュコマンドやエージェント、MCP、Claude Skillsなどを共有する方法を紹介します。 チーム内での設定共有はもちろん、個人での設定管理の一元化や複数端末での設定共有にも活用できるかと思います。

Calude Codeのプラグイン機能とは

Claude Codeのプラグイン機能は、エージェントやスラッシュコマンド、MCPサーバー、フックなど、Claude Codeのカスタマイズ設定を共有する機能です。 Claude Codeのカスタマイズ設定を軽量な方法で公開し、簡単に追加することができます。

例えば、コードレビューを行うスラッシュコマンドと、そのスラッシュコマンドから呼び出されるサブエージェントやMCPサーバーなどの設定をまとめて、簡単に利用できる状態にして公開できます。

プラグインの作成は簡単で、複数のプラグインをまとめる単位としてのmarketplaceの定義と、各プラグインの定義を行うために、それぞれjsonファイルを準備するだけで完成します。 また、プラグインはGitHubのリポジトリとして公開し、簡単にインポートできる環境が整備されているます。

詳しくは、anthoropicが公開しているドキュメントをご確認ください

プラグインの作り方

プラグインの作り方は非常に簡単である上、anthoropicが詳細な手順を公開しているので、迷うことは少ないかと思います 今回は、複数のサブエージェントを使ってコードレビューを実施するスラッシュコマンドを例に取って、解説します。 リポジトリの最終的なディレクトリ構成は以下のようになります

RepositoryRoot/
├── .claude-plugin
│   └── marketplace.json // 複数のプラグインをまとめるマーケットプレイス情報を持ったjsonファイル

└── review-plugin
    ├── .claude-plugin
    │   └── plugin.json // プラグインの情報を持ったjsonファイル

    ├── agents
    │   ├── architecture-reviewer.md
    │   ├── naming-reviewer.md
    │   └── readability-reviewer.md
    └── commands
        └── multiAgentsReview.md

プラグインを管理するリポジトリを作る

マーケットプレイスを公開するリポジトリを作成してください。 このリポジトリの公開範囲が、プラグインの公開範囲になります

マーケットプレイスの設定

今回は、リポジトリのルートをマーケットプレイスとします。 マーケットプレイスとは、複数のプラグインをまとめた単位のことです。 リポジトリのルート直下に.claude-pluginという名前でディレクトリを作り、その中にmarketplace.jsonを作成しましょう このjsonファイルは、マーケットプレイスの名前や作成者の情報と、このマーケットプレイスで管理されているプラグインの一覧を持っています

{
    "name": "personal-marketplace",
    "owner": {
        "name": "自分のユーザー名"
    },
    "plugins": [
        {
            "name": "review-plugin",
            "source": "./review-plugin",
            "description": "複数のエージェントで並列にレビューを行います"
        }
    ]
}

プラグインの設定

いよいよ、プラグインを設定します リポジトリのルート直下にプラグインのルートとなるディレクトリを配置します。 今回はreview-pluginという名前のディレクトリにしました review-pluginディレクトリ内に.claude-pluginディレクトリを作り、その中にplugin.jsonを作成しましょう このjsonファイルは、プラグインの名前や概要、バージョン、作成者などの情報が入っています

{
    "name": "review-plugin",
    "description": "複数のエージェントで並列にレビューを行います",
    "version": "1.0.0",
    "author": {
        "name": "自分のユーザー名"
    }
}

更に、commandsagentsといった、~/.claudeディレクトリでおなじみのディレクトリを作成して、その中に概要のmdファイルを作成すれば準備完了です。

Claude Codeからプラグインを読み込む

作成したプラグインを、Claude Codeから読み込みましょう /pluginというスラッシュコマンドを実行し、Add marketplaceを選択するとマーケットプレイスの参照先を入力することができます。 Repositoryへのアクセス情報か、もしくはリポジトリをクローンしていれば、そのフルパスを入力することでマーケットプレイスを追加することができます

再度/pluginのスラッシュコマンドから、Browse and install pluginsを選択することで、追加したマーケットプレイス内のプラグインをインストールすることができます

インストールしたプラグインをプロジェクトごとにON/OFFする

プラグインは、.claude/settings.json.claude/settings.local.jsonでon/offを切り替えることができます 不要なものをoffにすることで、コンテキストの圧迫を抑えることができるので、プロジェクトごとにon/offの設定をするとよいかと思います

{
	……
    "enabledPlugins": {
	    "review-plugin@personal-marketplace": true // プラグイン単位でenable/disableを切り替え可能
	 }
}

補足

試してみたところ、.claude-pluginさえあれば、.mcp.jsonのみを持つプラグインの設定も可能でした。 プラグイン機能を利用することで、.mcp.json~/.claude.jsonを編集せずとも、プラグインのon/offのみでプロジェクト単位のMCPサーバーの制御ができます もちろん、offにしていればコンテキストの消費もないようです

また、Claude Skillsもプラグイン機能によって共有可能でした

まとめ

Claude Codeのプラグイン機能を利用すれば、スラッシュコマンドやエージェント、フック、スキルなど様々なものを共有することができます 全世界への共有はもちろん、マーケットプレイスをプライベートなリポジトリで管理することで、クローズドな範囲での共有も可能です

プラグイン単位でMCPサーバーやスラッシュコマンドのon/offを切り替えられるため、MCPサーバーによるコンテキストの圧迫にも対応することができます 私は、Claude Codeの設定をプラグイン化し、プライベートリポジトリで管理することで、設定の一元管理と複数端末での設定の共有を行っています