`marketplace.json` の `$schema` URLを SchemaStore へ差し替え

anthropics/claude-code

.claude-plugin/marketplace.json に記載されていた $schema URLが404を返し続けていた問題を修正し、実在するSchemaStore上のURLへ変更しました。これにより、VS Codeなどの $schema を自動フェッチするエディタでスキーマ検証エラーが表示されなくなります。

背景

#9686 で報告された通り、.claude-plugin/marketplace.json$schema フィールドが指す https://anthropic.com/claude-code/marketplace.schema.json は当初から404を返しており、一度も有効に機能したことがありませんでした。VS Codeの統合ターミナルから marketplace.json を開くと、エディタが以下のようなエラーを表示し続ける状態でした:

Unable to load schema from 'https://anthropic.com/claude-code/marketplace.schema.json': Not Found.

この問題に対し、コミュニティPR #23974$schema フィールドそのものを削除する方針を採っていましたが、本PRは実在するスキーマURLへ差し替える方針を選択しました。スキーマを削除するのではなく有効なエンドポイントを指すことで、エディタのオートコンプリートとバリデーションを機能させることが目的です。

技術的な変更

.claude-plugin/marketplace.json$schema フィールドを1行変更し、SchemaStore上のURLへ差し替えました。

変更前:

{
  "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
  ...
}

変更後:

{
  "$schema": "https://json.schemastore.org/claude-code-marketplace.json",
  ...
}

差し替え先の claude-code-marketplace.json は、SchemaStore/schemastore#5603 で追加が進んでいるスキーマです。このスキーマは claude-cli-internal 内のZod定義から生成されており、SchemaStoreへのPR着地後にエディタが自動的にスキーマを取得できるようになります。

設計判断

$schema フィールドの削除ではなく、有効なURLへの差し替え が採用されました。

削除案(#23974)は即座にエラーを消せる一方、将来スキーマが有効化されてもエディタ支援を享受できません。本PRはSchemaStoreへのPRが着地すれば自動的にオートコンプリートとバリデーションが有効になるという点で、より積極的なアプローチを選んでいます。SchemaStoreはエディタが広くサポートしている中央リポジトリであり、Canonicalなスキーマ定義元(Zod定義)を持つ内部リポジトリとは別に、エディタ統合のための公開エンドポイントとしての役割を担います。

まとめ

今回の変更は1行の修正ですが、「無効なURLを消す」のではなく「実在するURLを指す」という選択により、SchemaStore PR着地後はエディタ上での marketplace.json 編集体験が即座に向上します。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
a2bd7392

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
リトライ後承認
Review Count:
2回 (改善を経て承認)
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文(総論)→背景・技術詳細・設計判断(各論)→まとめ(結論)という構成が明確で、非常に理解しやすいです。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

ファイル名付きコードブロックやGitHubのPR/Issueへのリンク記法が、ガイドラインに沿って正しく使われています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

専門知識を持つエンジニアを対象としており、冗長な説明がなく、適切な技術レベルで書かれています。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクションが総論→各論の構造を持ち、段落ごとにトピックセンテンスが明確なため、構造的に非常に読みやすいです。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事内のコード例は、提供されたDiffの内容を正確に反映しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

`$schema`や`SchemaStore`などの技術用語が、文脈に沿って正しく使用されています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

変更の背景や技術的な詳細に関する説明は、PR情報に基づいており、技術的に正確です。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事内のすべての主張は、PRのDescriptionやDiffの内容によって裏付けられており、ハルシネーションは検出されませんでした。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR番号、Issue番号、URLなどの数値や固有名詞はすべて正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事のタイトルはPRの主題を的確に要約しており、内容との一貫性も保たれています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

PRに直接記載されていない外部知識の追加はなく、すべての情報がPR情報に基づいています。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

「追加が進んでいる」「PR着地後」など、PRの状況を反映した時間表現が正確に使用されています。