Loading...
Loading...
Create and configure Claude Code marketplaces and plugins. Use when the user wants to create a marketplace, publish plugins, set up team plugin distribution, or configure marketplace.json or plugin.json files. Triggers: create marketplace, publish plugin, plugin distribution, marketplace.json, plugin.json, team plugins, share plugins
npx skill4agent add mike-coulbourn/claude-vibes marketplace-builder| Concept | What It Is | Analogy |
|---|---|---|
| Marketplace | JSON catalog listing where plugins live | Library catalog |
| Plugin | Packaged collection of components | Book |
| Components | Commands, agents, skills, hooks, MCP servers | Chapters |
{
"name": "marketplace-name",
"owner": {"name": "Owner Name"},
"plugins": [
{
"name": "plugin-name",
"source": "./path-to-plugin",
"description": "What this plugin does",
"version": "1.0.0"
}
]
}.claude-plugin/{
"name": "plugin-name",
"description": "What this plugin does",
"version": "1.0.0"
}.claude/{
"extraKnownMarketplaces": {
"marketplace-name": {
"source": {"source": "github", "repo": "owner/repo"}
}
},
"enabledPlugins": {
"plugin-name@marketplace-name": true
}
}| Type | Syntax | Best For |
|---|---|---|
| GitHub | | Public plugins |
| Git URL | | Private/GitLab |
| Directory | | Monorepo |
| Relative | | Shorthand for directory |
# Add a marketplace
/plugin marketplace add owner/repo
/plugin marketplace add https://gitlab.com/org/repo.git
/plugin marketplace add ./local-marketplace
# List marketplaces
/plugin marketplace list
# Update marketplace catalog
/plugin marketplace update marketplace-name
# Browse and install plugins
/plugin # Interactive browser
/plugin install plugin-name@marketplace # Direct install
# Manage plugins
/plugin enable plugin@marketplace
/plugin disable plugin@marketplace
/plugin uninstall plugin@marketplace
# Validate structure
claude plugin validate .my-marketplace/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
├── commands/
└── agents/company-plugins/
├── .claude-plugin/
│ └── marketplace.json
├── plugins/
│ ├── formatter/
│ │ ├── .claude-plugin/plugin.json
│ │ └── commands/
│ ├── linter/
│ │ ├── .claude-plugin/plugin.json
│ │ └── commands/
│ └── tester/
│ ├── .claude-plugin/plugin.json
│ └── agents/# Marketplace repo
my-marketplace/
└── .claude-plugin/
└── marketplace.json # Points to other repos
# Plugin repos (separate)
tool-a/
├── .claude-plugin/plugin.json
└── commands/
tool-b/
├── .claude-plugin/plugin.json
└── agents/{
"plugins": [
{"name": "internal-tool", "source": {"source": "git", "url": "https://git.corp/..."}},
{"name": "community-tool", "source": {"source": "github", "repo": "public/tool"}}
]
}plugin-name/
├── .claude-plugin/
│ └── plugin.json # Required: plugin manifest
├── commands/ # Optional: slash commands
│ └── my-command.md
├── agents/ # Optional: subagents
│ └── my-agent.md
├── skills/ # Optional: skills
│ └── my-skill/
│ └── SKILL.md
├── hooks/ # Optional: event handlers
│ └── hooks.json
└── .mcp.json # Optional: MCP servers{
"name": "plugin-name",
"description": "Clear description of what this plugin provides",
"version": "1.0.0",
"author": {
"name": "Author Name",
"email": "author@example.com"
},
"homepage": "https://docs.example.com",
"repository": "https://github.com/owner/repo",
"license": "MIT"
}kebab-casecode-formatterMAJOR.MINOR.PATCHverb-noun.mdformat-code.mdrole-name.mdcode-reviewer.md.claude-plugin/marketplace.json{
"name": "company-tools",
"owner": {
"name": "Company Name",
"email": "team@company.com"
},
"metadata": {
"description": "Company development tools",
"version": "1.0.0",
"pluginRoot": "./plugins"
},
"plugins": [
{
"name": "formatter",
"source": "./plugins/formatter",
"description": "Code formatting tools",
"version": "1.0.0"
},
{
"name": "linter",
"source": "./plugins/linter",
"description": "Code linting tools",
"version": "1.0.0"
}
]
}{
"name": "community-collection",
"owner": {
"name": "Community",
"email": "maintainers@example.com"
},
"plugins": [
{
"name": "tool-a",
"source": {
"source": "github",
"repo": "community/tool-a"
},
"description": "Tool A description",
"version": "2.1.0"
},
{
"name": "tool-b",
"source": {
"source": "github",
"repo": "community/tool-b"
},
"description": "Tool B description",
"version": "1.3.0"
}
]
}/plugin marketplace add ./path-to-marketplace.claude/settings.json{
"extraKnownMarketplaces": {
"team-tools": {
"source": {
"source": "github",
"repo": "company/claude-plugins"
}
}
},
"enabledPlugins": {
"formatter@team-tools": true,
"linter@team-tools": true
}
}.claude/settings.json## Installation
Add the marketplace:
```bash
/plugin marketplace add owner/repo/plugin install formatter@owner-toolsundefined.claude/settings.json# Validate marketplace structure
claude plugin validate .
# Manual JSON validation
python3 -c "import json; json.load(open('.claude-plugin/marketplace.json'))"
python3 -c "import json; json.load(open('.claude-plugin/plugin.json'))"# Add marketplace locally
/plugin marketplace add ./path-to-marketplace
# Verify it appears
/plugin marketplace list# Browse available plugins
/plugin
# Install a plugin
/plugin install plugin-name@marketplace-name
# Verify components work
/help # Check commands appear/command-name/agentscompany-plugins/
├── .claude-plugin/
│ └── marketplace.json
├── plugins/
│ ├── plugin-a/
│ ├── plugin-b/
│ └── plugin-c/
└── README.md# Marketplace repo
tools-marketplace/
└── .claude-plugin/marketplace.json
# Separate plugin repos
plugin-a/ # github.com/org/plugin-a
plugin-b/ # github.com/org/plugin-b
plugin-c/ # github.com/org/plugin-c{
"plugins": [
{"name": "core", "source": "./plugins/core"},
{"name": "community", "source": {"source": "github", "repo": "community/tool"}},
{"name": "internal", "source": {"source": "git", "url": "https://git.corp/..."}}
]
}{"source": "github", "repo": "private-org/private-repo"} // May fail{"source": "git", "url": "git@github.com:private-org/private-repo.git"}nameowner.namepluginsnamedescriptionversion{"source": "../plugins/tool"} // Relative to what?{"source": "./plugins/tool"} // Relative to .claude-plugin/plugin.jsonmarketplace.jsonclaude plugin validate .templates/basic-marketplace.mdtemplates/plugin-structure.mdtemplates/multi-plugin.mdtemplates/multi-repo.mdtemplates/enterprise-marketplace.mdexamples/development-tools.mdexamples/team-workflows.mdexamples/specialized-domains.mdreference/syntax-guide.mdreference/best-practices.mdreference/troubleshooting.md