Create and distribute Claude Code plugins for your team or community. This GitHub template provides everything you need to build a plugin marketplace — from scaffolding and validation to CI/CD automation.
- Skip the boilerplate — Pre-configured marketplace structure, plugin manifests, and GitHub Actions validation
- Full plugin development toolkit — Commands for scaffolding plugins, adding components (commands, skills, agents, hooks), and validating before release
- Team-ready distribution — Configure automatic marketplace installation for team projects
- Best practices built-in — Comprehensive documentation, examples, and guided workflows
| Component | Description |
|---|---|
| Marketplace Configuration | .claude-plugin/marketplace.json following the official schema |
| Plugin Development Toolkit | plugin-development plugin with 7 slash commands, a plugin-authoring skill for ambient guidance, and a reviewer agent |
| Example Plugin | hello-world plugin demonstrating proper structure and best practices |
| CI/CD Workflows | GitHub Actions for automated plugin validation on every push and PR |
| Documentation | Complete guides for plugins, hooks, settings, commands, skills, and sub-agents |
Click "Use this template" on GitHub, then clone your new repository:
git clone https://github.com/your-org/your-marketplace-name.git
cd your-marketplace-nameUpdate .claude-plugin/marketplace.json with your organization details:
{
"name": "my-team-marketplace",
"owner": {
"name": "Your Organization",
"email": "[email protected]"
},
"metadata": {
"description": "A curated collection of Claude Code plugins for our team",
"version": "1.0.0"
},
"plugins": []
}# Start Claude Code
claude
# Add your local marketplace
/plugin marketplace add .
# Install the development toolkit
/plugin install plugin-development@my-team-marketplace# Scaffold a new plugin
/plugin-development:init my-awesome-plugin
# Add components
/plugin-development:add-command my-command "Description of what it does"
/plugin-development:add-skill my-skill "Use when working with..."
# Validate before publishing
/plugin-development:validateThe plugin-development plugin provides these commands:
| Command | Description |
|---|---|
/plugin-development:init [name] |
Scaffold a new plugin with standard structure |
/plugin-development:add-command [name] [desc] |
Add a new slash command |
/plugin-development:add-skill [name] [desc] |
Add a new skill with SKILL.md |
/plugin-development:add-agent [name] [desc] |
Add a new sub-agent |
/plugin-development:add-hook [event] [matcher] |
Add a hook configuration |
/plugin-development:validate |
Validate plugin structure and configuration |
/plugin-development:test-local |
Create dev marketplace for local testing |
├── .claude-plugin/
│ └── marketplace.json # Marketplace configuration
├── .github/
│ └── workflows/
│ └── validate-plugins.yml # CI/CD validation
├── docs/ # Comprehensive documentation
│ ├── plugins.md # Plugin development guide
│ ├── plugins-reference.md # Technical specifications
│ ├── plugin-marketplaces.md # Marketplace management
│ ├── hooks.md # Event-driven automation
│ ├── settings.md # Configuration options
│ ├── slash-commands.md # Command system reference
│ ├── skills.md # Agent skills guide
│ └── sub-agents.md # Sub-agent system
└── plugins/
├── hello-world/ # Example plugin
└── plugin-development/ # Development toolkit
Configure automatic marketplace installation for your team by adding .claude/settings.json to your projects:
{
"extraKnownMarketplaces": {
"my-team-marketplace": {
"source": {
"source": "github",
"repo": "your-org/your-marketplace-name"
}
}
}
}When team members trust the repository folder, Claude Code automatically installs the marketplace. See Configure team marketplaces for details.
Once your marketplace is published to GitHub, users can install plugins with:
# Add the marketplace
/plugin marketplace add your-org/your-marketplace-name
# Install a plugin
/plugin install plugin-name@your-marketplace-nameTest your plugins before publishing:
# Navigate to your marketplace
cd your-marketplace-name
# Start Claude Code
claude
# Add local marketplace
/plugin marketplace add .
# Install and test a plugin
/plugin install hello-world@my-team-marketplace
/hello WorldFor iterative development:
# After making changes
/plugin-development:validate
/plugin uninstall plugin-name@my-team-marketplace
/plugin install plugin-name@my-team-marketplaceRemove the marketplace and its plugins from Claude Code:
# Remove a specific plugin
/plugin uninstall plugin-name@my-team-marketplace
# Remove the marketplace entirely
/plugin marketplace remove my-team-marketplaceTo completely remove, delete the cloned repository directory.
If you prefer manual setup over the scaffolding commands:
mkdir -p plugins/my-plugin/.claude-plugin
mkdir -p plugins/my-plugin/commandsCreate plugins/my-plugin/.claude-plugin/plugin.json:
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Description of what your plugin does",
"author": {
"name": "Your Name",
"email": "[email protected]"
},
"license": "MIT",
"keywords": ["keyword1", "keyword2"]
}Create plugins/my-plugin/commands/my-command.md:
---
description: Brief description of what the command does
argument-hint: [arg1] [arg2]
---
# My Command
Instructions for Claude on how to execute this command.
## Steps
1. First step
2. Second step
3. Third stepAdd to .claude-plugin/marketplace.json:
{
"plugins": [
{
"name": "my-plugin",
"description": "Description of what your plugin does",
"version": "1.0.0",
"author": {
"name": "Your Name"
},
"source": "./plugins/my-plugin",
"category": "utilities",
"tags": ["tag1", "tag2"]
}
]
}| Guide | Description |
|---|---|
| Plugin Development | Complete guide to creating plugins |
| Plugin Reference | Technical specifications and schemas |
| Plugin Marketplaces | Marketplace creation and management |
| Hooks | Event-driven automation |
| Settings | Configuration and customization |
| Slash Commands | Command system reference |
| Skills | Agent capabilities and expertise |
| Sub-Agents | Specialized AI assistants |
- Plugins Overview — Plugin development guide
- Plugin Marketplaces — Marketplace management
- Plugins Reference — Technical specifications
- Slash Commands — Command development
A minimal example demonstrating proper plugin structure:
/plugin install hello-world@my-team-marketplace
/hello World
# Output: Hello, World! 👋The comprehensive toolkit used throughout this template:
- 7 slash commands for scaffolding and validation
- plugin-authoring skill for ambient guidance
- plugin-reviewer agent for release readiness audits
- Automated hooks for validation and formatting
See the plugin-development README for complete documentation.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-plugin) - Make your changes
- Run validation (
/plugin-development:validate) - Commit your changes (
git commit -m 'Add amazing plugin') - Push to the branch (
git push origin feature/amazing-plugin) - Open a Pull Request
Built for Claude Code by Anthropic.
MIT License — see LICENSE for details.
- Claude Code Documentation
- Anthropic Discord — Community support
- Claude Code GitHub — Official repository