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.

referencesmarketplace-schema.md

≈616 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Marketplace Schema Reference

Marketplace Structure

A marketplace is a JSON catalog enabling plugin discovery and distribution.

File location: .claude-plugin/marketplace.json

Required Fields

{
  "name": "marketplace-identifier",
  "owner": {
    "name": "Maintainer Name",
    "email": "maintainer@example.com"
  },
  "plugins": []
}

name: Kebab-case marketplace identifier owner: Maintainer contact information plugins: Array of plugin entries

Optional Marketplace Fields

description: Marketplace overview text version: Release version pluginRoot: Base path for relative plugin sources

Plugin Entry Schema

Each plugin entry in the plugins array:

Required:

  • name: Plugin identifier (kebab-case, must match plugin.json)
  • source: Plugin origin specification

Optional:

  • description: Plugin purpose
  • version: Plugin version (semantic versioning)
  • author: Creator information
  • homepage: URL
  • repository: URL
  • license: SPDX identifier
  • keywords: Array of search terms
  • category: Classification (e.g., "framework", "productivity")
  • tags: Additional discovery tags
  • commands: Path to commands directory
  • agents: Path to agents directory
  • hooks: Path to hooks configuration
  • mcpServers: Path to MCP configuration

Source Specifications

Relative Path Source

{
  "name": "my-plugin",
  "source": "./plugins/my-plugin"
}

GitHub Source

{
  "name": "my-plugin",
  "source": {
    "source": "github",
    "repo": "owner/repo"
  }
}

Generic Git Source

{
  "name": "my-plugin",
  "source": {
    "source": "url",
    "url": "https://git.example.com/plugin.git"
  }
}

Complete Example

{
  "name": "example-marketplace",
  "description": "Example plugin marketplace",
  "version": "1.0.0",
  "owner": {
    "name": "Marketplace Owner",
    "email": "owner@example.com"
  },
  "pluginRoot": "./plugins",
  "plugins": [
    {
      "name": "example-plugin",
      "source": "./example-plugin",
      "description": "Example plugin",
      "version": "1.0.0",
      "keywords": ["example"],
      "category": "productivity"
    }
  ]
}

Team Distribution

Configure automatic marketplace availability via .claude/settings.json:

{
  "extraKnownMarketplaces": [
    {
      "source": {
        "source": "github",
        "repo": "company/marketplace"
      }
    }
  ]
}

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.