.claude-plugin/marketplace.json ファイルを含むディレクトリまたはリポジトリで、プラグインをリストアップし、各プラグインをどこから取得するかを指定します。ディレクトリを git ホストにプッシュすると、アクセス権を持つ誰もが 1 つのコマンドで Claude Code に登録し、カタログからプラグインをインストールできます。
チーム、組織など、選択したグループがプラグインをインストールし、制御するカタログから継続的に更新を受け取るようにしたい場合は、独自のマーケットプレイスを作成します。リポジトリはプライベートにすることができ、好きなだけ多くのプラグインをリストアップでき、管理者は すべてのマシンで必須にすることができます。
以下のケースは他のページで説明されています:
- 1 つのプラグインを少数の人と共有する:プラグインのディレクトリまたはその
.zipを送信します。マーケットプレイスなしでプラグインを共有するを参照してください。 - プラグインを誰もが利用できるようにする:Anthropic のコミュニティマーケットプレイスに送信します。コミュニティマーケットプレイスに送信するを参照してください。
- プラグインを自分で使用する:
--plugin-dirで読み込むか、スキルディレクトリに保存します。マーケットプレイスなしで開発するを参照してください。
マーケットプレイスを作成する
以下の手順は、マシン上にマーケットプレイスを作成し、プラグインを追加し、Claude Code に登録し、そこからプラグインをインストールします。これが全体のループであり、マーケットプレイスをホストした後、ユーザーが実行するループと同じです。my-marketplace/ を作成したいディレクトリから、シェルですべてのコマンドを実行します。
リストアップするプラグインが必要です。例では 最初のプラグインを作成するの my-first-plugin を使用します。これは /my-first-plugin:hello として実行する 1 つのスキルを持つプラグインです。まだプラグインがない場合は、最初に構築してください。代わりに独自のプラグインを使用する場合は、手順で my-first-plugin と書かれている場所で、そのディレクトリと name に置き換えてください。プラグインディレクトリに含まれる内容については、プラグインディレクトリエクスプローラーを参照してください。
1
マーケットプレイスディレクトリを設定する
マーケットプレイスは プラグインが現在の場所で有効であることを確認して、後のエラーがマーケットプレイスについてであり、プラグインについてではないことを確認します:出力の最後の行は
.claude-plugin/marketplace.json ファイルを含むディレクトリと、リストアップするプラグインです。マーケットプレイスディレクトリとその .claude-plugin/ フォルダを作成し、プラグインを plugins/ の下にコピーします:✔ Validation passed と表示されます。2
マーケットプレイスファイルを作成する
marketplace.json を my-marketplace/.claude-plugin/marketplace.json に保存します。ファイルには name、owner、および plugins 配列が必要です。plugins の各オブジェクトはプラグインエントリであり、name と source が必要です。エントリの source をマーケットプレイスルートからのパスとして記述します。ルートは my-marketplace/ で、.claude-plugin/ を含むディレクトリです。my-marketplace/.claude-plugin/marketplace.json
3
マーケットプレイスを検証する
マーケットプレイスディレクトリで ステップ 2 で記述されたファイルの場合、出力の最後の行は
claude plugin validate を実行して、JSON 構文、必須フィールド、および .claude-plugin/marketplace.json の各プラグインエントリを確認します。✔ Validation passed と表示されます。4
マーケットプレイスを追加してプラグインをインストールする
ディレクトリをマーケットプレイスとして登録します。コマンドは コマンドは
✔ Successfully added marketplace: my-marketplace (declared in user settings) と出力します。これはマーケットプレイスがユーザー設定ファイルに記録されたことを意味します。プラグインをインストールします。インストール ID はエントリの name、@、およびマーケットプレイスの name です。✔ Successfully installed plugin: my-first-plugin@my-marketplace (scope: user) と出力します。セッション内では、/plugin marketplace add ./my-marketplace がマーケットプレイスを同じ方法で登録します。/plugin install my-first-plugin@my-marketplace は /plugin パネルでプラグインの詳細を開き、そこでインストールします。そのフローについては、プラグインをインストールして管理するを参照してください。5
プラグインが読み込まれたことを確認する
インストール済みプラグインをリストアップします。出力は
my-first-plugin@my-marketplace を Status: ✔ enabled でリストアップします。プラグインが読み込んだ内容を確認するには、その詳細を表示します。Component inventory セクションは Skills (1) hello と表示されます。スキルを実行するには、セッションを開始して /my-first-plugin:hello を入力します。Claude があなたに挨拶します。コマンドはプラグインの名前をプレフィックスとして持ち、すべてのプラグインスキルの名前がそうであるように。プラグインエントリを追加する
配布するすべてのプラグインは、marketplace.json の plugins 配列内の 1 つのオブジェクトです。2 番目のプラグインを追加するには、2 番目のオブジェクトを追加します。これらのフィールドはほとんどのエントリをカバーします:
name:インストール時に@の前に入力する識別子。スペースを含むことはできません。source:Claude Code がプラグインを取得する場所。チュートリアルのようにマーケットプレイスディレクトリ内のプラグインの相対パス文字列、またはその外のプラグインのソースオブジェクトを記述します。プラグインソースを選択するを参照してください。description:ユーザーが/pluginでマーケットプレイスを参照するときにプラグインの横に表示される行。
plugin.json フィールドも設定できます。エントリの plugin.json フィールドが独自の plugin.json を持つプラグインに適用される場合については、エントリと plugin.jsonを参照してください。
プラグインエントリのルール
新しいマーケットプレイスからのほとんどの失敗したインストールは、相対パスが間違ったディレクトリから記述されているか、エントリ名がプラグインのplugin.json の name と異なることが原因です。
マーケットプレイスルートから相対パスを記述する
マーケットプレイスルートは.claude-plugin/ を含むディレクトリです。チュートリアルでは、それは my-marketplace/ なので、エントリの source は "./plugins/my-first-plugin" です。パスは .claude-plugin/ 内から始まらないため、それを離れるために .. を使用しないでください。
.. を含むパスと存在しないディレクトリへのパスは異なるコマンドで失敗します:
..を含むパス:claude plugin validateはエントリを無効として報告します。メッセージはPath contains "..": ./../plugins/my-first-pluginで始まります。- 存在しないディレクトリへのパス:
claude plugin validateは成功します。claude plugin installはSource path does not exist: <path>で失敗し、<path>は Claude Code が確認した絶対位置です。
エントリ名とマニフェスト名を同じに保つ
マーケットプレイスプラグインはmarketplace.json のエントリ name と独自の plugin.json の name を持ち、マニフェスト名と呼ばれます。各名前は異なる場所に表示されます:
- エントリ名:インストール ID、
<entry-name>@<marketplace>。これはインストール時に入力する内容、claude plugin listが表示する内容、および Claude Code が設定ファイルのenabledPluginsの下に記述するキーです。 - マニフェスト名:プラグインのスキルのプレフィックス、および
claude plugin detailsが受け取る名前。
Plugin "<manifest-name>" not found in marketplace "<marketplace>" を報告します。2 つの名前を同じに保ちます。Claude Code が 2 つの名前をどのように使用するかについての詳細については、プラグイン読み込みリファレンスを参照してください。
プラグインソースを選択する
marketplace.json の各プラグインエントリには、Claude Code がそのプラグインを取得する場所を指示する source があります。プラグインのファイルが保存されている場所によってソースを選択します。テーブルはマーケットプレイス所有者が最も使用するソースをリストアップします。
git-subdir ソースでは、url は git URL または owner/repo GitHub ショートハンドを受け取ります。
プラグインは、これらのソースタイプの 1 つからも取得できます:
url:任意のホスト上の git リポジトリ(URL による)archive:HTTPS 経由でダウンロードされた zip ファイルnpm:npm パッケージcommand:プラグインがインストールされているマシンでコマンドを実行して生成されたディレクトリ
ref または sha にピン留めするには、プラグインソースを参照してください。
検証とテスト
プラグインを追加するときは、編集後にシェルでclaude plugin validate ./my-marketplace を実行し、共有する前に独自のマシンのマーケットプレイスからインストールします。検証とインストールは異なる問題をキャッチします。
検証が報告する問題
claude plugin validate はマーケットプレイスディレクトリ内のファイルのみを読み取ります。以下を報告します:
- JSON 構文エラー(
json: Invalid JSON syntax: <reason>として) owner: Invalid inputなどの必須フィールドの欠落- スペース、非 ASCII 文字、または
claude-officialなどの公式 Anthropic マーケットプレイスを模倣する形式を持つマーケットプレイス名 ..を含む相対source- トップレベルまたはプラグインエントリの未知のフィールド(警告として)
- 各相対パスプラグインの
plugin.jsonの問題(plugins[N] plugin.json → <field>: <message>として)
validate が出力できるすべてのメッセージについては、検証メッセージを参照してください。そのフラグと終了コードについては、plugin validateを参照してください。
マーケットプレイスを追加またはインストールするときに表示される問題
claude plugin validate が報告しない問題は、マーケットプレイスを追加またはそこからインストールするときに表示されます:
- マーケットプレイスを追加するとき:
claude-plugins-officialなどの正確な公式マーケットプレイス名は検証に合格します。これらの名前の 1 つを持つマーケットプレイスを追加すると、Claude Code はThe name '<name>' is reserved for official Anthropic marketplacesで始まるメッセージで拒否します。 - プラグインをインストールするとき:
- Claude Code は、プラグインをインストールするときに
github、git-subdir、または他のリモートソースを最初に取得するため、間違ったrepoまたはpathはその時点で表示されます。 - ディレクトリが存在しない相対
sourceも、Source path does not exist: <path>でインストール時に失敗します。
- Claude Code は、プラグインをインストールするときに
プラグインの編集をテストする
チュートリアルでは、相対パスsource を持つローカルディレクトリから my-marketplace を追加しました。そのセットアップでは、Claude Code は my-marketplace/plugins/ からプラグインのファイルを直接読み取ります。編集は次のセッション開始時または reload-plugins をセッション内で実行するときに有効になり、プラグインの version に変更はありません。
ホストされたマーケットプレイスからインストールする人は、代わりにプラグインキャッシュにコピーを取得します。新しいバージョンを受け取る方法については、ユーザーを最新に保つを参照してください。
マーケットプレイスを削除して最初からやり直す
すべてを削除して最初からやり直すには、シェルでclaude plugin marketplace remove my-marketplace を実行します。コマンドはマーケットプレイスを削除し、そのプラグインをアンインストールします。
マーケットプレイスをホストする
マーケットプレイスを作成するのように、独自のマシンのマーケットプレイスからプラグインをインストールできるようになったら、マーケットプレイスディレクトリを git ホストにプッシュします。 チームメイトは、GitHub リポジトリの場合はシェルでclaude plugin marketplace add <owner>/<repo> を実行するか、リポジトリ URL で同じコマンドを実行します。その後、チュートリアルのように名前でプラグインをインストールします。
プライベートリポジトリアクセス、更新、バージョン管理、およびエントリの名前変更または削除については、マーケットプレイスをホストして維持するを参照してください。
次のステップ
- マーケットプレイスをホストして維持する:ホストを選択し、ユーザーを最新に保ち、プラグインを安全に名前変更または削除します
- マーケットプレイスリファレンス:
marketplace.jsonフィールドとソースタイプ - 組織のプラグインを管理する:すべてのマシンでマーケットプレイスとそのプラグインを必須にします
- 関連性によってプラグインを提案する:セッションが一致するときにマーケットプレイスからプラグインを提案するように Claude Code に指示します