marketplace.json のプラグインエントリに relevance ブロックを追加してから、マネージド設定でマーケットプレイスをホワイトリストに登録します。ユーザーのセッションが宣言されたシグナルのいずれかと一致すると、Claude Code はそのプラグインのインストール提案を表示します。
マーケットプレイスで宣言された提案は、マネージド設定を通じてマーケットプレイスごとにオプトインです。管理者がそれを許可リストに追加するまで、マーケットプレイスの relevance 宣言は提案を生成しません。これには公式の Anthropic マーケットプレイスも含まれます。Claude Code には、この許可リストとは無関係の組み込み提案も 1 つ含まれています。その提案とすべてのマーケットプレイス宣言の提案は、spinnerTipsEnabled が false に設定されている場合は無効になります。
このページはマーケットプレイス運営者とエンタープライズ管理者向けです。プラグインのインストールを探している場合は、プラグインの検出とインストールを参照してください。
仕組み
marketplace.json の各プラグインエントリは relevance オブジェクトを含むことができます。このオブジェクトはトピックと 1 つ以上のシグナルを指定します。シグナルは、作業ディレクトリや Claude が読んだファイルなど、現在のセッションに対して Claude Code がテストするパターンです。
シグナルマッチングはユーザーのマシン上でローカルに行われます。マッチングはネットワークトラフィックを追加せず、どのシグナルが一致したか、またはそれらの値を Anthropic またはマーケットプレイスオペレーターに報告しません。
シグナルが一致し、プラグインがまだインストールされていない場合、Claude Code はプラグインを 3 つの場所に表示します。
- スピナーチップ: Claude が応答している間、スピナーの下に「topic で作業していますか?plugin プラグインをインストール」というメッセージが
/plugin installコマンドとともに表示されます。 - セッション開始提案:
cwdシグナルが作業ディレクトリと一致する場合、最初のターンの前に「plugin suggestion: <name>@<marketplace> · /plugin」という 1 行の通知が表示されます。 /pluginDiscover タブ: プラグインは「このディレクトリで推奨」または「stripe コマンドで推奨」などの注釈とともに Discover リストの上部に固定されます。
spinnerTipsEnabled が false に解決される場合、または設定ファイル全体で excludeDefault が true に解決される場合、両方を無効にします。ユーザー、--settings、および管理設定の spinnerTipsOverride キーでは、少なくとも 1 つのチップまたは tipsFile を設定します。
Discover タブピンはチップ設定とは無関係です。
Claude Code はプラグインを自動的にインストールしません。ユーザーが常に確認します。
プラグインエントリに関連性を追加
プラグインのmarketplace.json エントリに relevance オブジェクトを追加します。次の例は、Claude が .tf ファイルを読むか、Claude が terraform を実行するときに terraform-helpers プラグインが関連していることを宣言しています。
relevance ブロックを持つが一致するシグナルがないプラグインは、他のマーケットプレイスエントリのように動作します。Discover リストに通常の位置に表示され、スピナーチップとして表示されることはありません。
フィールドリファレンス
relevance
relevance.signals
cli、hosts、filesRead、および manifestDeps シグナルはセッション履歴が必要なため、スピナーチップと Discover タブでのみマッチできます。
filesRead および manifestDeps シグナルはセッションの記録されたファイル状態をテストします。これには、Claude が書き込みまたは編集したファイルと自動読み込みされた CLAUDE.md メモリファイルも含まれます。これら 2 つのシグナルについて、Claude Code はその 設定ディレクトリ とその一時ディレクトリの下のパスをスキップします。
次の例は manifestDeps を使用して、Claude が stripe に依存する package.json を読んだ後に Stripe プラグインを提案します。file パターンは [/\\\\] を使用するため、フォワードスラッシュとバックスラッシュの両方のパス区切り文字にマッチし、\\. はドットがリテラルであることを示します。JSON では、正規表現の各バックスラッシュは 2 回書き込まれます。
Claude Code は読み込み時に
relevance および relevance.signals の下の未知のフィールドを無視するため、古いクライアントはマーケットプレイスを読み込み続けます。マネージドセッティングで提案を有効にする
marketplace.json で relevance を宣言するだけでは十分ではありません。管理者は、提案がユーザーに表示される前に、マネージドセッティングでマーケットプレイスをホワイトリストに登録する必要があります。
マーケットプレイス名を pluginSuggestionMarketplaces に追加します。公式 Anthropic マーケットプレイス以外のマーケットプレイスの場合は、同じマネージドセッティングでマーケットプレイスソースを宣言します。その名前の extraKnownMarketplaces のエントリとして、または strictKnownMarketplaces のエントリとして宣言します。ホワイトリストに登録された名前は、マーケットプレイスが別のソースから登録された場合は無視されます。これにより、関連のないソースが組織全体でプラグインを提案するためにホワイトリストに登録された名前で登録されるのを防ぎます。
次の managed-settings.json は GitHub リポジトリから組織マーケットプレイスを登録し、その提案を有効にします。
ユーザーに表示される内容
セッション中にシグナルが一致すると、スピナーチップは次のように読みます。cwd シグナルは 1 行の通知を表示します。
/plugin Discover タブでは、プラグインは「このディレクトリで推奨」または「terraform コマンドで推奨」などの一致するシグナルを指定する注釈とともに、他の結果の上に固定されます。Discover タブは特定のプラグインを 1 回固定します。その後のアクセスは通常の順序でリストします。
マーケットプレイスを検証する
公開する前に、マーケットプレイスディレクトリに対してclaude plugin validate を実行して、relevance ブロックを確認します。
relevance および relevance.signals の下の未知のキーを警告として報告し、relevance 値がオブジェクトではないことをフラグし、スキーム、ポート、またはパスを含む signals.hosts エントリを拒否します。
関連項目
- プラグインマーケットプレイスを作成および配布する: プラグインをホストするマーケットプレイスを構築します
- CLI からプラグインを推奨する: Claude Code のセッションシグナルではなく、独自の CLI からユーザーにプロンプトを表示します
- すべてのセッティング:
pluginSuggestionMarketplacesおよびextraKnownMarketplaces