plugin-forge
Original:🇺🇸 English
Translated
2 scriptsChecked / no sensitive code detected
Create and manage Claude Code plugins with proper structure, manifests, and marketplace integration. Use when creating plugins for a marketplace, adding plugin components (commands, agents, hooks), bumping plugin versions, or working with plugin.json/marketplace.json manifests.
3.3kinstalls
Sourcesoftaworks/agent-toolkit
Added on
NPX Install
npx skill4agent add softaworks/agent-toolkit plugin-forgeTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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 to generate plugin structure:
create_plugin.pybash
python 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 manifest
plugin.json - Creates README template
- Updates
marketplace.json
Bump Version
Use to update versions in both manifests:
bump_version.pybash
python scripts/bump_version.py plugin-name major|minor|patch \
--marketplace-root /path/to/marketplaceSemantic 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):
bash
mkdir -p plugins/plugin-name/.claude-plugin
mkdir -p plugins/plugin-name/commands
mkdir -p plugins/plugin-name/skills2. Plugin Manifest
File:
plugins/plugin-name/.claude-plugin/plugin.jsonjson
{
"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.jsonjson
{
"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 | | Markdown with frontmatter |
| Skills | | Directory with |
| Agents | | Markdown definitions |
| Hooks | | Event handlers |
| MCP Servers | | 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-namePlugin 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.mdUtility Plugin
For tools and commands:
plugins/utility-name/
├── .claude-plugin/plugin.json
├── commands/
│ ├── action1.md
│ └── action2.md
└── README.mdDomain Plugin
For domain-specific knowledge:
plugins/domain-name/
├── .claude-plugin/plugin.json
├── skills/
│ └── domain-name/
│ ├── SKILL.md
│ ├── references/
│ └── scripts/
└── README.mdCommand Naming
Subdirectory-based namespacing with separator:
:- →
commands/namespace/command.md/namespace:command - →
commands/simple.md/simple
Examples:
- →
commands/prime/vue.md/prime:vue - →
commands/docs/generate.md/docs:generate
Version Management
Important: Update version in BOTH locations:
plugins/<name>/.claude-plugin/plugin.json.claude-plugin/marketplace.json
Use to automate.
bump_version.pyGit Commits
Use conventional commits:
bash
git 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 |
|---|---|
| Directory structure, manifest schema, components |
| Marketplace format, plugin entries, distribution |
| Step-by-step workflows, patterns, publishing |
Scripts
| Script | Purpose |
|---|---|
| Scaffold new plugin |
| Update versions |