【AI】Claude Codeのプラグインを自作して配布する方法

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

Claude Codeのプラグインを自作して、チームやコミュニティに配布したい」とお考えではありませんか?

スキルやフックを個人の.claudeディレクトリに置いたまま、他の人と共有できずに困っている方も多いはずです。

プラグインとしてまとめれば、スキル・エージェント・フック・MCPサーバーを1つの単位でバージョン管理して配布できます

いずみ

プラグインの仕組みは意外とシンプルです。

マニフェストを1つ書くだけで動き始めます。

ということで、本記事ではClaude Codeのプラグインを自作して配布する方法を解説します。

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいませ。

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
執筆者/監修者
  • フリーランスエンジニア(保有資格個、企業と直接契約
  • ブログ・アフィリエイト歴7年(2018年〜)
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資(仮想通貨・FX)歴7年(2018年〜)
  • X(旧Twitter)フォロワー約1,900人
  • 運営者情報はこちら
いずみです
目次

【AI】Claude Codeのプラグインを自作して配布する方法

早速ですが、Claude Codeのプラグインを自作して配布する手順を見ていきます。

プラグインでできること

プラグインは、Claude Codeにカスタム機能を追加するための仕組みです。

スキル・カスタムエージェント・フック・MCPサーバー・LSPサーバーを1つのディレクトリにまとめられます。

スタンドアロンの.claudeディレクトリと違い、プラグインはマーケットプレイス経由で配布でき、バージョン管理と更新が簡単になります。

プラグイン内のスキルは「/プラグイン名:スキル名」という名前空間が付くため、複数のプラグインを入れても名前が衝突しません。

いずみ

個人利用だけなら.claudeディレクトリで十分です。

チーム配布や公開を考え始めたタイミングでプラグイン化するのがおすすめです。

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

プラグインは、マニフェストとコンポーネント用のディレクトリで構成されます。

代表的な構成は以下のとおりです。

my-first-plugin/
├── .claude-plugin/
│   └── plugin.json   ← マニフェスト(.claude-plugin の中はコレだけ)
├── skills/
│   └── hello/
│       └── SKILL.md
├── agents/
├── hooks/
│   └── hooks.json
└── .mcp.json

注意点として、skills・agents・hooksはプラグインルート直下に置きます。

.claude-pluginディレクトリの中に入れてよいのはplugin.jsonだけです。

いずみ

skillsフォルダを.claude-pluginの中に入れてしまい認識されない、というミスがよくあります。

マニフェスト以外はすべて1階層上、と覚えておくと安全です。

plugin.jsonとスキルを作成する

最小構成のプラグインを作ります。

STEP
プラグインディレクトリを作成する

作業しやすい場所に、プラグイン用のフォルダを作ります。

mkdir -p my-first-plugin/.claude-plugin
STEP
plugin.jsonを書く

マニフェストにはname・description・versionを記述します。

nameがスキルの名前空間になります。

{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0",
  "author": {
    "name": "izumi"
  }
}

versionを設定しておくと、値を上げたときだけ利用者に更新が届きます。

STEP
SKILL.mdを追加する

skills/hello/SKILL.mdを作り、フロントマターにdescriptionを書きます。

---
description: ユーザーにあいさつする。あいさつや自己紹介を求められたときに使う。
---

ユーザーに丁寧にあいさつし、今日は何を手伝えるか尋ねてください。

descriptionは、Claudeがスキルを使うべき場面を判断する材料になります。

ローカルでテストする

作ったプラグインは、インストールせずにすぐ読み込めます。

–plugin-dirフラグにプラグインのパスを渡して、Claude Codeを起動します。

claude --plugin-dir ./my-first-plugin

起動後、「/my-first-plugin:hello」と入力するとスキルが動きます。

プラグインを編集したら、/reload-pluginsで再起動なしに変更を反映できます。

いずみ

–plugin-dirは開発中の確認用です。

何度も書き換えながら試せるので、まず動くところまで作り込むと進めやすいです。

フックを追加する

プラグインには、ツール実行の前後に処理を挟むフックも入れられます。

hooks/hooks.jsonにイベントとコマンドを定義します。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint.sh"
          }
        ]
      }
    ]
  }
}

WriteまたはEditの実行後に、指定したスクリプトが走る設定です。

フックから自作スクリプトを呼ぶときは、相対パスではなく${CLAUDE_PLUGIN_ROOT}を使います。

インストール先はキャッシュディレクトリに変わるため、相対パスだと静かに失敗します。

マーケットプレイスを作って配布する

プラグインを他の人に配るには、マーケットプレイスのカタログファイルを用意します。

STEP
marketplace.jsonを作成する

リポジトリルートに.claude-plugin/marketplace.jsonを置きます。

{
  "name": "my-plugins",
  "owner": {
    "name": "izumi"
  },
  "plugins": [
    {
      "name": "my-first-plugin",
      "source": "./plugins/my-first-plugin",
      "description": "A greeting plugin"
    }
  ]
}

各プラグインエントリには、最低限nameとsourceが必要です。

sourceにはローカルの相対パスのほか、githubリポジトリ指定も使えます。

STEP
GitHubにプッシュする

marketplace.jsonとプラグイン本体をまとめて、リポジトリにプッシュします。

npmのような公開作業は不要で、公開リポジトリがあれば配布できます。

STEP
追加してインストールする

利用者は、マーケットプレイスを追加してからプラグインをインストールします。

/plugin marketplace add your-name/my-plugins
/plugin install my-first-plugin@my-plugins

更新を配りたいときは、リポジトリにプッシュし、利用者が/plugin marketplace updateで取り込みます。

いずみ

バージョンを省略した場合、gitのコミットごとに新しいバージョン扱いになります。

更新を細かく制御したいなら、plugin.jsonのversionを明示しておくと安心です。

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式

【厳選】フリーランスエンジニアにおすすめなエージェント3選

フリーランスエンジニアになるにはエージェントから案件をもらう必要があります。

僕が実際に利用しているおすすめエージェントを紹介しますね。

いずみ

エージェントは必ず複数登録してください。

担当者によっては「全然案件紹介してくれない…」みたいなこともあるので…

僕は実際に5つのエージェントを使い回していますよ。

フリーランスを始めるなら「

案件数マージン率単価
約88,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 業界最大級の案件数。
  • 業界トップクラスの高単価報酬、低マージン(平均年収862万円)。
  • 案件参画中のフォローの充実。

※詳細は「【業界最大手】レバテックフリーランスとは?メリットや利用手順を解説!」を参照。

は業界最大手のフリーランスエージェントです。

とにかく案件数が多いので、とりあえず登録しておけば間違いないエージェントです!

いずみ

僕もはじめてフリーランスの案件を貰ったのはです。

保有している案件数が多いので、業務経験がなくても何かしらの案件は紹介してもらえますよ(僕はJavaの経験3年でも案件を貰えました)。

手厚い保障を重視したいなら「

案件数マージン率単価
約10,000件非公開
初心者福利厚生申し込み
無料
Good Point
  • 手厚い保障で正社員並みの安心感。
  • 還元率60%超え&単価公開でクリアな契約。
  • 給与保障制度(審査あり)。

は手厚い保障が特徴のフリーランスエージェントです。

フリーランスを目指しているけど不安な方や保障を重視したい方におすすめです。

いずみ

僕も何度か案件を紹介してもらいました。

自分のスキルに合った案件を紹介してもらえましたし、電話のやり取りも非常に丁寧でした。

週2〜3日の案件探しなら「

案件数マージン率単価
約5,000件非公開
初心者福利厚生申し込み
経験者向け無料
Good Point
  • IT案件に特化したフリーランスエージェント。
  • 週2〜3日の案件が豊富。
  • リモート案件が多く、直エンドなので単価も高い。

※詳細は「【週2・3案件】ITプロパートナーズとは?メリットや利用手順を解説!」を参照。

はIT案件に特化したフリーランスエージェントです。

週2〜3日から参画できる案件が豊富なので、起業したい人にもおすすめです。

いずみ

週2〜3日の案件はある程度スキルがないと紹介してもらえない印象です。

とはいえ、週5の案件ももちろんありますし、僕が利用した時は迅速・丁寧に対応していただきました!

よくある質問

プラグインとスタンドアロンの.claude設定はどちらを使うべきですか?

個人の一時的なワークフローなら、スタンドアロンの.claudeディレクトリで十分です。

チーム共有・コミュニティ配布・バージョン管理された更新が必要なら、プラグインが向いています。

スキル名が/helloではなく/plugin-name:helloになるのはなぜですか?

複数のプラグインで同じスキル名が使われても衝突しないよう、常にプラグイン名の名前空間が付きます。

名前空間の接頭辞を変えたいときは、plugin.jsonのnameフィールドを変更します。

マーケットプレイスの公開にサーバーは必要ですか?

不要です。

GitHubやGitLabなどのGitホストにmarketplace.jsonを置いた公開リポジトリがあれば配布できます。

まとめ

今回は、Claude Codeのプラグインを自作して配布する方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • プラグインはスキル・エージェント・フック・MCPサーバーを1ディレクトリにまとめる仕組み。
  • .claude-pluginの中に入れるのはplugin.jsonだけで、他はプラグインルート直下に置く。
  • claude –plugin-dir でインストール不要のローカルテストができる。
  • marketplace.jsonを公開リポジトリに置けば、/plugin installで配布できる。
まとめ
いずみ

最後までお読みいただき、ありがとうございました!

スクロールできます
【当サイト】おすすめフリーランスエージェント3選
エージェント評価ポイント公式サイト
レバテックフリーランス

5.0
業界最大級のエージェント。
高単価案件が豊富。
公式
Midworks

4.8
満足度調査で
3年連続3冠を達成。
公式
ITプロパートナーズ

4.6
週2〜3向けの案件が豊富。公式
  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次