mcpField
P
plugin-forge

plugin-forge

github.com/davila7Agent workflows33.0k184 installsUpdated today
Repository

About plugin-forge

plugin-forge is a skill for creating and maintaining Claude Code plugins and marketplace entries. It combines scaffolding and versioning scripts with structure references and testing and publishing workflows.

Key features

  1. 01Generate plugin structure and manifests
  2. 02Register entries in marketplace.json
  3. 03Bump manifest versions
  4. 04Document components and directory patterns
  5. 05Guide local testing and publishing

Use cases

  1. 01Create a new marketplace plugin
  2. 02Add commands, skills, agents, or hooks
  3. 03Update a plugin release version

MCP support

The skill documents how to configure MCP servers in a plugin through `.mcp.json`.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/davila7/claude-code-templates --skill plugin-forge

After installing, type/plugin-forgein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
references/
marketplace-schema.md
plugin-structure.md
workflows.md
scripts/
bump_version.py
create_plugin.py

Details

From the project README

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

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

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:

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

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

Comments

Markdown supported