
Plugin Forge
Scaffold Claude Code plugins with manifests, marketplace entries, version bumps, and component layout using bundled Python scripts.
Overview
Plugin Forge is an agent skill for the Build phase that scaffolds and versions Claude Code plugins with plugin.json, marketplace.json, and Python helper scripts.
Install
npx skills add https://github.com/softaworks/agent-toolkit --skill plugin-forgeWhat is this skill?
- create_plugin.py scaffolds plugin dirs, plugin.json, README, and marketplace.json updates
- bump_version.py applies semantic major/minor/patch across plugin and marketplace manifests
- Covers commands, skills, agents, hooks, local testing, and publishing workflows
- Explicit triggers: new marketplace plugins, manifest edits, version bumps, publishing
- create_plugin.py and bump_version.py automation scripts
- Semantic major|minor|patch version bumps across dual manifests
Adoption & trust: 3.7k installs on skills.sh; 2k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want to ship a Claude Code plugin but keep manifest structure, semver, and marketplace metadata consistent.
Who is it for?
Builders packaging agent commands, skills, or hooks into a Claude Code marketplace plugin.
Skip if: Non-Claude editor extensions, MCP server authoring, or teams not using Claude Code plugin marketplaces.
When should I use this skill?
Creating plugins for a marketplace, adding plugin components, bumping plugin versions, or editing plugin.json/marketplace.json manifests.
What do I get? / Deliverables
You get a generated plugin skeleton, updated marketplace entry, and bumped versions ready for local test or publish.
- Plugin directory scaffold
- plugin.json and marketplace.json updates
- Version-bumped manifests and README template
Recommended Skills
Journey fit
How it compares
Skill package for Claude Code plugin manifests—not an MCP server installer or generic npm CLI scaffold.
Common Questions / FAQ
Who is plugin-forge for?
Solo developers and small teams publishing Claude Code plugins who need repeatable manifest and marketplace setup.
When should I use plugin-forge?
When creating marketplace plugins, adding plugin components, editing plugin.json or marketplace.json, bumping versions, or setting up local plugin testing before publish.
Is plugin-forge safe to install?
It drives filesystem and Python script execution for plugin roots you specify; review the Security Audits panel on this page and audit scripts before running against production marketplaces.
SKILL.md
READMESKILL.md - Plugin Forge
# 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: ```bash 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 `plugin.json` manifest - Creates README template - Updates `marketplace.json` ### Bump Version Use `bump_version.py` to update versions in both manifests: ```bash python 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): ```bash 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` ```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:comm