🎁

Claude Codeのマーケットプレイスを自作し、チーム内でカスタムコマンド、エージェント、フック、MCPサーバ設定を共有してみた

に公開

この記事は人力で書きました。

はじめに

この記事は、2025/10/10にリリースされたClaude Code2.0.12以降に利用が可能となった、
プラグインのマーケットプレイスを自作し導入するための記事です。

公式のブログ記事を、まずはご確認ください。
https://www.anthropic.com/news/claude-code-plugins

個人的に待ち望んでいた機能であり、以前自作で類似した機能を作っていました。

当社カンリーでも早速導入してみたので、手順を記事として公開します。

想定読者

  • Claude Codeで、カスタムコマンドやサブエージェント等を使っている方
  • 上記設定をチーム内で手軽に共有や共通化したい方

用語解説

  • プラグイン
    • カスタムコマンド、サブエージェント、フック、MCPサーバ設定を定義できる
    • プラグインのインストールコマンドを打つことで、即座に上記設定を導入可能
  • マーケットプレイス
    • チームやコミュニティに、上記プラグインを配布することができる機能

導入メリット

  1. 自分のClaude Code設定をバージョン管理しやすい
  2. Claude Code設定をチームやパブリックに公開・共有できる
  3. チーム設定を簡単に統一できる

作成手順

1. マーケットプレイスリポジトリの作成

まずはGitHubでリポジトリを作ります。
今回はclaude-code-marketplaceという空のリポジトリを作成しましょう。

GitHubにアクセスし、Repositories→Newで作成します。

2. ローカル環境の作成

今回は、せっかくなので構築自体もClaude Codeのプロンプトで実装してみます。
もちろんサンプルコードも貼りますので、記事内のコピペでも構築できます。

$ git clone git@github.com:{organization_name}/claude-code-marketplace.git
$ cd claude-code-marketplace

3. README.md, CLAUDE.mdの作成

$ claude

> やり取りは日本語で行うことを明記し、それ以外に余計な情報は入れない./CLAUDE.mdを作成して
CLAUDE.md
# 指示

やり取りは日本語で行うこと。

READMEには参考資料を記載します。
プラグイン系のドキュメントはまだ日本語化されていないので、英語版を貼ります。

> README.mdを作成して。このリポジトリは、Claude Codeのプラグインを自社内で配布するためのマーケットプレイスであることを記載して。また、参考資料として以下ドキュメントも記載して
https://docs.claude.com/en/docs/claude-code/plugins
https://docs.claude.com/en/docs/claude-code/plugins-reference
https://docs.claude.com/en/docs/claude-code/plugin-marketplaces
https://docs.claude.com/ja/docs/claude-code/slash-commands
https://docs.claude.com/ja/docs/claude-code/sub-agents
https://docs.claude.com/ja/docs/claude-code/mcp
https://docs.claude.com/ja/docs/claude-code/hooks-guide

4. 作業計画書の作成

作業中にauto-compactが入って必要なコンテキストが失われないよう、作業計画書を作ります。
今回は記事内の説明を省略するために、一度のプロンプトで全ての情報を与えています。

> 作業計画書ファイルを作成して。ただしこのファイルは最終的にgitリポジトリにcommitしないで。

pluginsディレクトリ配下にチームメンバー各自でディレクトリを分けた、マーケットプレイスを作成する。最終的には`/plugin install {member_name}@{marketplace-name}`でインストールできるようにする。

まず、READMEに書かれたプラグインおよびマーケットプレイス関連のドキュメントにのみアクセスし、仕様を理解すること。

次に、CLAUDE.mdとREADME.mdで重複が無いように気をつけながら、マーケットプレイスの構築およびメンテナンスに必要な情報を記載すること。

次に本リポジトリにおけるディレクトリ構造を検討し、READMEに記載すること。

最後にmember_name:"sample"としてディレクトリを作成し、
「hello world」を出力するシンプルなカスタムコマンド、コードレビュー用のシンプルなサブエージェントを作成すること。

各工程ごとに必ず参考資料のドキュメントを参照し、正しく動作するファイルを作成することを心がけること。

上記プロンプトで、ファイルが作成されます。
とはいえ、ディレクトリ構造や定義ファイルの書き方等が間違って出力されることがあるので、
その場合は都度ドキュメントを渡し直したり軌道修正指示をします。

5. Claude Codeにまかせて実装

最低限の実装例は以下の通りです。
Claude Codeで出力されたファイルが以下のようになっていればOKです。

ディレクトリ構造

.
├── .claude-plugin/
│   └── marketplace.json       # マーケットプレイスのメタデータ
├── plugins/                   # プラグインディレクトリ
│   └── sample/                # 各メンバーのプラグインディレクトリ
│       ├── .claude-plugin/
│       │   └── plugin.json    # プラグインのメタデータ
│       ├── commands/          # カスタムスラッシュコマンド(.mdファイル)
│       └── agents/            # サブエージェント(.mdファイル)
└── README.md
.claude-plugin/marketplace.json
{
  "name": "claude-code-marketplace",
  "owner": {
    "name": "{organization_name}",
    "url": "https://github.com/{organization_name}/claude-code-marketplace"
  },
  "description": "Claude Codeプラグインマーケットプレイス",
  "plugins": [
    {
      "name": "sample",
      "version": "1.0.0",
      "description": "サンプルプラグイン - hello worldコマンド、コードレビューエージェント",
      "author": {
        "name": "Sample User"
      },
      "source": "./plugins/sample"
    }
  ]
}
plugins/sample/.claude-plugin/plugin.json
{
  "name": "sample",
  "version": "1.0.0",
  "description": "サンプルプラグイン - hello worldコマンド、コードレビューエージェント、完了フック、Chrome DevTools MCP",
  "author": {
    "name": "Sample User"
  }
}
plugins/sample/commands/hello.md
---
description: Hello Worldを出力するシンプルなコマンド
---

Hello World!
plugins/sample/agents/code-reviewer.md
---
name: code-reviewer
description: コードレビューを行うシンプルなサブエージェント
tools: Read, Grep, Bash
---

あなたはコードレビューを専門とするエージェントです。

以下の観点でコードをレビューしてください:

1. **コードの品質**
   - 可読性と保守性
   - 命名規則の適切性
   - コメントの充実度

2. **潜在的な問題**
   - バグやエラーの可能性
   - パフォーマンスの問題
   - セキュリティ上の懸念

3. **ベストプラクティス**
   - 言語固有のベストプラクティスに従っているか
   - デザインパターンの適切な使用
   - テストカバレッジ

4. **改善提案**
   - リファクタリングの提案
   - より良い実装方法の提示

レビュー結果は以下の形式で出力してください:

## コードレビュー結果

### 良い点
- 箇条書きで記載

### 改善が必要な点
- 箇条書きで記載(深刻度: 高/中/低)

### 具体的な修正案
- コード例を含めて提示

丁寧で建設的なフィードバックを心がけてください。

6. 動作確認

まずは、マーケットプレイスを追加します。

/plugin marketplace add ./
/plugin marketplace list 
⎿  Configured marketplaces:
    • claude-code-marketplace

次に、プラグインをインストールします。

/plugin install sample@claude-code-marketplace
> /plugin 
 ❯ 1. Browse & install plugins    
│ ❯ claude-code-marketplace
   1 plugin available · 1 already installed · /path/to/claude-code-marketplace

最後に、プラグインが有効に機能しているか確認します。
まずはClaude Codeを再起動しましょう。その後、コマンドで確認します。

/sample:hello
# コマンドが表示されればOK

/agents
# sample:code-reviewer · sonnetが表示されればOK

7. メンバーへの配布

チームメンバーに共有する際、主に2つの方法があります。

1. git cloneしてローカルで設定

メンバー自身もプラグインを追加・編集する可能性がある場合は、こちらの手順がオススメです。
今回の記事で示した通り、以下コマンドで導入が可能です。

$ git clone git@github.com:{organization_name}/claude-code-marketplace.git
$ cd claude-code-marketplace
$ claude
/plugin marketplace add ./
/plugin install sample@claude-code-marketplace

2. リポジトリから直接設定

メンバーがread-onlyでよければgit cloneする手間が省けるので、以下手順の方が手軽です。

/plugin marketplace add {organization_name}/claude-code-marketplace
/plugin install sample@claude-code-marketplace

8. マーケットプレイスおよびプラグインの更新方法

ローカルでマーケットプレイスやプラグインを更新した場合、反映させるコマンドを叩きます。

マーケットプレイスの更新

プラグイン定義の追加/削除等を行った場合、
/plugin→Manage marketplaces→{marketplace_name}→Update marketplace
でマーケットプレイスが更新されます。

プラグインの更新

プラグインの中身を変更した場合、
/plugin→Manage & uninstall plugins→{plugin_name}→Update now
でプラグインが更新されます。

最後に

今回は、Claude Codeのプラグインおよびマーケットプレイスの導入について解説しました。
これは単なる機能拡張ではなく、Claude Codeコミュニティがさらに広がる大きな変化と感じています。

当社カンリーでも早速導入し、チーム内の知見を共有できる状態にしていきます。

カンリーテックブログ

Discussion