Claude Code Private Marketplace Demo
A teaching project that shows how to build a private plugin marketplace for Claude Code. Contains two example plugins with agents, commands, and skills -- everything you need to understand the plugin architecture and start building your own.
What This Demo Shows
If you have been looking at Claude Code plugins and wondering "how do I actually structure a private marketplace for my team?" -- this is your reference. The repository demonstrates:
- How to create a marketplace manifest (
marketplace.json) that lists and distributes plugins
- How to structure plugins with agents, commands, and skills
- How plugins, project config (
CLAUDE.md), and settings work together to form the full Claude Code experience
This is a demo. The plugins here are illustrative -- they show the correct file structure and conventions, not production-ready tooling. Use this as a starting point, then refer to the official docs linked below for the full specification.
Project Structure
demo-claude-marketplace/
├── .claude-plugin/
│ └── marketplace.json # Marketplace manifest -- lists all plugins
├── claude-plugins/
│ ├── data-toolkit/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json # Plugin metadata (name, description, version)
│ │ ├── agents/ # Subagent definitions (data-engineer, pipeline-architect)
│ │ ├── commands/ # Slash commands (ingest, transform)
│ │ └── skills/ # Skills organized by domain (sql/, etl/)
│ ├── api-guardian/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── agents/ # Subagent definitions (security-auditor, api-reviewer)
│ │ ├── commands/ # Slash commands (audit, scan)
│ │ └── skills/ # Skills organized by domain (openapi/, security/)
│ ├── prompt-craft/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── agents/ # Subagent definitions (prompt-engineer, prompt-evaluator)
│ │ ├── commands/ # Slash commands (craft, optimize)
│ │ └── skills/ # Skills organized by domain (prompting/, few-shot/)
│ ├── code-quality/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── agents/ # Subagent definitions (code-reviewer, refactor-guide)
│ │ ├── commands/ # Slash commands (review, refactor)
│ │ └── skills/ # Skills organized by domain (review/, refactoring/)
│ └── dev-rules/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── agents/ # Subagent definitions (rules-enforcer, standards-advisor)
│ ├── commands/ # Slash commands (check, define)
│ └── skills/ # Skills organized by domain (standards/, ai-guidelines/)
├── CLAUDE.md # Project-level memory and conventions
└── README.md
How Plugin Marketplaces Work
A marketplace is a Git repository with a .claude-plugin/marketplace.json at its root. This manifest declares the marketplace name, owner, and lists all available plugins with their relative source paths.
Here is the manifest from this demo:
{
"name": "demo-marketplace",
"owner": {
"name": "Demo Author",
"email": "[email protected]"
},
"plugins": [
{
"name": "data-toolkit",
"source": "./claude-plugins/data-toolkit",
"description": "Adds data engineering agents, commands, and skills for ETL pipeline development."
},
{
"name": "api-guardian",
"source": "./claude-plugins/api-guardian",
"description": "Adds API security auditing agents, commands, and skills for governance and OWASP compliance."
},
{
"name": "prompt-craft",
"source": "./claude-plugins/prompt-craft",
"description": "Adds AI prompt engineering agents, commands, and skills for designing, optimizing, and evaluating prompts."
},
{
"name": "code-quality",
"source": "./claude-plugins/code-quality",
"description": "Adds code review and refactoring agents, commands, and skills for maintaining high code quality standards."
},
{
"name": "dev-rules",
"source": "./claude-plugins/dev-rules",
"description": "Adds development rules, coding standards, and AI behavior guidelines agents, commands, and skills."
}
]
}
Users add the marketplace and install plugins like this:
# Add this marketplace (from a Git repo URL or local path)
/plugin marketplace add ./path/to/demo-claude-marketplace
# Install a specific plugin
/plugin install data-toolkit@demo-marketplace
For private repositories, Claude Code uses your existing git credential helpers. If git clone works in your terminal, it works in Claude Code.
What Plugins Provide
Each plugin is a directory with .claude-plugin/plugin.json at its root, plus any combination of these components: