Skip to main content 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.
npx skills add softaworks/agent-toolkit --skill plugin-forge agent-skills ai automation claude claude-code coding-agent
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:
python scripts/create_plugin.py plugin-name \
--marketplace-root /path/to/marketplace \
--author-name "Your Name" \
--author-email "[email protected] " \
--description "Plugin description" \
--keywords "keyword1,keyword2" \
--category "productivity"
This automatically:
Creates plugin directory structure
Generates plugin.json manifest
Creates README template
Updates marketplace.json
Bump Version Use bump_version.py to update versions in both manifests:
python scripts/bump_version.py plugin-name major|minor|patch \
--marketplace-root /path/to/marketplace
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):
mkdir -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
{
"name": "plugin-name",
"version": "0.1.0",
"description": "Plugin description",
"author": {
"name": "Your Name",
"email": "[email protected] "
},
"keywords": ["keyword1", "keyword2"]
}
3. Register in Marketplace Update .claude-plugin/marketplace.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.jsonEvent handlers MCP Servers .mcp.jsonExternal integrations
5. Local Testing # 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 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:command
commands/simple.md → /simple
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 bump_version.py to automate.
Git Commits 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"
Reference Docs Detailed documentation included:
Reference Content references/plugin-structure.mdDirectory structure, manifest schema, components references/marketplace-schema.mdMarketplace format, plugin entries, distribution references/workflows.mdStep-by-step workflows, patterns, publishing
Scripts Script Purpose scripts/create_plugin.pyScaffold new plugin scripts/bump_version.pyUpdate versions
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).