Skip to main content
skill CX Codex

plugin-forge — Claude Code skill for building plugins

Skill for creating and managing Claude Code plugins with proper structure, manifests, and marketplace integration. Use it when building plugins for distribution or setting up plugin components like commands and hooks.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add softaworks/agent-toolkit --skill plugin-forge -a claude-code
Open on GitHub

What plugin-forge does

plugin-forge scaffolds a plugin from the ground up: generates folder structure, creates plugin.json and marketplace.json, registers the plugin in the marketplace. The skill provides create_plugin.py for initial setup and bump_version.py for semantic versioning. It includes patterns for framework-specific plugins (React, Vue), utility plugins, and domain plugins.

Typical workflow: run the creation script, add components (commands in commands/, skills in skills/, agents, hooks in hooks.json), test locally with /plugin marketplace add and /plugin install, bump versions using bump_version.py. Command paths map to namespaced calls: commands/namespace/command.md becomes /namespace:command.

Requires Python on your development machine. Versions must be kept in sync across plugin.json and marketplace.json or the plugin will not install correctly.

What it helps with

  • scaffold a plugin with correct directory structure for marketplace distribution
  • add commands, skills, and hooks to an existing plugin
  • update plugin version following semantic versioning rules
  • register a plugin in the marketplace
  • test a plugin locally before publishing

Example prompts for the agent

  • Create a new react-helpers plugin for the marketplace with author 'John Doe' and tags 'react,components'
  • Bump the major version for the utils plugin in the marketplace
  • Add a docs:generate command to the commands/docs directory

How to install plugin-forge

1Skills CLI (Vercel)

npx skills add softaworks/agent-toolkit --skill plugin-forge -a claude-code

2Manually: put the files in place

~/.claude/skills/plugin-forge/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/plugin-forge/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about plugin-forge

How do I install plugin-forge in Claude Code?

Run npx skills add softaworks/agent-toolkit --skill plugin-forge -a claude-code. The skill will be available at ~/.claude/skills/plugin-forge/SKILL.md.

What does plugin-forge do?

It helps you build Claude Code plugins: generates directory structure, creates manifests, manages versions, and handles marketplace integration. Includes scripts and example structures for different plugin types.

Why doesn't my plugin install after I create it?

Usually the version in plugin.json and marketplace.json don't match. Use bump_version.py to sync both files, or ensure the version is identical in both manifests.

Source text

SKILL.md · MIT
---
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:

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

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

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

© softaworks · MIT · softaworks/agent-toolkit

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set12

codex A skill that runs Codex CLI for code analysis, refactoring, and automated editing. Uses GPT-5.2 by default with adaptive reasoning, hitting 76.3% on SWE-bench. CX Codex +1 4,100installs react-dev Provides type-safe React 18 and 19 patterns for TypeScript components, hooks, and Server Actions. CX Codex +1 4,100installs feedback-mastery Guides developers and leads through difficult workplace conversations using the SBI and Preparation-Delivery-Follow-up frameworks. Helps turn friction into factual feedback. CX Codex +1 4,000installs gemini Tells your agent how to drive Gemini CLI for code review, plan review, or files too large for its own context. Useful when you want a second opinion on a whole repo. CX Codex +1 4,000installs reducing-entropy A skill that measures success by the size of the codebase afterwards, not by the effort spent. It runs only when you ask, and it deletes. CX Codex +1 4,000installs difficult-workplace-conversations Structured framework for preparing, conducting, and following up on difficult workplace talks, from peer conflicts to salary negotiation. CX Codex +1 3,900installs lesson-learned Analyzes recent git changes and extracts engineering takeaways directly from your code. Helpful when you want to reflect on architectural choices or review what a feature branch teaches. CX Codex +1 3,000installs gepetto gepetto turns a Markdown spec into an implementation plan, using research, user interviews, and reviews from Gemini and Codex. Use it before building a feature that needs careful planning. CX Codex +1 1,500installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor