Scaffold a Claude Code plugin in seconds.
npx create-claude-plugin my-plugin- Interactive prompts — plugin name, description, author, and component selection
- Zero dependencies — only Node.js built-ins
- Full plugin structure — generates valid
plugin.json, example skills, agents, hooks, MCP/LSP configs - Git ready — auto-initializes a git repo with an initial commit
- Non-interactive mode — use
--yesto skip prompts and scaffold with defaults
# Interactive
npx create-claude-plugin my-plugin
# Non-interactive (uses defaults)
npx create-claude-plugin my-plugin --yes| Flag | Description |
|---|---|
-y, --yes |
Skip prompts, use defaults |
--no-git |
Skip git init |
-v, --version |
Show version |
-h, --help |
Show help |
When prompted, you can include any combination of:
| Component | What it generates |
|---|---|
| Skills | skills/hello/SKILL.md — example skill |
| Agents | agents/example.md — custom agent |
| Hooks | hooks/hooks.json — event hook config |
| MCP Servers | .mcp.json + scripts/server.js stub |
| LSP Servers | .lsp.json — language server config |
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ └── hello/
│ └── SKILL.md # Example skill
├── .gitignore
├── LICENSE
└── README.md
(Additional files are created based on your component selection.)
cd my-plugin
claude --plugin-dir .This project uses Conventional Commits and semantic-release for automated versioning.
Commit message format:
feat: add template flag → minor release (1.x.0)
fix: handle empty description → patch release (1.0.x)
feat!: redesign CLI interface → major release (x.0.0)
chore: update dependencies → no release
MIT