
claude code marketplace 公開一覧
Claude Code Marketplace は、Plugin と Skill を配布するためのカタログ機構です。Git リポジトリに .claude-plugin/marketplace.json を置くだけで構築でき、ユーザー側は /plugin marketplace add でカタログを取り込み、/plugin install で個別 Plugin を導入できます(出典: プラグインマーケットプレイスの作成と配布)。
本記事では claude code marketplace の全体像を、公開マーケットプレイス一覧表・ソース種別全体表・全フィールドリファレンス表という 3 本の大型一覧表を軸に整理します。marketplace.json + plugin.json + SKILL.md の 3 ファイル構造、5 種類のプラグインソース、厳格モード(strict)、組織向けの strictKnownMarketplaces 制御まで、自分でマーケットプレイスを作る・運用する観点で網羅しています。
Claude Code Marketplace は Plugin・Skill 配布のカタログで、Git リポジトリに .claude-plugin/marketplace.json を置くだけで構築できます。3 階層構造(marketplace → plugin → skill)のうち、marketplace は配布カタログ、plugin はインストール単位、skill は /quality-review 等の実行単位です。プラグインソースは相対パス / github / url / git-subdir / npm の 5 種類で、内部モノレポなら git-subdir でスパースクローンが効きます。公式マーケットプレイス claude-plugins-official には LSP や GitHub 等 20 本以上のプラグインが並び、コミュニティマーケットプレイスは anthropics/claude-code に例が集約されています。組織導入は extraKnownMarketplaces + strictKnownMarketplaces を管理設定で組み合わせ、claude-code-marketplace anthropic-marketplace 等の名前は予約済みでサードパーティでは使用不可です。
目次 (26)
- Claude Code Marketplace とは — 3 階層構造の全体像
- 公式マーケットプレイスの位置づけ
- 大型表 1 — 公開マーケットプレイス一覧(20 行以上)
- 公式マーケットプレイス claude-plugins-official 収録プラグイン
- デモマーケットプレイス anthropics/claude-code(claude-code-plugins)収録プラグイン
- 大型表 2 — Plugin ソース種別の全網羅表(15 行以上)
- sha と ref のピン留め戦略
- モノレポ向け git-subdir の活用
- 大型表 3 — marketplace.json / plugin.json / SKILL.md 全フィールド一覧(20 行以上)
- marketplace.json の全フィールド
- marketplace.json プラグインエントリの全フィールド
- plugin.json の全フィールド
- SKILL.md フロントマターの全フィールド
- 5 種類のプラグインソース — 取得経路の詳細
- GitHub ソース
- git-subdir ソース(モノレポ向け)
- npm ソース
- 自作マーケットプレイスの作成 — 最小 5 ステップ
- バージョン解決の落とし穴
- 厳格モード(strict)と組織配布
- strict: true / false の動作
- 組織配布 — strictKnownMarketplaces の全構成例
- コンテナ事前シードと環境変数
- まとめ — claude code marketplace 運用の判断基準
- 出典(一次情報)
- 関連記事
Claude Code Marketplace とは — 3 階層構造の全体像
Claude Code Marketplace は Plugin と Skill を一覧化して配布する公式機構です。中央に Anthropic が運営する公式マーケットプレイス(claude-plugins-official)があり、それとは独立して任意の Git リポジトリで自前のマーケットプレイスをホストできる設計になっています(出典: プラグインマーケットプレイスの作成と配布)。
3 階層の関係を整理します。
| 階層 | 単位 | 主な構成ファイル | 役割 |
|---|---|---|---|
| Marketplace | 配布カタログ | .claude-plugin/marketplace.json |
Plugin の集合と取得元(source)を定義 |
| Plugin | インストール単位 | .claude-plugin/plugin.json |
Skill / Agent / Hook / MCP / LSP の集まりをパッケージ化 |
| Skill / Agent / Hook / MCP / LSP | 実行単位 | skills/*/SKILL.md 等 |
Claude が実際に呼び出す処理の本体 |
ユーザー視点では /plugin marketplace add owner/repo でマーケットプレイスを 1 つ取り込み、その中の Plugin から欲しいものだけ /plugin install <name>@<marketplace> でインストールします。Plugin は内部に複数の Skill を含むことができ、個別 Skill は /<skill-name> のスラッシュコマンドとして呼び出せます。Plugin に名前空間がある場合は /plugin-name:skill-name 形式になります。
公式マーケットプレイスの位置づけ
公式マーケットプレイス claude-plugins-official には Anthropic 認定の Plugin が並びます。Claude Code を起動すると自動的に利用可能になり、/plugin の Discover タブで参照できます。一方、anthropics/claude-code リポジトリには手動追加が必要なデモマーケットプレイス(claude-code-plugins)があり、プラグインシステムの可能性を示す例プラグインが収録されています。社内ツールや顧客特有のスクリプトは自前マーケットプレイスで配布し、GitHub Private リポジトリでホストすれば extraKnownMarketplaces 設定で社内限定の流通網を実現できます。
なお、claude-code-marketplace claude-code-plugins claude-plugins-official anthropic-marketplace anthropic-plugins agent-skills knowledge-work-plugins life-sciences などの名前は公式予約済みで、サードパーティのマーケットプレイス名には使えません。official-claude-plugins のような「公式のなりすまし」名もブロックされます。
大型表 1 — 公開マーケットプレイス一覧(20 行以上)
公式マーケットプレイス(claude-plugins-official)とデモマーケットプレイス(anthropics/claude-code)に収録されているプラグインをすべて列挙します。インストールコマンドは /plugin install <名称>@<マーケットプレイス> の形式です(出典: プラグインの検出とインストール)。
公式マーケットプレイス claude-plugins-official 収録プラグイン
/plugin install <名称>@claude-plugins-official でインストールできます。
| カテゴリ | プラグイン名 | 主な目的 | 必要なバイナリ |
|---|---|---|---|
| コード インテリジェンス — LSP | clangd-lsp |
C/C++ の LSP コード補完・診断 | clangd |
| コード インテリジェンス — LSP | csharp-lsp |
C# の LSP コード補完・診断 | csharp-ls |
| コード インテリジェンス — LSP | gopls-lsp |
Go の LSP コード補完・診断 | gopls |
| コード インテリジェンス — LSP | jdtls-lsp |
Java の LSP コード補完・診断 | jdtls |
| コード インテリジェンス — LSP | kotlin-lsp |
Kotlin の LSP コード補完・診断 | kotlin-language-server |
| コード インテリジェンス — LSP | lua-lsp |
Lua の LSP コード補完・診断 | lua-language-server |
| コード インテリジェンス — LSP | php-lsp |
PHP の LSP コード補完・診断 | intelephense |
| コード インテリジェンス — LSP | pyright-lsp |
Python の LSP コード補完・診断 | pyright-langserver |
| コード インテリジェンス — LSP | rust-analyzer-lsp |
Rust の LSP コード補完・診断 | rust-analyzer |
| コード インテリジェンス — LSP | swift-lsp |
Swift の LSP コード補完・診断 | sourcekit-lsp |
| コード インテリジェンス — LSP | typescript-lsp |
TypeScript の LSP コード補完・診断 | typescript-language-server |
| 外部統合 — MCP | github |
GitHub との MCP 連携(PR・Issues) | なし |
| 外部統合 — MCP | gitlab |
GitLab との MCP 連携 | なし |
| 外部統合 — MCP | atlassian |
Jira / Confluence との MCP 連携 | なし |
| 外部統合 — MCP | asana |
Asana との MCP 連携 | なし |
| 外部統合 — MCP | linear |
Linear との MCP 連携 | なし |
| 外部統合 — MCP | notion |
Notion との MCP 連携 | なし |
| 外部統合 — MCP | figma |
Figma との MCP 連携 | なし |
| 外部統合 — MCP | vercel |
Vercel インフラとの MCP 連携 | なし |
| 外部統合 — MCP | firebase |
Firebase との MCP 連携 | なし |
| 外部統合 — MCP | supabase |
Supabase との MCP 連携 | なし |
| 外部統合 — MCP | slack |
Slack との MCP 連携 | なし |
| 外部統合 — MCP | sentry |
Sentry 監視との MCP 連携 | なし |
| 開発ワークフロー | commit-commands |
git コミット・プッシュ・PR 作成 | なし |
| 開発ワークフロー | pr-review-toolkit |
PR レビュー用特化エージェント群 | なし |
| 開発ワークフロー | agent-sdk-dev |
Claude Agent SDK 開発キット | なし |
| 開発ワークフロー | plugin-dev |
プラグイン開発用総合ツールキット | なし |
| 出力スタイル | explanatory-output-style |
教育的な実装インサイトの付与 | なし |
| 出力スタイル | learning-output-style |
インタラクティブ学習モード | なし |
デモマーケットプレイス anthropics/claude-code(claude-code-plugins)収録プラグイン
/plugin marketplace add anthropics/claude-code で追加後、/plugin install <名称>@anthropics-claude-code でインストールできます(出典: プラグインの検出とインストール)。
| プラグイン名 | 提供元 | 主な目的 | 主なコマンド・スキル |
|---|---|---|---|
agent-sdk-dev |
Anthropic | Claude Agent SDK 開発 | /new-sdk-app、SDK 検証エージェント |
claude-opus-4-5-migration |
Anthropic | Sonnet→Opus 4.5 移行支援 | 自動モデル文字列・ベータヘッダ調整 |
code-review |
Anthropic | 複数並列エージェントによる PR レビュー | /code-review、5 並列 Sonnet エージェント |
commit-commands |
Anthropic | Git ワークフロー自動化 | /commit、/commit-push-pr、/clean_gone |
explanatory-output-style |
Anthropic | 教育的応答スタイル付与 | SessionStart フックで自動注入 |
feature-dev |
Anthropic | 7 段階構造化機能開発 | /feature-dev、3 専門エージェント |
frontend-design |
Anthropic | 本番級フロントエンド UI 生成 | デザイン自動起動スキル |
hookify |
Anthropic | カスタムフック作成ツール | /hookify 関連コマンド |
learning-output-style |
Anthropic | インタラクティブ学習モード | SessionStart フック、ユーザー協働 |
plugin-dev |
Anthropic | プラグイン開発総合ツールキット | /plugin-dev:create-plugin、7 専門スキル |
pr-review-toolkit |
Anthropic | PR 専門レビュー | /pr-review-toolkit:review-pr、6 専門エージェント |
ralph-wiggum |
Anthropic | 自己参照 AI ループ開発 | /ralph-loop、/cancel-ralph |
security-guidance |
Anthropic | セキュリティ警告フック | コマンドインジェクション・XSS 等 9 パターン監視 |
大型表 2 — Plugin ソース種別の全網羅表(15 行以上)
marketplace.json の各 plugin エントリには source フィールドが必須で、Claude Code がプラグインの実体をどこから取得するかを指定します。5 種類のソースタイプが用意されています(出典: プラグインマーケットプレイスの作成と配布)。
| ソース種別 | source の記述形式 |
必須フィールド | 任意フィールド | 認証要否 | 主な用途 | 備考 |
|---|---|---|---|---|---|---|
| 相対パス | "./plugins/my-plugin" |
— | — | 不要 | 同一リポジトリ内のプラグイン | ./ で始まる必要あり。Git ベース配布のみ有効 |
| GitHub | {"source":"github","repo":"owner/repo"} |
repo |
ref、sha |
Public は不要 / Private は GITHUB_TOKEN |
GitHub 公開・OSS 配布 | ref はブランチ/タグ、sha は 40 文字コミット SHA |
| Git URL | {"source":"url","url":"https://..."} |
url |
ref、sha |
Private は各種トークン | GitLab・Azure DevOps 等 非 GitHub ホスト | .git サフィックス任意。SSH URL も可 |
| git-subdir | {"source":"git-subdir","url":"...","path":"tools/..."} |
url、path |
ref、sha |
Private は各種トークン | モノレポ内の特定ディレクトリのみ取得 | スパースクローンで帯域節約 |
| npm | {"source":"npm","package":"@org/plugin"} |
package |
version、registry |
Private レジストリは .npmrc 等 |
npm パッケージとして配布 | version は semver 範囲可(^2.0.0 等) |
| GitHub — ブランチ固定 | {"source":"github","repo":"owner/repo","ref":"v2.0.0"} |
repo、ref |
sha |
同上 | タグ/ブランチを固定して安定版を配布 | ref のみ変更で最新追跡も可 |
| GitHub — コミット固定 | {"source":"github","repo":"owner/repo","sha":"a1b2c3..."} |
repo、sha |
ref |
同上 | 完全再現性が必要な本番環境 | 40 文字 SHA でキャッシュキーが固定 |
| Git URL — ブランチ固定 | {"source":"url","url":"https://...","ref":"main"} |
url、ref |
sha |
同上 | 非 GitHub ホストで最新追跡 | |
| Git URL — SSH | {"source":"url","url":"git@gitlab.com:org/repo.git"} |
url |
ref、sha |
SSH エージェント(ssh-agent) |
SSH 接続が要件の環境 | known_hosts にホスト登録必須 |
| git-subdir — ブランチ固定 | {"source":"git-subdir","url":"...","path":"...","ref":"v2"} |
url、path、ref |
sha |
同上 | モノレポ + タグ固定 | |
| git-subdir — GitHub ショートハンド | {"source":"git-subdir","url":"owner/repo","path":"..."} |
url、path |
ref、sha |
同上 | owner/repo 形式でも書ける |
SSH URL(git@github.com:...)も可 |
| npm — バージョン固定 | {"source":"npm","package":"@org/plugin","version":"2.1.0"} |
package、version |
registry |
同上 | セマンティックバージョニング運用 | version 省略時は latest |
| npm — プライベートレジストリ | {"source":"npm","package":"@org/plugin","registry":"https://npm.example.com"} |
package、registry |
version |
プライベートレジストリの認証情報 | 社内 npm レジストリ | registry 省略時は npmjs.org |
| マーケットプレイスソース — GitHub | {"source":"github","repo":"owner/catalog"} |
repo |
ref |
同上 | marketplace.json 自体の取得先 |
sha は非対応。ref のみ |
| マーケットプレイスソース — hostPattern | {"source":"hostPattern","hostPattern":"^github\\.example\\.com$"} |
hostPattern |
— | 社内 Git 認証 | strictKnownMarketplaces のホスト許可ルール |
正規表現でホスト名をマッチ |
| マーケットプレイスソース — pathPattern | {"source":"pathPattern","pathPattern":"^/opt/approved/"} |
pathPattern |
— | 不要 | ファイルシステムベースのホワイトリスト |
sha と ref のピン留め戦略
github url git-subdir の各ソースでは ref(ブランチ / タグ)と sha(完全な 40 文字コミット SHA)の両方が指定可能です。特定リリースに固定したいなら sha を、最新追跡なら ref: main を選びます。マーケットプレイスソース側は ref のみ対応で sha は受け付けない非対称仕様であることに注意してください。これはマーケットプレイス側のメンテナンスを軽くするための設計です。
モノレポ向け git-subdir の活用
acme-corp/monorepo のように 1 つのリポジトリに大量の社内ツールが入っている場合、git-subdir を使うと Git のスパース部分クローンで指定ディレクトリだけ取得できます。500MB 級のモノレポでも、必要な数 MB のサブディレクトリだけを取得するため帯域消費が大幅に減ります。url フィールドは GitHub ショートハンド(owner/repo)または SSH URL も受け入れます。
大型表 3 — marketplace.json / plugin.json / SKILL.md 全フィールド一覧(20 行以上)
marketplace.json の全フィールド
| ファイル | フィールド | 必須/任意 | 型 | デフォルト | 用途・説明 | 値の例 |
|---|---|---|---|---|---|---|
| marketplace.json | name |
必須 | string | — | マーケットプレイス識別子(kebab-case) | "acme-tools" |
| marketplace.json | owner.name |
必須 | string | — | メンテナーまたはチームの名前 | "DevTools Team" |
| marketplace.json | owner.email |
任意 | string | — | メンテナーの連絡先メール | "dev@example.com" |
| marketplace.json | plugins |
必須 | array | — | 利用可能なプラグインのリスト | 後述 |
| marketplace.json | $schema |
任意 | string | — | エディタ補完用 JSON Schema URL | "https://..." |
| marketplace.json | description |
任意 | string | — | マーケットプレイスの簡潔な説明 | "社内開発ツール集" |
| marketplace.json | version |
任意 | string | — | マーケットプレイスマニフェストバージョン | "1.0.0" |
| marketplace.json | metadata.pluginRoot |
任意 | string | — | 相対プラグインソースパスの前置き基本ディレクトリ | "./plugins" |
| marketplace.json | allowCrossMarketplaceDependenciesOn |
任意 | array | — | 依存先として許可する他マーケットプレイスの一覧 | ["other-market"] |
marketplace.json プラグインエントリの全フィールド
| ファイル | フィールド | 必須/任意 | 型 | デフォルト | 用途・説明 | 値の例 |
|---|---|---|---|---|---|---|
| marketplace.json(plugins[]) | name |
必須 | string | — | プラグイン識別子(kebab-case) | "code-formatter" |
| marketplace.json(plugins[]) | source |
必須 | string|object | — | プラグイン取得先(前述の 5 種類) | "./plugins/formatter" |
| marketplace.json(plugins[]) | description |
任意 | string | — | プラグインの簡潔な説明 | "コード整形ツール" |
| marketplace.json(plugins[]) | version |
任意 | string | git SHA | バージョン文字列(変更時のみ更新検知) | "2.1.0" |
| marketplace.json(plugins[]) | author.name |
任意 | string | — | プラグイン作成者名 | "Dev Team" |
| marketplace.json(plugins[]) | author.email |
任意 | string | — | プラグイン作成者メール | "dev@example.com" |
| marketplace.json(plugins[]) | homepage |
任意 | string | — | プラグインホームページ URL | "https://docs.example.com" |
| marketplace.json(plugins[]) | repository |
任意 | string | — | ソースコードリポジトリ URL | "https://github.com/..." |
| marketplace.json(plugins[]) | license |
任意 | string | — | SPDX ライセンス識別子 | "MIT" |
| marketplace.json(plugins[]) | keywords |
任意 | array | — | 検索・分類用タグ | ["lint","format"] |
| marketplace.json(plugins[]) | category |
任意 | string | — | 整理用プラグインカテゴリ | "productivity" |
| marketplace.json(plugins[]) | tags |
任意 | array | — | 検索可能性用タグ | ["ci","automation"] |
| marketplace.json(plugins[]) | strict |
任意 | boolean | true |
plugin.json が権限か否かを制御 | false |
| marketplace.json(plugins[]) | skills |
任意 | string|array | skills/ |
skill ディレクトリへのカスタムパス | "./custom/skills/" |
| marketplace.json(plugins[]) | commands |
任意 | string|array | commands/ |
フラット .md スキルファイル/ディレクトリパス | ["./cmd1.md"] |
| marketplace.json(plugins[]) | agents |
任意 | string|array | agents/ |
エージェントファイルへのカスタムパス | "./agents/reviewer.md" |
| marketplace.json(plugins[]) | hooks |
任意 | string|array|object | hooks/hooks.json |
フック設定パスまたはインライン設定 | "./hooks.json" |
| marketplace.json(plugins[]) | mcpServers |
任意 | string|array|object | .mcp.json |
MCP 設定パスまたはインライン設定 | {"server":{"command":"..."}} |
| marketplace.json(plugins[]) | lspServers |
任意 | string|array|object | .lsp.json |
LSP 設定パスまたはインライン設定 | "./.lsp.json" |
plugin.json の全フィールド
| ファイル | フィールド | 必須/任意 | 型 | デフォルト | 用途・説明 | 値の例 |
|---|---|---|---|---|---|---|
| plugin.json | name |
必須 | string | — | 唯一の必須フィールド。スキル名前空間にも使われる | "deployment-tools" |
| plugin.json | $schema |
任意 | string | — | エディタ補完用 JSON Schema URL | "https://json.schemastore.org/..." |
| plugin.json | version |
任意 | string | git SHA | バージョン(設定するとピン留め、省略で git SHA) | "2.1.0" |
| plugin.json | description |
任意 | string | — | プラグインの目的の簡潔な説明 | "デプロイ自動化" |
| plugin.json | author.name |
任意 | string | — | 著者名 | "Dev Team" |
| plugin.json | author.email |
任意 | string | — | 著者メール | "dev@company.com" |
| plugin.json | author.url |
任意 | string | — | 著者 URL | "https://github.com/author" |
| plugin.json | homepage |
任意 | string | — | ドキュメント URL | "https://docs.example.com" |
| plugin.json | repository |
任意 | string | — | ソースコード URL | "https://github.com/user/plugin" |
| plugin.json | license |
任意 | string | — | ライセンス識別子 | "MIT"、"Apache-2.0" |
| plugin.json | keywords |
任意 | array | — | 検出タグ | ["deployment","ci-cd"] |
| plugin.json | skills |
任意 | string|array | skills/ |
カスタム skill ディレクトリ | "./custom/skills/" |
| plugin.json | commands |
任意 | string|array | commands/ |
カスタムコマンドファイル/ディレクトリ | "./custom/cmd.md" |
| plugin.json | agents |
任意 | string|array | agents/ |
カスタムエージェントファイル | "./agents/reviewer.md" |
| plugin.json | hooks |
任意 | string|array|object | hooks/hooks.json |
フック設定パスまたはインライン設定 | "./my-hooks.json" |
| plugin.json | mcpServers |
任意 | string|array|object | .mcp.json |
MCP 設定パスまたはインライン設定 | {"db":{"command":"..."}} |
| plugin.json | outputStyles |
任意 | string|array | output-styles/ |
カスタム出力スタイルファイル/ディレクトリ | "./styles/" |
| plugin.json | themes |
任意 | string|array | themes/ |
カラーテーマファイル/ディレクトリ | "./themes/" |
| plugin.json | lspServers |
任意 | string|array|object | .lsp.json |
LSP コード補完用設定 | "./.lsp.json" |
| plugin.json | monitors |
任意 | string|array | monitors/monitors.json |
バックグラウンドモニター設定 | "./monitors.json" |
| plugin.json | userConfig |
任意 | object | — | 有効化時にユーザーへプロンプトする設定値 | {"api_token":{"type":"string",...}} |
| plugin.json | channels |
任意 | array | — | Telegram/Slack 等メッセージ注入チャネル宣言 | [{"server":"telegram","userConfig":{...}}] |
| plugin.json | dependencies |
任意 | array | — | 依存する他プラグイン(semver 制約付き可) | [{"name":"helper","version":"~2.1.0"}] |
SKILL.md フロントマターの全フィールド
| ファイル | フィールド | 必須/任意 | 型 | デフォルト | 用途・説明 | 値の例 |
|---|---|---|---|---|---|---|
| SKILL.md | name |
任意 | string | ディレクトリ名 | スキルの表示名。小文字・数字・ハイフンのみ(最大 64 文字) | "quality-review" |
| SKILL.md | description |
推奨 | string | 本文の最初の段落 | スキルが何をするか・いつ使うか。Claude が自動呼び出しの判断に使う | "Review code for bugs" |
| SKILL.md | when_to_use |
任意 | string | — | 呼び出しタイミングの追加コンテキスト(トリガーフレーズなど) | "when asked to review" |
| SKILL.md | argument-hint |
任意 | string | — | オートコンプリート中に表示される引数ヒント | "[issue-number]" |
| SKILL.md | arguments |
任意 | string|array | — | $name 置換用の名前付き位置引数 |
"issue branch" |
| SKILL.md | disable-model-invocation |
任意 | boolean | false |
true でユーザーのみ呼び出し可(Claude の自動発動を防ぐ) |
true |
| SKILL.md | user-invocable |
任意 | boolean | true |
false で / メニューから非表示(Claude のみ呼び出し) |
false |
| SKILL.md | allowed-tools |
任意 | string|array | — | スキルがアクティブな場合に許可なしで使えるツール | "Bash(git add *) Bash(git commit *)" |
| SKILL.md | model |
任意 | string | セッション設定を継承 | スキルがアクティブな場合に使用するモデル | "claude-opus-4-7" |
| SKILL.md | effort |
任意 | string | セッション設定を継承 | 努力レベル(low/medium/high/xhigh/max) |
"high" |
| SKILL.md | context |
任意 | string | — | "fork" でフォークされたサブエージェントコンテキストで実行 |
"fork" |
| SKILL.md | agent |
任意 | string | general-purpose |
context: fork 時に使用するサブエージェントタイプ |
"Explore" |
| SKILL.md | hooks |
任意 | object | — | スキルのライフサイクルにスコープされたフック設定 | {"PostToolUse":[...]} |
| SKILL.md | paths |
任意 | string|array | — | 自動発動するファイルを Glob パターンで制限 | "**/*.ts,**/*.tsx" |
| SKILL.md | shell |
任意 | string | "bash" |
!`command` ブロックに使うシェル(bash or powershell) |
"powershell" |
5 種類のプラグインソース — 取得経路の詳細
前述の大型表 2 で全ソース種別を網羅しましたが、ここでは各ソースの設定 JSON 例を示します(出典: プラグインマーケットプレイスの作成と配布)。
GitHub ソース
{
"name": "deployment-tools",
"source": {
"source": "github",
"repo": "company/deploy-plugin",
"ref": "v2.0.0",
"sha": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"
}
}
ref は追跡対象のブランチ・タグ、sha は再現性のための正確なコミット固定です。どちらか一方のみでも動作します。
git-subdir ソース(モノレポ向け)
{
"source": {
"source": "git-subdir",
"url": "https://github.com/acme-corp/monorepo.git",
"path": "tools/claude-plugin",
"ref": "v2.0.0"
}
}
500MB 級のモノレポでも、必要な数 MB のサブディレクトリだけをスパースクローンします。url フィールドは owner/repo ショートハンドや git@github.com:... の SSH URL も受け入れます。
npm ソース
{
"name": "my-npm-plugin",
"source": {
"source": "npm",
"package": "@acme/claude-plugin",
"version": "^2.0.0",
"registry": "https://npm.example.com"
}
}
version は semver 範囲(^2.0.0、~1.5.0 等)が使えます。プライベートレジストリは registry で指定します。
自作マーケットプレイスの作成 — 最小 5 ステップ
最小構成で「Plugin 1 つを含むマーケットプレイス」を作る手順です。/quality-review という Skill を 1 つ持つ Plugin を例にします(出典: プラグインマーケットプレイスの作成と配布)。
# Step 1: ディレクトリ構造作成
mkdir -p my-marketplace/.claude-plugin
mkdir -p my-marketplace/plugins/quality-review-plugin/.claude-plugin
mkdir -p my-marketplace/plugins/quality-review-plugin/skills/quality-review
# Step 2: SKILL.md 作成
cat > my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md <<'EOF'
---
description: Review code for bugs, security, and performance
disable-model-invocation: true
---
Review the code I've selected or the recent changes.
EOF
# Step 3: plugin.json 作成
cat > my-marketplace/plugins/quality-review-plugin/.claude-plugin/plugin.json <<'EOF'
{
"name": "quality-review-plugin",
"description": "Adds a /quality-review skill for quick code reviews",
"version": "1.0.0"
}
EOF
# Step 4: marketplace.json 作成
cat > my-marketplace/.claude-plugin/marketplace.json <<'EOF'
{
"name": "my-plugins",
"owner": { "name": "Your Name" },
"plugins": [
{
"name": "quality-review-plugin",
"source": "./plugins/quality-review-plugin",
"description": "Adds a /quality-review skill for quick code reviews"
}
]
}
EOF
# Step 5: ローカルテスト → 共有
# /plugin marketplace add ./my-marketplace
# /plugin install quality-review-plugin@my-plugins
GitHub にプッシュすればチームメンバーは /plugin marketplace add owner/my-marketplace でカタログを取り込めます。
バージョン解決の落とし穴
plugin.json または marketplace エントリの version フィールドを設定すると、そのバージョン文字列が変わらない限り Claude Code は更新を検知しません。"version": "1.0.0" のまま新しいコミットをプッシュしても、ユーザー側はキャッシュ済みの古いコードを使い続けます。回避策は、(1) 全リリースで version をバンプするか、(2) version フィールドを削除して Git コミット SHA を自動バージョン代わりにするかの 2 択です。社内ツールで全員に最新を即配布したいなら (2) を選びます。
厳格モード(strict)と組織配布
strict: true / false の動作
marketplace.json のプラグインエントリには strict フィールドがあり、コンポーネント定義の権限を plugin.json 側にするかマーケットプレイスエントリ側にするかを制御します(出典: プラグインマーケットプレイスの作成と配布)。
| 値 | 動作 | 主用途 |
|---|---|---|
true(デフォルト) |
plugin.json が権限。マーケットプレイスエントリは追加で skills や hooks を上乗せできる |
プラグイン作成者が自身でメンテ |
false |
マーケットプレイスエントリが完全な定義。プラグイン側の plugin.json がコンポーネント宣言を持つと競合エラー |
マーケットプレイスオペレーターがキュレーション |
strict: false を使うと、マーケットプレイス側が生ファイルを Plugin 化する際にコンポーネント構成を完全制御できます。プラグイン作者の意図と異なる切り口で公開したい場面に有効です。
組織配布 — strictKnownMarketplaces の全構成例
社内向けにマーケットプレイスをデフォルト導入・外部追加禁止で運用するには、管理設定 .claude/settings.json で 2 つの設定を組み合わせます(出典: プラグインマーケットプレイスの作成と配布)。
{
"extraKnownMarketplaces": {
"company-tools": {
"source": { "source": "github", "repo": "your-org/claude-plugins" }
}
},
"enabledPlugins": {
"code-formatter@company-tools": true,
"deployment-tools@company-tools": true
},
"strictKnownMarketplaces": [
{ "source": "github", "repo": "your-org/claude-plugins" },
{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" },
{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }
]
}
strictKnownMarketplaces の値と動作の対応は下表の通りです。
| 値 | 動作 |
|---|---|
| 未定義(デフォルト) | 制限なし。ユーザーは任意のマーケットプレイスを追加できる |
空配列 [] |
完全ロックダウン。新規マーケットプレイスの追加を完全に禁止 |
| ソースのリスト | ホワイトリストと正確に一致するマーケットプレイスのみ追加可 |
hostPattern で GitHub Enterprise Server のホスト名を正規表現マッチさせれば、ドメイン全体を許可できます。プライベートリポジトリの自動更新には環境変数 GITHUB_TOKEN / GITLAB_TOKEN / BITBUCKET_TOKEN をセットしてバックグラウンド認証を有効にします。
コンテナ事前シードと環境変数
CI / 本番コンテナでは CLAUDE_CODE_PLUGIN_SEED_DIR 環境変数で事前シードしたディレクトリを指定できます。ビルド時に ~/.claude/plugins 構造を一度作っておけば、ランタイムは読み取り専用で利用できます。エアギャップ環境やオフライン CI に必須の機構です。また CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 を設定すると、git pull 失敗時に既存キャッシュを保持し最後の正常状態で継続します。Git 操作のタイムアウトは CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS で調整できます(デフォルト 120,000ms)。
まとめ — claude code marketplace 運用の判断基準
Claude Code Marketplace は Plugin と Skill を配布する 3 階層カタログ機構で、Git リポジトリと marketplace.json だけで成立する軽量設計です。公式マーケットプレイスには LSP・MCP・ワークフロー等のプラグインが 20 本以上揃い、/plugin install <名前>@claude-plugins-official で即導入できます。独自マーケットプレイスを作る際は marketplace.json・plugin.json・SKILL.md の 3 ファイルを理解し、ソース種別は相対パス / github / url / git-subdir / npm の 5 択から用途に応じて選びます。モノレポには git-subdir、npm 管理には npm ソース、シンプルな OSS 配布には github ソースが適切です。組織配布では extraKnownMarketplaces でチームに自動提供し、strictKnownMarketplaces でセキュリティポリシーを担保する組み合わせが定石です。バージョン管理は version フィールドを省略して git SHA に任せると積極開発中のプラグインで余計な作業が減ります。
出典(一次情報)
- プラグインマーケットプレイスの作成と配布(Claude Code 公式ドキュメント)
- 既成プラグインの検出とインストール(Claude Code 公式ドキュメント)
- プラグインの作成(Claude Code 公式ドキュメント)
- プラグインリファレンス(Claude Code 公式ドキュメント)
- スキルで Claude を拡張する(Claude Code 公式ドキュメント)
- anthropics/claude-code プラグイン一覧(GitHub)