softaworks

plugin-forge

330
14
# Install this skill:
npx skills add softaworks/agent-toolkit --skill "plugin-forge"

Install specific skill from multi-skill repository

# Description

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.

# SKILL.md


name: plugin-forge
description: 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.


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:

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 β†’ /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:

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

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.