plugin-marketplace-creator

Wonderplanet's avatarfrom Wonderplanet

Plugin Marketplace構造を対話的に生成し、marketplace.json、plugin.json、ディレクトリ構造を自動作成するスキル。Use when users mention "plugin marketplace", "marketplace作成", "プラグインカタログ", "複数のプラグインを管理", "チーム向けプラグイン配布", or need to create marketplace.json/plugin.json files. Also use when users want to organize multiple Claude Code plugins for distribution.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 10, 2026⬇️2downloads

When & Why to Use This Skill

The Plugin Marketplace Creator is a specialized Claude skill designed to automate the setup and management of Claude Code plugin marketplaces. It interactively generates essential configuration files like marketplace.json and plugin.json, establishes standardized directory structures, and provides built-in validation to ensure compatibility with the Claude ecosystem. This tool significantly reduces the manual overhead for developers and teams looking to organize, package, and distribute custom agentic skills and tools.

Use Cases

  • Internal Tooling Distribution: Setting up a centralized, private plugin catalog for engineering teams to share and manage custom Claude skills across the organization.
  • Automated Configuration Management: Generating schema-compliant marketplace.json and plugin.json files through an interactive dialogue to avoid manual syntax errors.
  • Marketplace Initialization: Rapidly scaffolding the directory structure for a new plugin repository, including README templates and .gitignore files.
  • Plugin Validation: Using integrated bash commands to verify that marketplace structures meet official requirements before deployment or sharing.
  • Team Collaboration: Organizing multiple disparate Claude Code plugins into a single, manageable marketplace for easier team-wide updates and version control.
nameplugin-marketplace-creator
descriptionPlugin Marketplace構造を対話的に生成し、marketplace.json、plugin.json、ディレクトリ構造を自動作成するスキル。Use when users mention "plugin marketplace", "marketplace作成", "プラグインカタログ", "複数のプラグインを管理", "チーム向けプラグイン配布", or need to create marketplace.json/plugin.json files. Also use when users want to organize multiple Claude Code plugins for distribution.

Plugin Marketplace Creator

Overview

このスキルは、Claude Code Plugin Marketplaceの完全な構造を対話的に生成します。marketplace.json、個別のplugin.json、推奨ディレクトリ構造、テンプレートファイルを自動作成し、claude plugin validateでの検証までサポートします。

Workflow Decision Tree

ユーザーの要求に応じて適切なワークフローを選択します:

ユーザーの要求
├─ 新規Marketplace作成 → Full Workflow (Step 1-5)
├─ 既存Marketplaceにプラグイン追加 → Step 3-5
├─ 既存ツールとの連携 → Integration Workflow
└─ 設定ファイルのみ生成 → Step 4-5

Step 1: Initialize Marketplace Structure

1-1. 基本情報の収集

AskUserQuestionツールを使用して、以下の情報を対話的に収集します:

質問1: Marketplace名

  • Header: "Marketplace名"
  • Question: "Marketplaceの名前を指定してください(kebab-case形式)"
  • Options:
    • Label: "company-tools", Description: "企業ツール向け(推奨)"
    • Label: "team-plugins", Description: "チーム向けプラグイン"
    • Label: "project-marketplace", Description: "プロジェクト固有"

質問2: 配置ディレクトリ

  • Header: "配置先"
  • Question: "Marketplaceを作成するディレクトリを指定してください"
  • Options:
    • Label: "./my-marketplace", Description: "カレントディレクトリ配下(推奨)"
    • Label: "../claude-marketplace", Description: "親ディレクトリ"
    • Label: "~/.claude/marketplaces/", Description: "グローバルmarketplace"

1-2. ディレクトリ構造の作成

scripts/init_marketplace.pyを実行してディレクトリ構造を作成します:

python3 ${CLAUDE_SKILL_ROOT}/scripts/init_marketplace.py <marketplace-name> --path <output-directory>

生成される構造:

my-marketplace/
├── .claude-plugin/
│   └── marketplace.json
├── plugins/
│   └── .gitkeep
├── README.md
└── .gitignore

Step 2: Configure Marketplace Metadata

2-1. オーナー情報の収集

AskUserQuestionツールで収集:

質問1: オーナー名

  • Header: "Owner"
  • Question: "Marketplaceのメンテナー名を入力してください"
  • Options:
    • Label: "DevTools Team", Description: "開発チーム名"
    • Label: "Engineering", Description: "エンジニアリング部門"
    • Label: "個人名", Description: "個人メンテナー"

質問2: メールアドレス(オプション)

  • Header: "Email"
  • Question: "メンテナーのメールアドレスを入力しますか?"
  • Options:
    • Label: "入力する", Description: "team@example.com形式"
    • Label: "スキップ", Description: "メールアドレスなし"

2-2. メタデータ設定(オプション)

質問: メタデータ追加

  • Header: "Metadata"
  • Question: "追加のメタデータを設定しますか?"
  • Options:
    • Label: "はい", Description: "description, version, pluginRoot等を設定"
    • Label: "いいえ", Description: "最小限の設定のみ"

メタデータを追加する場合:

  • description: Marketplaceの説明(1-2文)
  • version: セマンティックバージョン(例: 1.0.0)
  • pluginRoot: プラグインのルートディレクトリ(推奨: ./plugins)

Step 3: Add Plugins

3-1. プラグイン追加方法の選択

質問: プラグイン追加方法

  • Header: "プラグイン追加"
  • Question: "プラグインをどのように追加しますか?"
  • MultiSelect: true
  • Options:
    • Label: "対話的に追加", Description: "1つずつ情報を入力"
    • Label: "既存プラグインをインポート", Description: "既存のplugin.jsonから読み込み"
    • Label: "新規作成と連携", Description: "/claude-code:create-*コマンドを使用"

3-2. プラグイン情報の収集

各プラグインについて以下を収集:

必須フィールド:

  • name: プラグイン名(kebab-case)
  • source: ソースタイプ
    • 相対パス: "./plugins/plugin-name"
    • GitHub: {"source": "github", "repo": "owner/repo"}
    • Git URL: {"source": "url", "url": "https://..."}

オプションフィールド:

  • description: プラグインの説明
  • version: バージョン番号
  • author: 作成者情報
  • homepage: ドキュメントURL
  • repository: リポジトリURL
  • license: ライセンス(例: MIT, Apache-2.0)
  • keywords: 検索キーワード配列
  • category: カテゴリー(例: productivity, devops)
  • tags: タグ配列
  • strict: true(デフォルト)または false

3-3. プラグイン追加の繰り返し

質問: 追加のプラグイン

  • Header: "追加"
  • Question: "別のプラグインを追加しますか?"
  • Options:
    • Label: "はい", Description: "さらにプラグインを追加"
    • Label: "いいえ", Description: "完了"

Step 4: Generate Configuration Files

4-1. marketplace.jsonの生成

scripts/generate_marketplace.pyを実行:

python3 ${CLAUDE_SKILL_ROOT}/scripts/generate_marketplace.py \
  --name <marketplace-name> \
  --owner-name "<owner-name>" \
  --owner-email "<owner-email>" \
  --plugins <plugins-json> \
  --output <output-path>

生成されるmarketplace.jsonはreferences/marketplace-schema.mdのスキーマに準拠します。

4-2. 個別plugin.jsonの生成

各プラグインについて、scripts/generate_plugin.pyを実行:

python3 ${CLAUDE_SKILL_ROOT}/scripts/generate_plugin.py \
  --name <plugin-name> \
  --description "<description>" \
  --version <version> \
  --output <plugin-directory>/.claude-plugin/plugin.json

4-3. テンプレートファイルの配置

以下のテンプレートをassets/templates/からコピー:

  • README.md → プロジェクトルート
  • .gitignore → プロジェクトルート

Step 5: Validate Marketplace

5-1. 自動検証の実行

Bashツールを使用して検証:

cd <marketplace-directory>
claude plugin validate .

または:

cd <marketplace-directory>
/plugin validate

5-2. 検証結果の確認

検証で確認される項目:

  • ✅ marketplace.jsonのJSON構文
  • ✅ 必須フィールドの存在(name, owner, plugins)
  • ✅ プラグインソースパスの存在確認
  • ✅ plugin.jsonの構文(strict: trueの場合)
  • ✅ 命名規則(kebab-case)

5-3. エラー修正

検証エラーが発生した場合:

  1. エラーメッセージを分析
  2. 該当箇所を修正
  3. 再度検証を実行

Integration with Existing Tools

/claude-code:create-skillとの連携

新しいスキルを作成してmarketplaceに追加:

# Step 1: スキル作成
/claude-code:create-skill <skill-description>

# Step 2: スキルをmarketplaceに追加
# このスキルを再度呼び出して、作成されたスキルをプラグインとして追加

/claude-code:create-commandとの連携

新しいコマンドを作成してmarketplaceに追加:

# Step 1: コマンド作成
/claude-code:create-command <command-description>

# Step 2: コマンドをmarketplaceに追加

/claude-code:create-subagentとの連携

新しいsubagentを作成してmarketplaceに追加:

# Step 1: subagent作成
/claude-code:create-subagent <subagent-description>

# Step 2: subagentをmarketplaceに追加

詳細はreferences/integration-guide.mdを参照してください。

Best Practices

予約済み名を避ける

以下のmarketplace名は使用できません:

  • claude-code-marketplace
  • claude-code-plugins
  • claude-plugins-official
  • anthropic-marketplace
  • anthropic-plugins
  • agent-skills
  • life-sciences

プラグイン命名規則

  • kebab-caseのみ使用
  • 小文字と数字、ハイフンのみ
  • 最大64文字
  • 例: code-formatter, deploy-tools, security-scanner

pluginRootの活用

多数のプラグインを管理する場合、metadata.pluginRootを設定して相対パスを簡潔化:

{
  "metadata": {
    "pluginRoot": "./plugins"
  },
  "plugins": [
    {
      "name": "formatter",
      "source": "formatter"  // "./plugins/formatter"と解釈される
    }
  ]
}

${CLAUDE_PLUGIN_ROOT}変数の使用

プラグイン内のパス指定には必ず${CLAUDE_PLUGIN_ROOT}を使用:

{
  "mcpServers": {
    "db-server": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server"
    }
  }
}

Resources

scripts/

  • init_marketplace.py: Marketplaceディレクトリ構造を初期化
  • generate_marketplace.py: marketplace.jsonを生成
  • generate_plugin.py: plugin.jsonを生成

references/

  • marketplace-schema.md: marketplace.jsonの完全なスキーマ仕様
  • plugin-schema.md: plugin.jsonのスキーマ仕様
  • integration-guide.md: 既存ツールとの連携方法

assets/templates/

  • marketplace.json: Marketplaceテンプレート
  • plugin.json: Pluginテンプレート
  • README.md: プロジェクトREADMEテンプレート
  • .gitignore: .gitignoreテンプレート