プラグインを公開・配布する
Claude Code プラグインを独自のマーケットプレイスまたは Anthropic のディレクトリを通じて公開し、リリース前チェックリストとユーザーが更新を受け取る方法について説明します。
Claude Code プラグインを公開するとは、プラグインをマーケットプレイスにリストアップすることです。マーケットプレイスは、プラグインをリストアップし、各プラグインをどこから取得するかを示す JSON カタログです。これにより、他のユーザーはプラグインを名前でインストールでき、あなたの更新を受け取ることができます。独自のマーケットプレイスを実行することも、プラグインを Anthropic のディレクトリに提出することもできます。プラグインを公開せずに共有するには、プラグインのディレクトリまたは .zip ファイルを送信して、ユーザーが自分でロードできるようにします。
このページは、共有する準備ができている完成したプラグインの作成者向けです。
以下のケースは他のページで説明されています。
- プラグインがまだ完成していない場合: プラグインを作成するから始めてください
- 公式マーケットプレイスにプラグインを含む CLI または SDK を保守している場合: CLI からプラグインを推奨するを参照してください
配布方法を選択するから始めて、配布オプションを比較してください。既に配布方法を決めている場合は、リリース用にプラグインを準備するに進み、その後、ユーザーに何を伝えるか、ユーザーがどのように更新を受け取るかについて、あなたの配布方法のセクションに従ってください。
配布方法を選択する
プラグインをインストールする必要があるユーザーに基づいて、配布オプションを選択してください。
| 配布方法 | インストール可能なユーザー | 必要なもの | ユーザーは自動的に更新を受け取りますか? |
|---|---|---|---|
| マーケットプレイスなし | プラグインフォルダまたはその .zip ファイルを送信したユーザー |
プラグインのフォルダ | いいえ。送信されたコピーをロードします |
| 独自のマーケットプレイス | リポジトリにアクセスできるすべてのユーザー。リポジトリはプライベートでもかまいません | .claude-plugin/marketplace.json を含む git リポジトリまたは他のホスト。プラグインをリストアップします |
オフ |
| Anthropic のディレクトリ | claude.ai または Cowork で追加したユーザー。また、アカウント同期を通じて Claude Code セッションにロードされます | プラグインを保持する GitHub リポジトリと、送信するための有料 claude.ai プラン | はい。プッシュしたバージョンが公開された後 |
自動更新は、ユーザー側のマーケットプレイスごとの設定で、バックグラウンドで新しいバージョンを取得します。
リリース用にプラグインを準備する
名前、バージョン、検証、およびマーケットプレイスからのインストールが、リリースがインストールするユーザーに対して機能するかどうかを決定します。最初のリリースの前に、そして後の各リリースの前に確認してください。
永続的な名前を選択する
ユーザーは name@marketplace でプラグインをインストール、有効化、および設定するため、名前を変更したプラグインは既存のすべてのインストールに対して異なるプラグインになります。deploy-helper などのケバブケース名を選択してください。claude plugin validate は他の形式に対して警告を出すため、これを永続的なものとして扱ってください。plugin.json で displayName を設定して、ユーザーが見るラベルを指定します。
バージョン管理方法を決定する
plugin.json で version を設定し、後でコミットをプッシュするときにそれを変更しない場合、claude plugin update は <name> is already at the latest version (1.0.0). と出力し、ユーザーは古いコピーを保持します。すべてのリリースで version をインクリメントするか、git でホストされているマーケットプレイスで version を省略して、Claude Code がコミット SHA を代わりに使用するようにしてください。バージョンと更新を参照してください。
検証する
シェルで claude plugin validate --strict ./your-plugin を実行してください。クリーンな実行は ✔ Validation passed と出力します。
- CI 内:
--strictを保持してください。これは、不明なマニフェストフィールドや欠落しているversionなどの警告に対して、終了コード 1 で実行を失敗させます。前のステップでversionを省略することを選択した場合は、--strictを削除してください。 - パス: 検証は
./で始まらないコンポーネントパスを報告します。hook コマンドと MCP サーバー設定内では、ファイルを${CLAUDE_PLUGIN_ROOT}/...として参照してください。パスルールを参照してください。
ローカルマーケットプレイスからインストールする
シェルで、claude plugin marketplace add ./path-to-marketplace でプラグインをリストアップするローカルマーケットプレイスを追加し、そこからプラグインをインストールして、セッションを開始してロードされることを確認します。
- 最小限のマーケットプレイスについては、マーケットプレイスを作成するを参照してください。
- インストールがソースディレクトリをロードするか、キャッシュされたコピーをロードするかを知るには、インプレイスおよびコピーされたプラグインを参照してください。
ユーザーが見るメタデータを入力する
plugin.json で description、author、homepage、および repository を設定し、プラグインルートに README.md を追加してください。homepage は URL として解析可能である必要があります。マニフェストリファレンスはすべてのフィールドをリストアップしています。
eval スイートを実行する
eval スイートがある場合は、シェルで claude plugin eval を実行してください。プラグインのテストケースを実行し、結果をスコアリングします。これにより、プラグインを変更するときの回帰を検出します。eval でプラグインをテストするを参照してください。
マーケットプレイスなしでプラグインを共有する
プラグインが git リポジトリにある場合、ユーザーはそれをクローンしてチェックアウトをロードするか、シェルから --plugin-url をリリースに添付した .zip に向けて claude で Claude Code を開始できます。次のバージョンを取得するには、プルまたは再度ダウンロードします。リポジトリにない場合は、ディレクトリまたはその .zip を送信してください。ユーザーは次の 2 つの方法のいずれかでロードできます。
- 1 つのセッション用:
claude --plugin-dir ./deploy-helperでシェルから Claude Code を開始します。パスはクローン、解凍されたフォルダ、または.zipファイル自体です。1 つのセッション用にプラグインをロードするフラグを参照してください。 - すべてのセッション用: プラグインディレクトリを
.claude-plugin/plugin.jsonとともに~/.claude/skills/の下に移動して、Claude Code がすべてのセッションでロードするようにします。
同じリポジトリに .claude-plugin/marketplace.json を追加することで、ユーザーは名前でインストールでき、コマンドで更新できます。独自のマーケットプレイスを通じて公開するを参照してください。
独自のツールでプラグインを配布する
CLI または SDK を保守している場合は、プラグインをマーケットプレイスで公開し、インストーラーまたはインストール後のメッセージで、ユーザーが必要とする 2 つのコマンドを実行または出力するようにしてください。claude plugin marketplace add <source>、その後 claude plugin install <name>@<marketplace>。ユーザーがツールを使用するときのセッション内発見については、CLI からプラグインを推奨するを参照してください。
独自のマーケットプレイスを通じて公開する
独自のマーケットプレイスは、git リポジトリに追加された .claude-plugin/marketplace.json ファイルで、プラグインをリストアップします。ファイルがリポジトリに含まれると、プラグインは公開され、送信フォームはありません。ファイルをプラグイン自体のリポジトリまたは別のリポジトリに保持できます。
マーケットプレイスファイルをリポジトリに追加する
プラグイン自体のリポジトリから公開するには、マーケットプレイスファイルを .claude-plugin/ の plugin.json の横に保存し、source が "./" であるエントリを 1 つ持たせます。これはリポジトリルートです。エントリに plugin.json と同じ name を付けてください。エントリ名とマニフェスト名を同じに保つを参照してください。
{
"name": "your-marketplace",
"owner": { "name": "Your Name" },
"plugins": [
{ "name": "deploy-helper", "source": "./" }
]
}
シェルで、リポジトリで claude plugin validate . を実行して、プッシュする前にファイルを確認してください。
マーケットプレイスを作成するは、1 つのリポジトリに複数のプラグインがある場合のレイアウトをカバーしています。
インストール可能なユーザーを制御する
リポジトリをクローンできるすべてのユーザーがそこからインストールできるため、リポジトリがプライベートの場合、マーケットプレイスもプライベートです。git リポジトリ以外のホストについては、マーケットプレイスをホストするを参照してください。git を使用しない人を含む会社全体に到達するには、会社全体にロールアウトするを参照してください。
ユーザーにインストール方法を伝える
ユーザーにマーケットプレイスを追加してからプラグインをインストールするよう指示してください。シェルから、ソースと名前をあなたのものに置き換えてください。
- マーケットプレイスを 1 回追加する:
claude plugin marketplace add your-org/your-marketplace。引数は GitHub のowner/repo短縮形、URL、またはパスです - プラグインをインストールする:
claude plugin install deploy-helper@your-marketplace - またはセッション内から両方を実行する:
/plugin install deploy-helper --marketplace your-org/your-marketplace。Claude Code v2.1.275 以降が必要です。マーケットプレイスを追加して 1 つのコマンドでインストールするを参照してください
ユーザーに更新を配布する
ユーザーはリクエストするか、マーケットプレイスで自動更新がオンの場合にリリースを受け取ります。
- リクエスト時: ユーザーのシェルで
claude plugin update deploy-helper@your-marketplaceを実行すると、マーケットプレイスが更新され、プラグインのバージョンが変更されたときに新しいコピーがインストールされます - 自動更新: デフォルトではマーケットプレイスでオフです。自動更新をオンにするを参照してください。オンになると、セッション開始後の遅延で
claude plugin updateと同じことを実行します
プラグインをインストールするはユーザー側のコマンドをカバーし、自動更新が実行される時期はタイミングをカバーしています。
Anthropic のディレクトリに提出する
Anthropic のディレクトリは、claude.ai と Cowork でプラグインとコネクタを追加するためにユーザーが閲覧するカタログです。そこに 1 つのリストがあれば、claude.ai、Cowork、Claude Code のユーザーに到達します。claude.ai/directory/manage の開発者ポータルから提出します。claude.com/docs/directory/publish#prepare-for-review の「レビューの準備」では、公開される前に各バージョンに何が起こるかについて説明しています。
提出には有料の claude.ai プランが必要です。Pro と Max では自分のアカウントから提出します。Team と Enterprise では、オーナーが提出でき、Enterprise ではオーナーが Organization settings > Roles のカスタムロールを通じて他のメンバーに Directory 権限を付与することもできます。ディレクトリに提出できることを確認するを参照してください。
提出手順、各バージョンが通過する必要があるチェック、公開後に何が起こるかは claude.com に記載されています。これはユーザーがどのサーフェスを使用しているかに関係なく同じだからです。
- ディレクトリに公開する:提出できるもの、誰が提出できるか
- プラグインを提出する:ポータルの手順と公開されたプラグインを更新する
- プラグイン提出前チェックリスト:提出前に実行して修正するチェック
- 以前の提出を開発者ポータルに移動する:ポータルが存在する前に、以前の提出フォームのいずれかを通じてプラグインを提出した場合の対応
ポータルを開く前に、ローカルで検証し、Claude Code の外でロードされるコンポーネントを確認してください。
- シェルで
claude plugin validate ./your-plugin --strictを実行する:./your-pluginをプラグインディレクトリへのパスに置き換えてください。このコマンドはマニフェストエラーをローカルでキャッチします。plugin validate は各実行が読み取るファイルをリストアップしています。ポータルは CLI がチェックしない追加のディレクトリルールを適用するため、ローカルでクリーンな実行でもポータル検証がクリーンであることは保証されません。 - どこでロードされるかを確認する:一部のプラグインコンポーネントは Claude Code のみであり、claude.ai または Cowork ではロードされません。コンポーネントサポートテーブルは各コンポーネントをアプリごとにリストアップしているため、Claude Code の外のユーザーが何を取得するかを知ることができます。
Anthropic の公式マーケットプレイス claude-plugins-official は、ディレクトリポータル経由での提出を受け付けていません。Anthropic パートナー連絡先と協力している場合は、公式マーケットプレイスのリストアップについて尋ねてください。
リストアップされたプラグインが Claude Code ユーザーに到達する方法
claude.ai のディレクトリからプラグインをインストールした人は、そのプラグインをアカウントに持ち、Claude Code は <name>@synced としてロードします。claude.ai から同期されたプラグインでは、ユーザーが何を見るか、どのようにオフにするかについて説明しています。
更新、名前変更、および削除を配布する
新しいバージョンをリリースする
独自のマーケットプレイスを通じて公開し、plugin.json が version を設定している場合は、それをインクリメントしてプッシュしてください。claude plugin update を実行するか、自動更新がオンのユーザーは、ユーザーに更新を配布するの下で説明されているように、新しいバージョンを受け取ります。ディレクトリリスティングについては、公開されたプラグインを更新するを参照してください。
リリースにタグを付ける
他のプラグインがあなたのプラグインのバージョン範囲を宣言する場合、git でリリースにタグを付けてください。これらの範囲はタグに対して解決されるためです。それ以外の場合、タグは必要ありません。
タグを付けるには、プラグインディレクトリからシェルで claude plugin tag を実行してください。{name}--v{version} タグを作成します。--push を追加して、タグを origin に送信してください。plugin tag リファレンスはそのフラグをリストアップしています。
プラグインの名前を変更または削除する
公開されたプラグインの name を変更しないでください。名前変更後、既にインストールしたユーザーはプラグインを失います。インストールは古い名前の下に記録されるためです。マーケットプレイスファイルの renames エントリは、代わりに既存のインストールを移行します。別のラベルが必要な場合は displayName を変更してください。
名前変更が避けられない場合は、マーケットプレイスファイルの renames マップを使用して、既存のインストールが Plugin "<name>" not found in marketplace で失敗する代わりに移行するようにしてください。マーケットプレイスからプラグインを削除するか、完全な renames の詳細については、ホスティングページの プラグインの名前を変更または削除するを参照してください。マーケットプレイスリファレンスにはフィールドがあります。
依存関係を宣言する
プラグインが同じマーケットプレイスから別のプラグインが有効化されている必要がある場合は、plugin.json の dependencies 配列にリストアップしてください。各エントリは、ベアネームまたは semver version 範囲を持つオブジェクトです。ユーザーがプラグインをインストールすると、Claude Code は依存関係もインストールして有効化します。
プラグイン依存関係は、範囲構文、クロスマーケットプレイス依存関係、およびユーザーが不要になった依存関係をプルーニングする方法をカバーしています。
次のステップ
- マーケットプレイスをホストして保守する: 新しいバージョンをリリースしてユーザーを最新の状態に保つ
- プラグイン依存関係: プラグインが依存するプラグインを宣言してバージョン管理する
- CLI からプラグインを推奨する: CLI のユーザーに Claude Code プラグインをインストールするよう促す
- プラグインのコストと使用状況を測定する: プラグインがコンテキストでコストがいくらかかるか、そしてユーザーがそれを使用しているかどうかを確認する