plugin-creator
Plugin Creator
Overview
Scaffolds new Claude Code plugins with proper directory structure, required files, marketplace catalog integration, and full validation. Supports all plugin types: command plugins, agent plugins, skill plugins, MCP server plugins, and hybrid combinations.
Prerequisites
- Write access to the
plugins/directory and.claude-plugin/marketplace.extended.json jqinstalled for JSON generation and validationpnpm run sync-marketplaceavailable at the repository root./scripts/validate-all-plugins.shavailable for post-creation validation
Instructions
- Gather requirements from the user request: plugin name (kebab-case), category (
productivity,security,devops,testing, etc.), plugin type (commands, agents, skills, MCP, or combination), description, and keywords. Default author to the repository owner if unspecified (see${CLAUDE_SKILL_DIR}/references/plugin-creation-process.md). - Create the plugin directory structure under
plugins/[category]/[plugin-name]/:plugins/[category]/[plugin-name]/ ├── .claude-plugin/ │ └── plugin.json ├── README.md ├── LICENSE └── [commands/ | agents/ | skills/ | hooks/ | mcp/] - Generate
.claude-plugin/plugin.jsonusing the template from${CLAUDE_SKILL_DIR}/references/file-templates.md. Populate all required fields:name,version(default1.0.0),description,author(name and email),repository,license(default MIT), andkeywords(minimum 2). - Generate
README.mdwith installation instructions, usage examples, a description section, and contributor information. - Create a
LICENSEfile with MIT license text (or the specified license). - Generate component files based on the plugin type:
- Commands: create
commands/[command-name].mdwith proper YAML frontmatter (name,description,model). - Agents: create
agents/[agent-name].mdwith YAML frontmatter includingmodelfield. - Skills: create
skills/[skill-name]/SKILL.mdwith frontmatter (name,description,allowed-tools). - MCP: create
package.json,tsconfig.json,src/index.ts, and.mcp.json.
- Commands: create
- Add the new plugin entry to
.claude-plugin/marketplace.extended.jsonwith matching name, version, category, description, source path, and keywords. - Run
pnpm run sync-marketplaceto regeneratemarketplace.json. - Validate the new plugin by running
./scripts/validate-all-plugins.sh plugins/[category]/[plugin-name]/. Fix any reported issues before completion.
Output
A complete, CI-ready plugin containing:
- All required files (
plugin.json,README.md,LICENSE) - Component files matching the requested plugin type with proper frontmatter
- Marketplace catalog entry in
marketplace.extended.json - Synchronized
marketplace.json - Validation confirmation from
validate-all-plugins.sh
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Plugin name already exists | Duplicate name in plugins/ directory or marketplace catalog |
Choose a unique name; check existing plugins with ls plugins/*/ |
| Invalid category | Category not recognized by marketplace schema | Use one of the valid categories: productivity, security, devops, testing, community, examples, packages, mcp |
| JSON syntax error in generated files | Malformed template output | Run jq empty on each generated JSON file and fix syntax |
| Marketplace sync failure | New entry has schema violations | Verify all required fields are present in the marketplace.extended.json entry |
| Validation script failure | Missing required files or incorrect structure | Review the validation output and create/fix the flagged files |
Examples
Create a command plugin:
Trigger: "Create a new security plugin called 'owasp-scanner' with commands."
Process: Create plugins/security/owasp-scanner/ directory, generate plugin.json, README.md, LICENSE, and commands/scan.md with proper frontmatter. Add to marketplace, sync, validate (see ${CLAUDE_SKILL_DIR}/references/examples.md).
Scaffold a skills plugin:
Trigger: "Scaffold a skills plugin for code review."
Process: Create plugin directory with skills/code-review/SKILL.md containing trigger keywords for code review tasks. Generate plugin.json with appropriate keywords. Add to marketplace, sync, validate.
Create an MCP server plugin:
Trigger: "Create a new MCP plugin for database queries."
Process: Create plugins/mcp/db-query/ with package.json (including @modelcontextprotocol/sdk dependency), tsconfig.json, src/index.ts, .mcp.json, and standard files. Add to marketplace, sync, validate.
Resources
${CLAUDE_SKILL_DIR}/references/plugin-creation-process.md-- detailed creation workflow${CLAUDE_SKILL_DIR}/references/file-templates.md-- templates forplugin.json, commands, agents, and skills${CLAUDE_SKILL_DIR}/references/examples.md-- creation scenario walkthroughs${CLAUDE_SKILL_DIR}/references/errors.md-- error handling patterns