Plugin Forge

by softaworks3027f20f3181No license2.5K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 7 months ago

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.

Includes scriptsAI & Agents
AI-generated overview

Scaffolds and manages Claude Code plugins, including manifests, marketplace registration, and version bumps.

What it does
This skill guides the creation and maintenance of Claude Code plugins with correct directory structure, plugin.json and marketplace.json manifests, and component placement for commands, skills, agents, hooks, and MCP servers. It ships two Python scripts: create_plugin.py scaffolds a new plugin and updates the marketplace manifest, while bump_version.py applies major, minor, or patch version updates to both manifests. It also documents local testing, command naming, plugin patterns, conventional commits, and publishing workflows.
When to use it
Use it when creating a new plugin for a marketplace, adding or modifying plugin components, updating plugin versions, or working with plugin and marketplace manifests. It also fits setting up local plugin testing and publishing plugins.
Requirements
Python to run the bundled scripts create_plugin.py and bump_version.py; access to a marketplace root directory and its manifest files. The skill ships executable scripts.

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 "[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:

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-pluginmkdir -p plugins/plugin-name/commandsmkdir -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": "[email protected]"  },  "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:

ComponentLocationFormat
Commandscommands/Markdown with frontmatter
Skillsskills/<name>/Directory with SKILL.md
Agentsagents/Markdown definitions
Hookshooks/hooks.jsonEvent handlers
MCP Servers.mcp.jsonExternal 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: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:

  1. plugins/<name>/.claude-plugin/plugin.json
  2. .claude-plugin/marketplace.json

Use bump_version.py to automate.

Git 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:

ReferenceContent
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

ScriptPurpose
scripts/create_plugin.pyScaffold new plugin
scripts/bump_version.pyUpdate versions

Source and attribution

Source:softaworks/agent-toolkitinskills/plugin-forgeat commit3027f20

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal