Claude Code Marketplace の構造と作成

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 制御まで、自分でマーケットプレイスを作る・運用する観点で網羅しています。

この記事の要約powered by Claude

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 階層構造の全体像

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 refsha Public は不要 / Private は GITHUB_TOKEN GitHub 公開・OSS 配布 ref はブランチ/タグ、sha は 40 文字コミット SHA
Git URL {"source":"url","url":"https://..."} url refsha Private は各種トークン GitLab・Azure DevOps 等 非 GitHub ホスト .git サフィックス任意。SSH URL も可
git-subdir {"source":"git-subdir","url":"...","path":"tools/..."} urlpath refsha Private は各種トークン モノレポ内の特定ディレクトリのみ取得 スパースクローンで帯域節約
npm {"source":"npm","package":"@org/plugin"} package versionregistry Private レジストリは .npmrc npm パッケージとして配布 version は semver 範囲可(^2.0.0 等)
GitHub — ブランチ固定 {"source":"github","repo":"owner/repo","ref":"v2.0.0"} reporef sha 同上 タグ/ブランチを固定して安定版を配布 ref のみ変更で最新追跡も可
GitHub — コミット固定 {"source":"github","repo":"owner/repo","sha":"a1b2c3..."} reposha ref 同上 完全再現性が必要な本番環境 40 文字 SHA でキャッシュキーが固定
Git URL — ブランチ固定 {"source":"url","url":"https://...","ref":"main"} urlref sha 同上 非 GitHub ホストで最新追跡
Git URL — SSH {"source":"url","url":"git@gitlab.com:org/repo.git"} url refsha SSH エージェント(ssh-agent) SSH 接続が要件の環境 known_hosts にホスト登録必須
git-subdir — ブランチ固定 {"source":"git-subdir","url":"...","path":"...","ref":"v2"} urlpathref sha 同上 モノレポ + タグ固定
git-subdir — GitHub ショートハンド {"source":"git-subdir","url":"owner/repo","path":"..."} urlpath refsha 同上 owner/repo 形式でも書ける SSH URL(git@github.com:...)も可
npm — バージョン固定 {"source":"npm","package":"@org/plugin","version":"2.1.0"} packageversion registry 同上 セマンティックバージョニング運用 version 省略時は latest
npm — プライベートレジストリ {"source":"npm","package":"@org/plugin","registry":"https://npm.example.com"} packageregistry 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 に任せると積極開発中のプラグインで余計な作業が減ります。

出典(一次情報)

関連記事

参考になったら ♡
Clauder Navi 編集部
@clauder_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。