All skills
softaworks avatar

/plugin-forge

@1c0662a
by softaworkssoftaworks/agent-toolkit2.5k stars
230

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.

Use this Skill: https://skilld.dev/gh/softaworks/agent-toolkit/plugin-forge

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ73 tokens always: the name and description. β‰ˆ1.2k when used: this file. β‰ˆ4.5k more on demand in 4 files.

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 "your.email@example.com" \
  --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": "your.email@example.com"
  },
  "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

Source: SKILL.md on GitHub

No alerts17d5 checks Β· Risk SAFE
  • Gen Agent Trust Hub17d

    This skill provides automation scripts and documentation for managing Claude Code plugins. The analysis found no malicious behavior, data exfiltration, or dangerous command execution patterns. The scripts follow standard development practices for directory scaffolding and manifest management.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW Β· No issues

  • Runlayer7mo

    7 files scanned Β· No issues

  • ZeroLeaks5mo

    Score: 93/100 Β· 2 sections analyzed

Signed by skilld at 1c0662a. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Dormantupdated 9 months ago
  • Python
  • plugin
  • claude-code
  • marketplace
  • manifest
  • versioning
  • scaffolding
  • json

README badge

README badge for softaworks/agent-toolkit/plugin-forge

Scaffolds and manages Claude Code plugin directory structure, manifests, and marketplace registration. Includes Python automation for creating plugins and bumping semantic versions, plus templates for commands, skills, agents, and hooks.

Generated from the current SKILL.md.

What types of components can I add to a plugin?
Commands (Markdown with frontmatter), skills (SKILL.md directories), agents (Markdown definitions), hooks (hooks.json event handlers), and MCP servers (.mcp.json external integrations).
Does this skill handle version bumping across multiple manifest files?
Yes. The bump_version.py script updates versions in both plugin.json and marketplace.json simultaneously, and supports semantic versioning (major, minor, patch).
Can I test plugins locally before publishing?
Yes. Add the marketplace locally with /plugin marketplace add, then install and reinstall the plugin to test changes.
What naming convention should I use for commands?
Use subdirectory-based namespacing with a colon separator: commands/namespace/command.md becomes /namespace:command, or commands/simple.md becomes /simple.

Generated from the current SKILL.md. These answers refresh after source changes.