CC Plugin Forge
Purpose
Build and manage Claude Code plugins with correct structure, manifests, and marketplace integration. Includes workflows, automation scripts, and reference docs.
When to Use
- Creating new plugins for a marketplace
- Adding/modifying plugin components (commands, skills, agents, hooks)
- Updating plugin versions
- Working with plugin or marketplace manifests
- Setting up local plugin testing
- Publishing plugins
Getting Started
Create New Plugin
Use create_plugin.py to generate plugin structure:
bashpython scripts/create_plugin.py plugin-name \ --marketplace-root /path/to/marketplace \ --author-name "Your Name" \ --author-email "your.email@example.com" \ --description "Plugin description" \ --keywords "keyword1,keyword2" \ --category "productivity"
This automatically:
- Creates plugin directory structure
- Generates
plugin.jsonmanifest - Creates README template
- Updates
marketplace.json
Bump Version
Use bump_version.py to update versions in both manifests:
bashpython scripts/bump_version.py plugin-name major|minor|patch \ --marketplace-root /path/to/marketplace
Semantic versioning:
- major: Breaking changes (1.0.0 → 2.0.0)
- minor: New features, refactoring (1.0.0 → 1.1.0)
- patch: Bug fixes, docs (1.0.0 → 1.0.1)
Development Workflow
1. Create Structure
Manual approach (if not using script):
bashmkdir -p plugins/plugin-name/.claude-plugin mkdir -p plugins/plugin-name/commands mkdir -p plugins/plugin-name/skills
2. Plugin Manifest
File: plugins/plugin-name/.claude-plugin/plugin.json
json{ "name": "plugin-name", "version": "0.1.0", "description": "Plugin description", "author": { "name": "Your Name", "email": "your.email@example.com" }, "keywords": ["keyword1", "keyword2"] }
3. Register in Marketplace
Update .claude-plugin/marketplace.json:
json{ "name": "plugin-name", "source": "./plugins/plugin-name", "description": "Plugin description", "version": "0.1.0", "keywords": ["keyword1", "keyword2"], "category": "productivity" }
4. Add Components
Create in respective directories:
| Component | Location | Format |
|---|---|---|
| Commands | commands/ | Markdown with frontmatter |
| Skills | skills/<name>/ | Directory with SKILL.md |
| Agents | agents/ | Markdown definitions |
| Hooks | hooks/hooks.json | Event handlers |
| MCP Servers | .mcp.json | External integrations |
5. Local Testing
bash# Add marketplace /plugin marketplace add /path/to/marketplace-root # Install plugin /plugin install plugin-name@marketplace-name # After changes: reinstall /plugin uninstall plugin-name@marketplace-name /plugin install plugin-name@marketplace-name
Plugin Patterns
Framework Plugin
For framework-specific guidance (React, Vue, etc.):
plugins/framework-name/ ├── .claude-plugin/plugin.json ├── skills/ │ └── framework-name/ │ ├── SKILL.md │ └── references/ ├── commands/ │ └── prime/ │ ├── components.md │ └── framework.md └── README.md
Utility Plugin
For tools and commands:
plugins/utility-name/ ├── .claude-plugin/plugin.json ├── commands/ │ ├── action1.md │ └── action2.md └── README.md
Domain Plugin
For domain-specific knowledge:
plugins/domain-name/ ├── .claude-plugin/plugin.json ├── skills/ │ └── domain-name/ │ ├── SKILL.md │ ├── references/ │ └── scripts/ └── README.md
Command Naming
Subdirectory-based namespacing with : separator:
commands/namespace/command.md→/namespace:commandcommands/simple.md→/simple
Examples:
commands/prime/vue.md→/prime:vuecommands/docs/generate.md→/docs:generate
Version Management
Important: Update version in BOTH locations:
plugins/<name>/.claude-plugin/plugin.json.claude-plugin/marketplace.json
Use bump_version.py to automate.
Git Commits
Use conventional commits:
bashgit commit -m "feat: add new plugin" git commit -m "fix: correct plugin manifest" git commit -m "docs: update plugin README" git commit -m "feat!: breaking change"
Reference Docs
Detailed documentation included:
| Reference | Content |
|---|---|
references/plugin-structure.md | Directory structure, manifest schema, components |
references/marketplace-schema.md | Marketplace format, plugin entries, distribution |
references/workflows.md | Step-by-step workflows, patterns, publishing |
Scripts
| Script | Purpose |
|---|---|
scripts/create_plugin.py | Scaffold new plugin |
scripts/bump_version.py | Update versions |

