Skip to main content
プラグインマーケットプレイスは、.claude-plugin/marketplace.json ファイルを含むディレクトリまたはリポジトリで、プラグインをリストアップし、各プラグインをどこから取得するかを指定します。ディレクトリを git ホストにプッシュすると、アクセス権を持つ誰もが 1 つのコマンドで Claude Code に登録し、カタログからプラグインをインストールできます。 チーム、組織など、選択したグループがプラグインをインストールし、制御するカタログから継続的に更新を受け取るようにしたい場合は、独自のマーケットプレイスを作成します。リポジトリはプライベートにすることができ、好きなだけ多くのプラグインをリストアップでき、管理者は すべてのマシンで必須にすることができます。
以下のケースは他のページで説明されています:
マーケットプレイスを作成するから始めて、自分のマシンにマーケットプレイスを構築し、そこからプラグインをインストールしてから、プラグインエントリを追加します。

マーケットプレイスを作成する

以下の手順は、マシン上にマーケットプレイスを作成し、プラグインを追加し、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

マーケットプレイスを検証する

マーケットプレイスディレクトリで claude plugin validate を実行して、JSON 構文、必須フィールド、および .claude-plugin/marketplace.json の各プラグインエントリを確認します。
ステップ 2 で記述されたファイルの場合、出力の最後の行は ✔ 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 が受け取る名前。
2 つの名前が異なり、誰かがマニフェスト名でインストールすると、Claude Code は 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:プラグインがインストールされているマシンでコマンドを実行して生成されたディレクトリ
すべてのソースタイプのフィールド、および git ベースのソースを 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> でインストール時に失敗します。

プラグインの編集をテストする

チュートリアルでは、相対パス 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 で同じコマンドを実行します。その後、チュートリアルのように名前でプラグインをインストールします。 プライベートリポジトリアクセス、更新、バージョン管理、およびエントリの名前変更または削除については、マーケットプレイスをホストして維持するを参照してください。

次のステップ