// Guide for creating and managing Claude Code marketplaces. Use when creating a new marketplace, updating marketplace configuration, adding plugins to a marketplace, or validating marketplace.json files.
| name | marketplace-creator |
| description | Guide for creating and managing Claude Code marketplaces. Use when creating a new marketplace, updating marketplace configuration, adding plugins to a marketplace, or validating marketplace.json files. |
| license | Complete terms in LICENSE.txt |
This skill provides comprehensive guidance for creating, managing, and validating Claude Code marketplace configurations.
Marketplaces are curated collections of plugins that can be distributed and installed together. A marketplace is defined by a marketplace.json file that lists available plugins with their sources, versions, and metadata.
Follow these steps when working with marketplaces:
Before creating a marketplace, clarify:
Ask questions to gather concrete requirements:
Create a new marketplace.json file with the required structure.
For detailed initialization steps:
init_marketplace.py script for quick setup:python3 skills/marketplace-creator/scripts/init_marketplace.py
The script will:
Minimum Required Fields:
{
"name": "marketplace-name",
"owner": {
"name": "Owner Name",
"email": "email@domain.com"
},
"description": "Marketplace description",
"plugins": []
}
Add plugin entries to the plugins array. Each plugin requires:
name - Plugin identifiersource - Where to find the plugin (GitHub, local path, URL)description - What the plugin doesversion - Semantic version (e.g., "1.0.0")author - Plugin author informationHelper script for adding plugins:
python3 skills/marketplace-creator/scripts/add_plugin_to_marketplace.py
For detailed plugin entry formats and source options:
Common Source Formats:
GitHub Repository (recommended for public plugins):
"source": {
"source": "github",
"repo": "owner/repository"
}
Relative Path (local installations only):
"source": "./plugins/my-plugin"
Git Repository URL:
"source": {
"source": "url",
"url": "https://gitlab.com/team/plugin.git"
}
Direct Marketplace URL:
"source": "https://example.com/path/to/marketplace.json"
Use the validation script to check marketplace configuration:
python3 skills/marketplace-creator/scripts/validate_marketplace.py
The validator checks:
For complete validation checklist:
Test the marketplace locally before distribution:
# Install from local marketplace.json
claude plugin install /path/to/marketplace.json
# Or install specific plugin from marketplace
claude plugin install /path/to/marketplace.json --plugin plugin-name
Verify:
Choose distribution method:
Option 1: Git Repository
claude plugin install https://github.com/user/repo/marketplace.jsonOption 2: Direct URL
claude plugin install https://domain.com/marketplace.jsonOption 3: Local/Team Distribution
Problem: GitHub repository URLs as strings are not supported in marketplace.json
// โ WRONG
"source": "https://github.com/username/plugin-name"
// โ
CORRECT
"source": {
"source": "github",
"repo": "username/plugin-name"
}
Problem: Relative paths only work for local installations
// โ ๏ธ WARNING - local only
"source": "./plugins/my-plugin"
// โ
CORRECT - for public distribution
"source": {
"source": "github",
"repo": "username/plugin-name"
}
Problem: Author should use consistent object format
// โ WRONG - string format
"author": "Username"
// โ
CORRECT - object format
"author": {
"name": "Username"
}
Problem: Template placeholders must be replaced
// โ WRONG
"owner": {
"name": "Your Name",
"email": "your.email@example.com"
}
// โ
CORRECT
"owner": {
"name": "AnthonyKazyaka",
"email": "anthony@domain.com"
}
When updating an existing marketplace.json:
Adding a Plugin:
add_plugin_to_marketplace.py scriptplugins arrayvalidate_marketplace.pyUpdating Plugin Version:
plugins arrayversion fieldRemoving a Plugin:
plugins arrayReorganizing Plugins:
For detailed structure information:
For step-by-step creation guidance:
This skill includes: