plugin-forge
Install this skill
npx skills add softaworks/agent-toolkitWorks across Claude Code, Cursor, Codex, Copilot & Antigravity
Plugin Forge is a dedicated development environment for creating, managing, and distributing extensions for the Claude Code ecosystem. It standardizes the lifecycle of marketplace-ready plugins by providing scaffolding utilities for manifest generation, command organization, and skill-based knowledge integration. Instead of creating folders and JSON files by hand, developers use these provided Python scripts to ensure local project structures align with marketplace requirements. It enforces strict naming conventions using a namespace-based hierarchy, turning markdown files into discoverable commands. By centralizing version control across plugin-specific manifests and global marketplace indexes, this toolkit maintains consistency for teams building modular agentic tools. Whether you are packaging domain-specific knowledge or specialized operational commands, this framework provides the blueprint for packaging your code into reusable, installable agent assets.
When to Use This Skill
- β’Developing a suite of specialized commands for a specific framework like React or Vue
- β’Packaging internal company knowledge base as an installable agent skill
- β’Standardizing plugin distribution across a team's private marketplace
- β’Updating plugin versions while maintaining sync between local and global manifests
How to Invoke This Skill
Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:
- βscaffold a new Claude Code plugin
- βregister a new skill in the marketplace
- βhow do I bump the version of my plugin
- βset up the directory structure for a custom domain plugin
- βcreate a command namespace in my plugin
Pro Tips
- π‘Always use the provided Python scripts (e.g., `create_plugin.py`, `bump_version.py`) to ensure manifest consistency and prevent manual errors.
- π‘Leverage the `--marketplace-root` flag for centralizing plugin management when contributing to a shared marketplace.
- π‘Integrate the version bumping scripts into your CI/CD pipeline for automated, semantic version releases.
What this skill does
- β’Auto-scaffolds folder architecture and manifest JSON files
- β’Manages semantic versioning across local and marketplace registry files
- β’Handles namespace-based command mapping with colon-separated naming
- β’Integrates with local marketplace directories for plugin distribution
- β’Standardizes plugin assets like skills, hooks, and MCP server definitions
When not to use it
- βManaging individual, ephemeral prompts that don't need to be shared or installed as plugins
- βHandling complex backend deployment infrastructure beyond standard plugin registration
Example workflow
- Run the create_plugin.py script to generate the initial directory structure
- Define plugin commands in the commands/ folder using markdown frontmatter
- Register the new plugin path in the marketplace.json manifest
- Install the plugin locally using the /plugin marketplace add command
- Test functionality and adjust version numbers using the bump_version.py script
Prerequisites
- βPython 3.x for running management scripts
- βAccess to a local marketplace root directory
Pitfalls & limitations
- !Failing to update both the internal plugin manifest and the marketplace registry simultaneously
- !Ignoring the specific directory requirements for skill and command locations
- !Manual namespace naming conflicts if not following the standard colon convention
FAQ
How it compares
Unlike manual file creation, Plugin Forge automates critical manifest validation and version synchronization, significantly reducing runtime errors during plugin discovery and installation.
π Full skill instructions β original source: softaworks/agent-toolkit
## 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/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):
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.json | Event handlers || MCP Servers |
.mcp.json | External 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
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:command-
commands/simple.md β /simpleExamples:
-
commands/prime/vue.md β /prime:vue-
commands/docs/generate.md β /docs:generate## Version Management
**Important:** Update version in BOTH locations:
1.
plugins/<name>/.claude-plugin/plugin.json2.
.claude-plugin/marketplace.jsonUse
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.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 |How to Use This Skill Unit
Option A: Project-Specific (Recommended)
- Click "Download" above
- In your project, create the directory:
.agent/skills/plugin-forge/ - Save the file as
SKILL.md - The agent will automatically discover the skill based on its description.
Option B: Global Installation (All Agents)
Save the file to these locations to make it available across all projects:
- Claude Code:
~/.claude/skills/softaworks/agent-toolkit/plugin-forge/SKILL.md - Cursor:
~/.cursor/skills/softaworks/agent-toolkit/plugin-forge/SKILL.md - Antigravity:
~/.gemini/antigravity/skills/softaworks/agent-toolkit/plugin-forge/SKILL.md
π Install with CLI:npx skills add softaworks/agent-toolkit