社内 Claude Code Plugin マーケットプレイスで別リポジトリのプラグインを参照・配布する

社内 Claude Code Plugin マーケットプレイスで別リポジトリのプラグインを参照・配布する

2026.03.13

Claude Code の Plugin マーケットプレイスを使うと、チーム内でスキルや MCP サーバーをまとめて配布できます。

しかし、1つのマーケットプレイスリポジトリにすべてのプラグインを同居・集約していくと、管理が煩雑になりがちです。 ドメインやカテゴリが異なるプラグインが混在し、メンテナーの責任範囲も曖昧になります。

調べたところ、 marketplace.jsonsource フィールドで外部リポジトリを参照できるとのこと。 これだとリポジトリを分離したまま、単一マーケットプレイス経由でプラグインを配布できます。

本記事では、この仕組みを使って別リポジトリのスキルを 社内マーケットプレイスから配布する方法を紹介します。

Claude Code プラグインとマーケットプレイス

Claude Code の プラグイン は、スキル・MCP サーバー・フック・エージェント・コマンドなどを パッケージとしてまとめて配布する仕組みです。

プラグインの基本構成は以下のとおりです。

プラグインの基本構成
my-plugin/
├── .claude-plugin/
│   └── plugin.json       # プラグイン定義(名前・説明・バージョン)
├── skills/               # スキル
├── agents/               # エージェント
├── commands/             # コマンド
├── hooks/                # フック
└── .mcp.json             # MCP サーバー設定

マーケットプレイス は、複数のプラグインをカタログ(目録)として一覧管理・配布するための仕組みです。 マーケットプレイス自体はプラグインの中身を持たず、「どのプラグインがどこにあるか」を指し示すだけです。 .claude-plugin/marketplace.json にプラグイン一覧を定義します。 利用者は /plugin marketplace add からマーケットプレイスを登録して、 /plugin install で個別プラグインをインストールできます。

別リポジトリのプラグインを参照する

marketplace.jsonplugins 配列では、各プラグインの source フィールドでソースの場所を指定します。 同一リポジトリ内の相対パス( "./" )だけでなく、外部リポジトリを指す複数のソースタイプがサポートされています。

サポートされているソースタイプは以下のとおりです(公式ドキュメント)。

ソース 説明
相対パス string マーケットプレイスリポジトリ内のディレクトリ("./"
github object GitHub リポジトリ(owner/repo 形式)
url object Git リポジトリ URL(.git 終端)
git-subdir object Git リポジトリ内のサブディレクトリ
npm object npm パッケージ
pip object pip パッケージ

例えば url ソースを使うと、HTTPS 経由で外部リポジトリを参照できます。 以下 GitHub の例です。

urlソースの設定例
{
  "name": "my-external-plugin",
  "description": "External plugin from another repository",
  "source": {
    "source": "url",
    "url": "https://github.com/{owner}/{repo}.git"
  }
}

refsha フィールドで特定のブランチ・タグ・コミットに固定することもできます。 (デフォルトはリポジトリのデフォルトブランチ)

実際にやってみた

以下の2つのリポジトリを使って、 別リポジトリのスキルをマーケットプレイス経由で配布してみます。

リポジトリ 役割
sample-cc-marketplace マーケットプレイス本体。ユーザーが登録するのはこれだけ
sample-cc-plugin 外部プラグイン(サンプルスキル1つ入り)

プラグインリポジトリの設定

まず、外部プラグイン側の sample-cc-plugin リポジトリにプラグイン構造を追加します。

sample-cc-pluginのディレクトリ構造
sample-cc-plugin/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    └── joke/
        └── SKILL.md

plugin.json でプラグインの名前と説明を定義します。

.claude-plugin/plugin.json
{
  "name": "sample-tools-from-other-repo",
  "description": "Sample Claude Code skill plugin",
  "version": "1.0.0"
}

SKILL.md でスキルの内容を記述します。今回はシンプルにジョークを言うスキルを作りました。

skills/joke/SKILL.md
---
description: Tell the user a funny joke
---

Tell the user a light-hearted, funny joke to brighten their day.

マーケットプレイス側の設定

次に、マーケットプレイス側の sample-cc-marketplace リポジトリにて、 marketplace.json へ外部リポジトリの参照を追加します。

plugins 配列に source: url エントリを追加し、HTTPS の Git URL を指定します。

.claude-plugin/marketplace.json
{
  "name": "sample-marketplace",
  "owner": { "name": "{owner-name}" },
  "plugins": [
    {
      "name": "sample-tools-from-other-repo",
      "description": "Sample plugin from external repository (sample-cc-plugin)",
      "source": {
        "source": "url",
        "url": "https://github.com/{owner}/sample-cc-plugin.git"
      }
    }
  ]
}

インストールして使ってみる

Claude Code を起動して /plugin を実行後、 [Marketplaces > + Add Marketplace] を選択します。

sc-2026-03-13_07-26086
Marketplacesタブから「+ Add Marketplace」を選択

マーケットプレイスのURL( https://github.com/{owner}/{repo} )を記載してEnterを押下します。

sc-2026-03-13_07-21699
マーケットプレイスリポジトリのURLを入力

これでマーケットプレイスの登録ができました。 ブラウズ ( Browse plugins )してみます。 プラグインリポジトリのツール ( sample-tools-from-other-repo )を確認できました。

sc-2026-03-13_07-19380
Discoverタブで外部リポジトリのプラグインが表示された

導入後、スキル実行も確認できました。

sc-2026-03-13_07-11355
外部プラグインのjokeスキルを実行した結果

おわりに

複数リポジトリでマーケットプレイスとプラグインを構成してみました。 今回は url ソースを使いましたが、 githubgit-subdir ソースでも外部リポジトリを参照できます。

少人数であれば単一リポジトリ運用でも問題ないと思いますが、 ある程度の規模になってきたときはリポジトリを分け、 ドメインやカテゴリごとにプラグインを管理するのが良い気がしました。 それぞれのリポジトリにメンテナーを割り当てることで、責任範囲が明確になります。

リポジトリ例 役割 メンテナー
マーケットプレイス本体 marketplace.json にてカタログ管理 マケプレ管理チーム
プリセ・提案支援プラグイン プリセ・提案で役立つスキルやコマンドを開発 プリセが強いチーム
Terraform 支援プラグイン Terraform コーディングで役立つスキルやコマンドを開発 Terraformが強いチーム
執筆支援プラグイン 執筆で役立つスキルやコマンドを開発 たくさん執筆しているチーム
... ... ...

以上、参考になれば幸いです。

参考

この記事をシェアする

FacebookHatena blogX

関連記事