Create, validate, and publish Claude Code plugins and marketplaces. Use this skill when building plugins with commands, agents, hooks, MCP servers, or skills.
View on GitHubananddtyagi/cc-marketplace
claude-dev-infrastructure
January 18, 2026
Select agents to install to:
npx add-skill https://github.com/ananddtyagi/cc-marketplace/blob/main/plugins/claude-dev-infrastructure/skills/plugin-creator/SKILL.md -a claude-code --skill plugin-creatorInstallation paths:
.claude/skills/plugin-creator/# Claude Code Plugin Creator
## Overview
This skill provides comprehensive guidance for creating Claude Code plugins following the official Anthropic format (as of December 2025).
## Plugin Architecture
A Claude Code plugin can contain any combination of:
- **Commands**: Custom slash commands (`/mycommand`)
- **Agents**: Specialized AI subagents for specific tasks
- **Hooks**: Pre/post tool execution behaviors
- **MCP Servers**: Model Context Protocol integrations
- **Skills**: Domain-specific knowledge packages
## Directory Structure
```
my-plugin/
├── .claude-plugin/
│ └── plugin.json # REQUIRED - Plugin manifest
├── commands/ # Optional - Slash commands
│ └── my-command.md
├── agents/ # Optional - Subagents
│ └── my-agent.md
├── hooks/ # Optional - Hook definitions
│ └── hooks.json
├── skills/ # Optional - Bundled skills
│ └── my-skill/
│ └── SKILL.md
├── mcp/ # Optional - MCP server configs
└── README.md
```
## Plugin Manifest (plugin.json)
The `.claude-plugin/plugin.json` file is **required**. Here's the complete schema:
```json
{
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "my-plugin",
"version": "1.0.0",
"description": "Clear description of what this plugin does",
"author": {
"name": "Your Name",
"email": "you@example.com"
},
"license": "MIT",
"commands": [
{
"name": "mycommand",
"description": "What this command does",
"source": "./commands/my-command.md"
}
],
"agents": [
{
"name": "my-agent",
"description": "What this agent specializes in",
"source": "./agents/my-agent.md"
}
],
"hooks": {
"source": "./hooks/hooks.json"
},
"skills": [
"./skills/my-skill"
],
"mcp_servers": [
{
"name": "my-mcp",
"command": "npx",
"args": ["my-mcp-server"]
}
]
}
```
## Creating Commands
Commands