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.

referencesplugin-structure.md

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

Plugin Structure Reference

Directory Hierarchy

plugin-name/
├── .claude-plugin/
│   └── plugin.json          # Required: Plugin metadata manifest
├── commands/                 # Optional: Custom slash commands
├── agents/                   # Optional: Agent definitions
├── skills/                   # Optional: Agent Skills
│   └── skill-name/
│       ├── SKILL.md         # Required for each skill
│       ├── scripts/         # Optional: Executable code
│       ├── references/      # Optional: Documentation
│       └── assets/          # Optional: Output files
├── hooks/                    # Optional: Event handlers
│   └── hooks.json
└── .mcp.json                # Optional: MCP server integrations

Plugin Manifest (plugin.json)

Location: .claude-plugin/plugin.json (must be in this directory)

Required fields:

  • name: Unique identifier (kebab-case)

Standard metadata:

  • version: Semantic versioning (e.g., "1.0.0")
  • description: Plugin purpose
  • author: Object with name, email, url
  • homepage: URL
  • repository: URL
  • license: SPDX identifier
  • keywords: Array of search terms

Component paths (optional):

  • commands: Path to commands directory
  • agents: Path to agents directory
  • hooks: Path to hooks configuration
  • mcpServers: Path to MCP configuration

Example plugin.json

{
  "name": "example-plugin",
  "version": "1.0.0",
  "description": "Example plugin for demonstration",
  "author": {
    "name": "Plugin Creator",
    "email": "creator@example.com"
  },
  "keywords": ["example", "demo"]
}

Component Types

Commands

Location: commands/ directory Format: Markdown files with frontmatter Naming: Subdirectories create namespaces via :

commands/
├── simple.md              # Invoked as /simple
└── namespace/
    └── command.md         # Invoked as /namespace:command

Agents

Location: agents/ directory Format: Markdown files describing agent capabilities

Skills

Location: skills/ directory Format: Subdirectories with SKILL.md file Structure: See skills documentation

Hooks

Location: hooks/hooks.json or path specified in manifest Events: PreToolUse, PostToolUse, UserPromptSubmit, Notification, Stop, SubagentStop, SessionStart, SessionEnd, PreCompact

MCP Servers

Location: .mcp.json at plugin root Purpose: External tool integrations

Path Requirements

  • All paths relative to plugin root
  • Start with ./ for custom paths
  • Use ${CLAUDE_PLUGIN_ROOT} for dynamic resolution in hooks/MCP
  • Components must be at plugin root, not inside .claude-plugin/

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.