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