marketplace.json エントリに relevance ブロックを追加することで定義します。
マーケットプレイスオペレーターが relevance エントリを記述します。その後、管理者がマネージド設定でマーケットプレイスをホワイトリストに登録します。マーケットプレイスがホワイトリストに登録されるまで、ユーザーはそのマーケットプレイスからの提案を表示しません。
これらのケースは他のページで説明されています。
- プラグインをインストールしたい場合: プラグインのインストールと管理を参照してください
- 提案をオフにしたい場合: プラグイン関連性の仕組みを理解するを参照してください
- マーケットプレイスオペレーター: 提案の仕組みを読んでから、プラグインエントリに関連性を追加し、マーケットプレイスを検証してください
- 管理者: マネージド設定で提案を有効にする
プラグイン関連性の仕組みを理解する
marketplace.json の各プラグインエントリには、relevance オブジェクトを含めることができます。このオブジェクトはトピックと 1 つ以上のシグナルを指定します。シグナルは、作業ディレクトリやClaudeが読み取ったファイルなど、Claude Code が現在のセッションに対してテストするパターンです。
シグナルマッチングはユーザーのマシン上でローカルに実行され、ネットワークトラフィックは追加されません。Claude Code は、どのシグナルが一致したか、またはそれらの値を Anthropic またはマーケットプレイス運営者に報告しません。
シグナルが一致し、プラグインがまだインストールされていない場合、Claude Code は以下の場所でプラグインを提案します。
- スピナーチップ: Claude が応答している間、スピナーの下に
/plugin installコマンドを含むメッセージが表示されます。 - セッション開始通知:
cwdシグナルが作業ディレクトリと一致する場合、ユーザーが最初のメッセージを送信する前に 1 行の通知が表示されます。 /pluginDiscover タブ: プラグインは Discover リストの上部にピン留めされます。
spinnerTipsEnabled を false に設定するか、excludeDefault を含む spinnerTipsOverride が組み込みチップを置き換える場合に表示されなくなります。Discover タブのピンはどちらの設定にも影響されません。
プラグインエントリに関連性を追加する
marketplace.json のプラグインエントリに relevance オブジェクトを追加します。次の例は、Claude が .tf ファイルを読み取るか terraform を実行するときに terraform-helpers プラグインが関連していることを宣言しています。
フィールドリファレンス
relevance オブジェクトとそのネストされた signals オブジェクトは、次の表のフィールドを受け入れます。
古いクライアントは、認識しない relevance フィールドを使用するマーケットプレイスをまだロードします。これは、relevance と relevance.signals の下の未知のフィールドはロード時に無視されるためです。認識されたフィールドの値がフィールドリファレンスの制限を超える場合、プラグインエントリ全体が無効になり、ユーザーはそのプラグインをマーケットプレイスからインストールできなくなります。修正するまで、claude plugin validate は同じ制限を報告します。
relevance
topic は多くの場合、製品名(例:Terraform)です。プラグイン名がトピックとして自然に聞こえない場合は、design などのドメインを使用してください。
relevance.signals
signals オブジェクトは、次のフィールドを受け入れます。
filesRead と manifestDeps シグナルは、Claude がこのセッションで書き込みまたは編集したファイル、およびプロジェクトの自動ロードされた CLAUDE.md メモリファイルに対してもマッチします。
作業ディレクトリマッチング
cwd は、セッション開始時、ユーザーが最初のメッセージを送信する前にマッチできる唯一のシグナルです。
Claude Code は各 cwd パターンを次のようにマッチします。
- パターンは、作業ディレクトリを絶対パスとしてマッチします。セッションが git リポジトリ内にある場合、リポジトリルートに対する作業ディレクトリのパスに対してもマッチします。
- マッチングはフォワードスラッシュで正規化され、大文字と小文字を区別しません。
- すべてのパターンはディレクトリ自体とその下のすべてにマッチするため、
infra、infra/、およびinfra/**は同じように動作します。
コマンド名マッチング
Claude Code は、Claude が実行する各シェルコマンドに対して 1 つのコマンド名を記録します。これは、先頭の環境変数割り当てとsudo の後の最初のトークンです。複合コマンドは先頭のコマンドのみを提供するため、cd infra && terraform plan は terraform ではなく cd を記録します。
マニフェスト依存関係マッチング
各manifestDeps エントリは、2 つの JavaScript RegExp ソース文字列をペアにします。
file: マニフェストファイルのパスに対して大文字と小文字を区別しないでマッチします。パスは通常絶対パスであるため、開始ではなく終了にパターンをアンカーしてください。パスはこのシグナルに対して区切り文字で正規化されないため、Windows パスはバックスラッシュを使用します。pattern: そのファイルの内容に対して大文字と小文字を区別してマッチします。
manifestDeps を使用して、Claude が SDK の npm パッケージ(ここでは your-sdk という名前)に依存する package.json を読み取った後、プラグインを提案しています。
file パターンは [/\\\\] を使用してフォワードスラッシュとバックスラッシュの両方のパス区切り文字にマッチし、\\. はドットがリテラルであることを示します。JSON では、正規表現の各バックスラッシュは 2 回書き込まれます。
マーケットプレイスを検証する
シェルで、マーケットプレイスディレクトリに対してclaude plugin validate を実行して、公開する前に relevance ブロックを確認します。
relevance ブロックのエラーと警告を報告します。これには以下が含まれます。
relevanceとrelevance.signalsの下の未知のキーを警告として報告します- オブジェクトではない
relevance値にフラグを立てます - スキーム、ポート、またはパスを含む
signals.hostsエントリを拒否します
Validation passed、Validation passed with warnings、または Validation failed で終わります。
マネージド設定で提案を有効にする
ユーザーは、マーケットプレイスのmarketplace.json が relevance を宣言している場合でも、管理者が マネージド設定 でそれをホワイトリストに登録するまで、マーケットプレイスからの提案を表示されません。
マーケットプレイスをホワイトリストに登録するには、マネージド設定を次のように編集します。
- マーケットプレイス名を
pluginSuggestionMarketplacesに追加します。 - 公式 Anthropic マーケットプレイス以外のマーケットプレイスについては、マーケットプレイスソースも宣言します。その名前のエントリとして
extraKnownMarketplacesに、またはエントリとしてstrictKnownMarketplacesに宣言します。
managed-settings.json は、GitHub リポジトリから組織マーケットプレイスを登録し、その提案を有効にします。
ユーザーが見るものをプレビューする
プラグインのrelevance シグナルがセッション中にマッチする場合、スピナーの下のチップは次のように読みます。
cwd シグナルがセッション開始時にマッチする場合、1 行の通知は次のように読みます。
/plugin Discover タブでは、プラグインは他の結果の上にピン留めされ、suggested for this directory または suggested for terraform commands などのマッチングシグナルを指定する注釈が付きます。
Claude Code は、特定のプラグインを提案する頻度を制限します。
- 提案は、スピナーチップとセッション開始通知を合わせて、最大 3 セッションごとに 1 回表示されます。
- セッション開始通知は、スピナーチップと通知がプラグインを合わせて 2 回表示されたら表示されなくなります。
- スピナーチップもセッション開始通知も、プラグインがインストールされたら繰り返されません。
- Discover タブは、プラグインのシグナルがマッチしている間にユーザーがタブを初めて開くときにプラグインをピン留めします。Claude Code はそれを
~/.claude.jsonに記録するため、ユーザーがそのマシンで/pluginを開くたびに、プラグインは通常の順序で表示されます。
関連項目
- マーケットプレイスをホストする: プラグインをホストするマーケットプレイスを実行します
- マーケットプレイスリファレンス: プラグインエントリが受け入れるすべてのフィールド
- CLI からプラグインを推奨する: Claude Code のセッションシグナルではなく、独自の CLI からユーザーにプロンプトを表示します
- 組織向けプラグインを管理する:
extraKnownMarketplaces、strictKnownMarketplaces、およびその他のプラグインポリシーキー