sudachi 22613-768x610

Claude Code の設定をプラグインで共有する

Claude Code は強力なコーディング支援ツールですが、効果的に活用するためには適切な設定が必要です。プラグインを使用することで、スラッシュコマンド、サブエージェント、MCP サーバー、フックなどの設定をパッケージ化し、他のユーザーと簡単に共有できます。この記事では、Claude Code のプラグインの作成方法と利用方法について解説します。

Claude Code を使用してコーディングを行う上では、以下の設定を活用することでより効果的に作業を進めることが期待できます。

  • スラッシュコマンド: よく使う操作をスラッシュコマンドとして登録し、素早くアクセスできるようにする
  • サブエージェント: 特定のタスクに特化したサブエージェントを作成し、複雑なタスクを分割して処理する
  • MCP サーバー: 外部ツールと連携するための MCP サーバーを設定し、Claude Code の機能を拡張する
  • フック: 特定のイベントに応じて自動的に実行されるフックを設定し、Claude Code の動作をカスタマイズする

例えば私自身、以下のような設定で Claude Code を使用しており、今では欠かせないツールとなっています。

  • /article-review: スラッシュコマンドで記事のレビューを依頼。誤字脱字や文法の誤りを重点的にチェックするようにプロンプトを調整している
  • serena MCP サーバー: LSP(Language Server Protocol)を利用してシンボルベースでコードを検索・編集できるようにするツール
  • コード編集時のフック: コードを編集するたびに prettier コマンドを実行してコードフォーマットを自動的に整える

ユーザーが設定した設定を組織内やコミュニティ内で共有できるようにすれば、特定のプロジェクトに最適化された設定を簡単に利用できるようになったり、強力な設定を広く共有・改善できるようになったりするなど、Claude Code の利用体験を大幅に向上させることが期待できます。

プラグインは Claude Code の設定を共有するための仕組みとして作成されました。プラグインは Claude Code の設定をパッケージ化し、他のユーザーが簡単にインストールして利用できるようにします。この記事では、Claude Code のプラグインの作成方法、他者が作成したプラグインのインストール方法などを紹介します。

最初のプラグインの作成

プラグインはマーケットプレイスを通じて配布や管理が行われる仕組みとなっています。マーケットプレイスは利用可能なプラグインの一覧をリストした JSON ファイルです。コミュニティで配布する場合には GitHub リポジトリでマーケットプレイスがホストされることが想定されています。

ローカル環境でマーケットプレイスを作成し、プラグインを追加してみましょう。まずはマーケットプレイスのディレクトリを作成します。

mkdir my-marketplace

続いてプラグインのディレクトリを作成します。

mkdir -p my-marketplace/my-plugin

プラグインのマニフェストを .claude-plugin/plugin.json に作成します。これはプラグインの名前、バージョン、説明などのメタデータを定義する JSON ファイルです。

my-marketplace/.claude-plugin/plugin.json
{
  "name": "my-plugin",
  "description": "A simple plugin that adds a hello command",
  "version": "0.0.1",
  "author": {
    "name": "Your Name",
    "email": "[email protected]"
  }
}

プラグインとして提供する設定としてスラッシュコマンドを追加してみましょう。以下の例では /hello というスラッシュコマンドを追加しています。スラッシュコマンドは /commands ディレクトリ配下にマークダウンファイルとして作成します。ファイル名は <コマンド名>.md とします。

my-marketplace/my-plugin/commands/hello.md
---
description: "ユーザーに愉快な挨拶を返す"
---
 
# hello コマンド
 
ユーザーに関西弁で愉快な挨拶をしてください。

マーケットプレイスマニフェストを .claude-plugin/marketplace.json に作成します。これはマーケットプレイスの情報や提供するプラグインの一覧を定義する JSON ファイルです。plugins.source にはプラグインのディレクトリへの相対パスを指定します。

my-marketplace/.claude-plugin/marketplace.json
{
  "name": "my-marketplace",
  "metadata": {
    "description": "test marketplace",
    "version": "0.0.1"
  },
  "owner": {
    "name": "Your Name",
    "email": "[email protected]"
  },
  "plugins": [
    {
      "name": "my-plugin",
      "source": "./my-plugin",
      "description": "A simple plugin that adds a hello command"
    }
  ]
}

最終的なディレクトリの構成は以下のようになります。

└── my-marketplace
    ├── .claude-plugin
   ├── marketplace.json
   └── plugin.json
    └── my-plugin
        └── commands
            └── hello.md

claude plugin validate コマンドを実行してプラグインが正しい形式であることを確認します。例えば marketplace.json ファイルに必須のフィールドが欠けている場合、以下のようなエラーメッセージが表示されます。

claude plugin validate ./my-marketplace
Validating marketplace manifest: /claude-code-plugin-test/my-marketplace/.claude-plugin/marketplace.json
 
 Found 3 errors:
 
 name: Required
 owner: Required
 plugins: Required
 
 Validation failed
 Manifest is invalid

マーケットプレイスとプラグインのインストール

Claude Code を起動し /plugin(もしくは /plugins)コマンドを実行してマーケットプレイスを追加します。

/plugin marketplace add ./my-marketplace

マーケットプレイスの追加に成功すると、「✓ Successfully added marketplace:」というメッセージが表示されます。

マーケットプレイスを追加した後、以下のコマンドを実行してプラグインをインストールします。

/plugin install my-plugin@my-marketplace

コマンドを実行するとプラグインの説明が表示され、インストールするかどうかを確認されます。「Install now」クリックするとプラグインがインストールされます。

プラグインのインストールに成功した後、/hello を入力すると候補に my-plugin:hello が表示されるようになります。

コマンドを実行すると、プラグインで定義した通りに関西弁で愉快な挨拶が返されます。

インストールしたプラグインは /plugin コマンド→「Manage & uninstall plugins」→「my-marketplace」→「my-plugin」から確認できます。ここではプラグインの有効・無効の切り替えやアンインストール、更新ができます。

マーケットプレイスを探してプラグインをインストールする

コミュニティによって開発されたマーケットプレイスを探してプラグインをインストールしてみましょう。Anthropic のブログでは以下のようなマーケットプレイスが紹介されています。

https://www.aitmpl.com/plugin にアクセスするとインタラクティブな Web UI でプラグインを探すことができます。

マーケットプレイスは以下のように GitHub の URL を指定して追加できます。

/plugin marketplace add https://github.com/davila7/claude-code-templates

マーケットプレイスを追加したら Claude Code 上でマーケットプレイスが利用可能なプラグインの一覧を確認できます。/plugin コマンドを実行し、「1. Browse & install plugins」→「claude-code-templates」を選択します。

試しに documentation-generator プラグインをインストールしてみましょう。プラグインを選択し Enter キーを押すとプラグインが提供するコマンドや MCP サーバーの一覧が表示されます。問題なければ「Install now」ボタンをクリックしてインストールします。

Claude Code を再起動するとプラグインが提供するコマンドや MCP サーバーを利用できるようになります。

まとめ

  • Claude Code の設定をプラグインとしてパッケージ化し、他のユーザーと共有できる
  • プラグインはマーケットプレイスを通じて配布・管理される
  • プラグインにはスラッシュコマンド、サブエージェント、MCP サーバー、フックなどの設定を含めることができる
  • プラグインの作成にはプラグインマニフェストとマーケットプレイスマニフェストを作成する必要がある
  • プラグインはローカルのマーケットプレイスや GitHub などでホストされたマーケットプレイスからインストールできる
  • インストールしたプラグインは /plugin コマンドから管理できる

参考

記事の理解度チェック

以下の問題に答えて、記事の理解を深めましょう。

Claude Code のプラグインを配布・管理するための仕組みは何と呼ばれていますか?

  • マーケットプレイス

    正解!

    プラグインはマーケットプレイスを通じて配布や管理が行われます。マーケットプレイスは利用可能なプラグインの一覧をリストした JSON ファイルです。

  • プラグインストア

    もう一度考えてみましょう

  • リポジトリマネージャー

    もう一度考えてみましょう

  • パッケージレジストリ

    もう一度考えてみましょう

プラグインマニフェストファイルの正しいパスはどれですか?

  • .claude-plugin/plugin.json

    正解!

    プラグインのマニフェストは `.claude-plugin/plugin.json` に作成します。これはプラグインの名前、バージョン、説明などのメタデータを定義する JSON ファイルです。

  • package.json

    もう一度考えてみましょう

  • .claude/plugin.json

    もう一度考えてみましょう

  • manifest.json

    もう一度考えてみましょう

プラグインに含めることができる設定として、記事で紹介されていないものはどれですか?

  • 環境変数の設定

    正解!

    記事ではスラッシュコマンド、サブエージェント、MCP サーバー、フックの4つが紹介されていますが、環境変数の設定については言及されていません。

  • スラッシュコマンド

    もう一度考えてみましょう

    スラッシュコマンドはプラグインに含めることができる設定の1つです。よく使う操作を素早くアクセスできるようにします。

  • MCP サーバー

    もう一度考えてみましょう

    MCP サーバーはプラグインに含めることができる設定の1つです。外部ツールと連携するために使用されます。

  • フック

    もう一度考えてみましょう

    フックはプラグインに含めることができる設定の1つです。特定のイベントに応じて自動的に実行されます。

プラグインをインストールするコマンドの正しい形式はどれですか?

  • /plugin install my-plugin@my-marketplace

    正解!

    プラグインは `/plugin install <プラグイン名>@<マーケットプレイス名>` の形式でインストールします。

  • /plugin install @my-marketplace/my-plugin

    もう一度考えてみましょう

  • /install-plugin my-plugin@my-marketplace

    もう一度考えてみましょう

  • /install my-plugin@my-marketplace

    もう一度考えてみましょう