Scaffold new plugins for Copilot and Claude Code marketplaces. Use when the user wants to "create a plugin", "scaffold a plugin", "generate a new plugin", "start a new marketplace plugin", "build a copilot plugin", "make a claude plugin", or needs help structuring a plugin with skills, commands, agents, hooks, or MCP servers.
Scaffold complete, well-structured plugins for Copilot CLI and Claude Code marketplaces.
Ask the user:
my-awesome-plugin)Check if scaffolding inside an existing marketplace or as a standalone plugin:
Inside a marketplace (a parent .claude-plugin/marketplace.json exists):
plugins/marketplace.jsonStandalone plugin (no parent marketplace):
.claude-plugin/ directorymarketplace.json and plugin.jsonCreate the full directory structure based on requirements.
plugin-name/
├── .claude-plugin/
│ └── plugin.json
├── agency.json
├── README.md
└── skills/
└── [skill-name]/
└── SKILL.md
commands/command-name.mdagents/agent-name.mdhooks/hooks.json + hooks/hook-script.py.mcp.json at plugin root{
"name": "plugin-name",
"description": "Plugin description",
"version": "1.0.0",
"author": {
"name": "Author Name",
"email": "[email protected]"
},
"keywords": ["relevant", "keywords"],
"license": "MIT"
}
{
"engines": ["copilot", "claude"],
"category": "productivity"
}
{
"name": "marketplace-name",
"metadata": {
"description": "Marketplace description",
"version": "1.0.0"
},
"owner": {
"name": "Owner Name",
"email": "[email protected]"
},
"plugins": [
{
"name": "plugin-name",
"source": "./",
"description": "Plugin description",
"version": "1.0.0",
"author": { "name": "Author Name" },
"keywords": ["..."],
"category": "productivity"
}
]
}
For each requested component, generate the appropriate files using the patterns described in the reference files:
If inside a marketplace, add the plugin entry to the parent marketplace.json:
{
"name": "plugin-name",
"source": "./plugins/plugin-name",
"description": "...",
"version": "1.0.0",
"author": { "name": "..." },
"keywords": ["..."],
"category": "..."
}
Include "strict": true if the plugin should be strictly validated.
After scaffolding:
name and description