plugin-marketplace-creator | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / plugin-marketplace-creator

plugin-marketplace-creator

maintained by jbdamask

star 2 account_tree 0 verified_user MIT License
bolt View GitHub

name: plugin-marketplace-creator description: Create and configure Claude Code plugin marketplaces hosted on GitHub. Use this skill when users want to set up a new plugin marketplace repository, add plugins to an existing marketplace, configure team distribution settings, or troubleshoot marketplace issues. Triggers include "create a plugin marketplace", "set up a marketplace on GitHub", "add plugins to my marketplace", "configure marketplace for my team", or "distribute Claude Code plugins".

Plugin Marketplace Creator

Create Claude Code plugin marketplaces—catalogs that distribute plugins to teams and communities via GitHub.

Quick Start

  1. Run scripts/init_marketplace.py <name> --path <output-dir> to scaffold
  2. Edit .claude-plugin/marketplace.json to add plugins
  3. Push to GitHub
  4. Users install via /plugin marketplace add owner/repo

Marketplace Structure

marketplace-repo/
├── .claude-plugin/
│   └── marketplace.json    # Required: marketplace definition
├── plugins/                 # Optional: local plugins
│   └── my-plugin/
│       └── .claude-plugin/
│           └── plugin.json
└── README.md

Plugin Structure with Skills

Plugins containing skills should have this structure:

plugins/my-plugin/
├── .claude-plugin/
│   └── plugin.json      # NO "skills" field - skills are auto-discovered
└── skills/
    └── my-skill/
        └── SKILL.md

Important: Do NOT add a skills field to plugin.json. Skills are automatically discovered from the skills/ directory.

Marketplace JSON Schema

Required Fields

{
  "name": "marketplace-name",
  "owner": {
    "name": "Team Name",
    "email": "team@example.com"
  },
  "plugins": []
}

Optional Metadata

{
  "metadata": {
    "description": "Brief description",
    "version": "1.0.0",
    "pluginRoot": "./plugins"
  }
}

Reserved Names (cannot use)

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

Plugin Entry Schema

Field Type Required Description
name string Yes Kebab-case identifier
source string|object Yes Where to fetch plugin
description string No Brief description
version string No Semantic version
author object No {name, email}
category string No For organization
keywords array No Search tags
strict boolean No Require plugin.json (default: true)

Source Types

Local path:

{"source": "./plugins/my-plugin"}

GitHub:

{"source": {"source": "github", "repo": "owner/repo"}}

Git URL:

{"source": {"source": "url", "url": "https://gitlab.com/team/plugin.git"}}

Complete Example

{
  "name": "company-tools",
  "owner": {
    "name": "DevTools Team",
    "email": "devtools@company.com"
  },
  "metadata": {
    "description": "Internal development tools",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "code-formatter",
      "source": "./plugins/formatter",
      "description": "Auto-format code on save",
      "version": "1.0.0",
      "category": "development"
    },
    {
      "name": "deploy-tools",
      "source": {"source": "github", "repo": "company/deploy-plugin"},
      "description": "Deployment automation",
      "category": "devops"
    }
  ]
}

Team Configuration

Add to project's .claude/settings.json for automatic installation:

{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {"source": "github", "repo": "org/claude-plugins"}
    }
  },
  "enabledPlugins": {
    "code-formatter@team-tools": true
  }
}

Scripts

  • init_marketplace.py - Create new marketplace with proper structure
  • validate_marketplace.py - Validate marketplace.json and plugin sources
  • add_plugin.py - Add plugin entries to existing marketplace

Workflow

Creating a New Marketplace

Pre-flight checks (REQUIRED before running init script):

  1. Check git config for user identity:

    git config --get user.name
    git config --get user.email
    
  2. If either is not set, ASK THE USER for their name and email before proceeding. Use these values with --owner-name and --owner-email flags.

  3. Check if target directory already has a git repo:

    ls -la <target-path>/.git 2>/dev/null
    

    If .git exists, do NOT run git init when setting up the repository.

# 1. Initialize (script auto-detects git config for owner info)
python scripts/init_marketplace.py my-marketplace --path ./output

# Or with explicit owner info if git config is not set:
python scripts/init_marketplace.py my-marketplace --path ./output \
  --owner-name "Your Name" --owner-email "you@example.com"

# 2. Validate
python scripts/validate_marketplace.py ./output

# 3. Push to GitHub (skip git init if .git already exists)
cd output
# Only run 'git init' if there's no existing .git directory
git add -A && git commit -m "Initial"
# Create repo on GitHub and push

# 4. Test in Claude Code
# /plugin marketplace add owner/my-marketplace

Adding Plugins

# Add local plugin
python scripts/add_plugin.py ./marketplace --name my-plugin --source ./plugins/my-plugin

# Add GitHub plugin  
python scripts/add_plugin.py ./marketplace --name external --source github:org/repo

Troubleshooting

Marketplace not loading: Verify .claude-plugin/marketplace.json exists at repo root.

Plugin install fails: Check source is accessible. For private repos, ensure authentication.

Team can't see marketplace: Verify extraKnownMarketplaces in .claude/settings.json.

References

  • references/plugin-schema.md - Complete plugin.json schema
  • references/examples.md - Additional marketplace examples

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 2
GitHub Forks 0
Created Jan 2026
Last Updated 5个月前
tools tools productivity tools

Related Skills

ui-ux-pro-max
chevron_right
planning-with-files
chevron_right
agent-browser
chevron_right
specs-gen
chevron_right
building-agents
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.