From plugin-forge
Generates Claude Code plugin structures, creates/updates plugin.json and marketplace.json manifests, adds components like commands/skills/agents/hooks, bumps versions, and sets up testing/publishing workflows.
npx claudepluginhub softaworks/agent-toolkit --plugin plugin-forgeThis skill uses the workspace's default tool permissions.
Build and manage Claude Code plugins with correct structure, manifests, and marketplace integration. Includes workflows, automation scripts, and reference docs.
Manages Claude Code plugins: creates structured plugins/marketplaces, validates structure, publishes to GitHub/GitLab, uninstalls, and prepares Anthropic directory submissions.
Guides full Claude Code plugin lifecycle: scoping, initializing plugin.json, adding commands/agents/hooks/skills, validating with audits, and distributing to marketplaces.
Guides developers in creating, scaffolding, validating, and publishing Claude Code plugins including directory structure, plugin.json schema, YAML frontmatter, agents, commands, skills, and marketplace deployment.
Share bugs, ideas, or general feedback.
Build and manage Claude Code plugins with correct structure, manifests, and marketplace integration. Includes workflows, automation scripts, and reference docs.
Use create_plugin.py to generate plugin structure:
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:
plugin.json manifestmarketplace.jsonUse bump_version.py to update versions in both manifests:
python scripts/bump_version.py plugin-name major|minor|patch \
--marketplace-root /path/to/marketplace
Semantic versioning:
Manual approach (if not using script):
mkdir -p plugins/plugin-name/.claude-plugin
mkdir -p plugins/plugin-name/commands
mkdir -p plugins/plugin-name/skills
File: plugins/plugin-name/.claude-plugin/plugin.json
{
"name": "plugin-name",
"version": "0.1.0",
"description": "Plugin description",
"author": {
"name": "Your Name",
"email": "your.email@example.com"
},
"keywords": ["keyword1", "keyword2"]
}
Update .claude-plugin/marketplace.json:
{
"name": "plugin-name",
"source": "./plugins/plugin-name",
"description": "Plugin description",
"version": "0.1.0",
"keywords": ["keyword1", "keyword2"],
"category": "productivity"
}
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 |
# 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
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
For tools and commands:
plugins/utility-name/
├── .claude-plugin/plugin.json
├── commands/
│ ├── action1.md
│ └── action2.md
└── README.md
For domain-specific knowledge:
plugins/domain-name/
├── .claude-plugin/plugin.json
├── skills/
│ └── domain-name/
│ ├── SKILL.md
│ ├── references/
│ └── scripts/
└── README.md
Subdirectory-based namespacing with : separator:
commands/namespace/command.md → /namespace:commandcommands/simple.md → /simpleExamples:
commands/prime/vue.md → /prime:vuecommands/docs/generate.md → /docs:generateImportant: Update version in BOTH locations:
plugins/<name>/.claude-plugin/plugin.json.claude-plugin/marketplace.jsonUse bump_version.py to automate.
Use conventional commits:
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"
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 |
| Script | Purpose |
|---|---|
scripts/create_plugin.py | Scaffold new plugin |
scripts/bump_version.py | Update versions |