Agent skill

plugin-creator

Create complete Claude Code plugins with proper structure including skills, commands, agents, and hooks. Generates plugin manifests and directory structures for distribution. Use when: building plugins, creating plugin packages, distributing skills to marketplace. Activates for: "create plugin", "generate plugin", "new plugin", "plugin package", "make plugin"

Stars 2
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/jbabin91/super-claude/tree/main/plugins/meta/skills/plugin-creator

SKILL.md

Plugin Creator

Generate complete Claude Code plugins with proper structure and configuration.

When to Use

  • Creating shareable plugin packages
  • Building complete tool collections
  • Organizing related skills/commands/agents
  • Distributing functionality to teams
  • Contributing to plugin marketplaces

Plugin Structure

A complete plugin includes:

sh
plugin-name/
├── .claude-plugin/
│   └── plugin.json           # Plugin manifest
├── skills/                   # Optional: Skill definitions
│   ├── skill-1.md
│   └── skill-2.md
├── commands/                 # Optional: Slash commands
│   ├── command-1.md
│   └── command-2.md
├── agents/                   # Optional: Agent definitions
│   ├── agent-1.md
│   └── agent-2.md
├── hooks/                    # Optional: Event hooks
│   └── hooks.json
├── README.md                 # Documentation
└── LICENSE                   # Optional: License file

Core Workflow

1. Gather Requirements

Ask the user:

  • Plugin name: Kebab-case identifier
  • Purpose: What problem does this plugin solve?
  • Components: What will it include (skills/commands/agents/hooks)?
  • Target audience: Who will use this?
  • Distribution: Public marketplace or private?
  • Dependencies: Required tools or other plugins?

2. Generate Plugin Structure

Create Directory Structure

bash
mkdir -p plugin-name/.claude-plugin
mkdir -p plugin-name/skills
mkdir -p plugin-name/commands
mkdir -p plugin-name/agents
mkdir -p plugin-name/hooks

Generate plugin.json

json
{
  "name": "plugin-name",
  "version": "1.0.0",
  "description": "Clear description of what this plugin does",
  "author": {
    "name": "Author Name",
    "email": "email@example.com",
    "github": "github-username"
  },
  "license": "MIT",
  "category": "appropriate-category",
  "keywords": ["keyword1", "keyword2", "keyword3"],
  "skills": ["skill-1", "skill-2"],
  "commands": ["command-1", "command-2"],
  "agents": ["agent-1", "agent-2"],
  "repository": {
    "type": "git",
    "url": "https://github.com/username/plugin-name"
  },
  "homepage": "https://github.com/username/plugin-name",
  "requires": {
    "tools": ["git", "npm"],
    "plugins": []
  }
}

Generate README.md

markdown
# Plugin Name

> Brief description

## Features

- Feature 1
- Feature 2
- Feature 3

## Installation

\`\`\`bash
/plugin marketplace add username/plugin-name
/plugin install plugin-name
\`\`\`

## Usage

### Skills

- **skill-1**: Description
- **skill-2**: Description

### Commands

- `/command-1`: Description
- `/command-2`: Description

### Agents

- **agent-1**: Description

## Examples

[Usage examples]

## Requirements

- Tool 1
- Tool 2

## License

MIT

3. Add Components

Use the creator skills to add components:

  • skill-creator: Add skills
  • command-creator: Add commands
  • agent-creator: Add agents
  • hook-creator: Add hooks

4. Validate Plugin

Ensure:

  • ✅ plugin.json is valid JSON
  • ✅ All referenced components exist
  • ✅ Directory structure is correct
  • ✅ README is comprehensive
  • ✅ License is appropriate
  • ✅ Keywords are relevant

Example Plugins

TanStack Tools Plugin

sh
tanstack-tools/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── tanstack-router-setup.md
│   ├── tanstack-query-hook.md
│   ├── tanstack-form-schema.md
│   ├── tanstack-table-config.md
│   └── tanstack-start-project.md
├── commands/
│   ├── setup-tanstack-start.md
│   └── generate-query-hook.md
├── README.md
└── LICENSE

plugin.json:

json
{
  "name": "tanstack-tools",
  "version": "1.0.0",
  "description": "Comprehensive TanStack ecosystem tools for Router, Query, Forms, Table, and Start",
  "author": {
    "name": "Jace Babin",
    "email": "jbabin91@gmail.com",
    "github": "jbabin91"
  },
  "license": "MIT",
  "category": "framework",
  "keywords": [
    "tanstack",
    "router",
    "query",
    "forms",
    "table",
    "start",
    "react"
  ],
  "skills": [
    "tanstack-router-setup",
    "tanstack-query-hook",
    "tanstack-form-schema",
    "tanstack-table-config",
    "tanstack-start-project"
  ],
  "commands": ["setup-tanstack-start", "generate-query-hook"],
  "requires": {
    "tools": ["npm", "git"],
    "packages": ["@tanstack/router", "@tanstack/react-query"]
  }
}

API Tools Plugin

sh
api-tools/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── drizzle-setup.md
│   ├── drizzle-schema-generator.md
│   ├── better-auth-setup.md
│   ├── hono-rpc-endpoint.md
│   └── elysia-setup.md
├── commands/
│   ├── init-drizzle.md
│   ├── generate-api-client.md
│   └── setup-auth.md
├── agents/
│   └── api-designer.md
├── README.md
└── LICENSE

plugin.json:

json
{
  "name": "api-tools",
  "version": "1.0.0",
  "description": "Backend API development tools for Hono, Elysia, Drizzle, and better-auth",
  "author": {
    "name": "Jace Babin",
    "email": "jbabin91@gmail.com",
    "github": "jbabin91"
  },
  "license": "MIT",
  "category": "backend",
  "keywords": [
    "api",
    "backend",
    "hono",
    "elysia",
    "drizzle",
    "better-auth",
    "openapi"
  ],
  "skills": [
    "drizzle-setup",
    "drizzle-schema-generator",
    "better-auth-setup",
    "hono-rpc-endpoint",
    "elysia-setup"
  ],
  "commands": ["init-drizzle", "generate-api-client", "setup-auth"],
  "agents": ["api-designer"],
  "requires": {
    "tools": ["npm", "node"],
    "packages": ["drizzle-orm", "better-auth"]
  }
}

Component Library Plugin

sh
design-system-tools/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── component-generator.md
│   ├── component-a11y-validator.md
│   ├── storybook-story.md
│   └── design-tokens-validator.md
├── commands/
│   ├── create-component.md
│   ├── validate-a11y.md
│   └── generate-stories.md
├── agents/
│   ├── component-reviewer.md
│   └── a11y-auditor.md
├── hooks/
│   └── hooks.json
├── README.md
└── LICENSE

Plugin Categories

Framework-Specific

  • tanstack-tools
  • react-tools
  • next-tools
  • vue-tools

Backend

  • api-tools
  • database-tools
  • auth-tools

DevOps

  • deployment-tools
  • ci-cd-tools
  • monitoring-tools

Code Quality

  • testing
  • linting-tools
  • security-tools

Meta

  • skill-tools (this plugin!)
  • marketplace-tools
  • template-tools

Plugin Manifest Fields

Required Fields

json
{
  "name": "plugin-identifier", // Required: kebab-case
  "version": "1.0.0", // Required: semantic versioning
  "description": "Clear description" // Required: what it does
}

Recommended Fields

json
{
  "author": {
    "name": "Author Name",
    "email": "email@example.com",
    "github": "username"
  },
  "license": "MIT",
  "category": "framework",
  "keywords": ["keyword1", "keyword2"],
  "repository": {
    "type": "git",
    "url": "https://github.com/username/plugin"
  },
  "homepage": "https://github.com/username/plugin"
}

Optional Fields

json
{
  "skills": ["skill-1", "skill-2"], // List of included skills
  "commands": ["cmd-1", "cmd-2"], // List of commands
  "agents": ["agent-1"], // List of agents
  "requires": {
    "tools": ["git", "npm"], // Required CLI tools
    "plugins": ["other-plugin"], // Plugin dependencies
    "packages": ["package-name"] // npm package dependencies
  }
}

Distribution

Public Marketplace

  1. Create GitHub repository
  2. Add marketplace.json (if creating marketplace)
  3. Tag releases with versions
  4. Share repository URL

Users install via:

bash
/plugin marketplace add username/plugin-name
/plugin install plugin-name

Private/Work Distribution

  1. Host on private Git server
  2. Share repository URL with team
  3. Add to team marketplace

Users install via:

bash
/plugin marketplace add git@internal:plugins/plugin-name
/plugin install plugin-name

Best Practices

  1. Clear Purpose: Plugin should solve one specific problem domain
  2. Good Documentation: Comprehensive README with examples
  3. Semantic Versioning: Follow semver for releases
  4. Minimal Dependencies: Only require what's necessary
  5. Test Before Release: Validate all components work
  6. Helpful Keywords: Make plugin discoverable

Anti-Patterns

  • ❌ Kitchen-sink plugins (too many unrelated features)
  • ❌ Missing documentation
  • ❌ No examples
  • ❌ Unclear versioning
  • ❌ Missing license
  • ❌ Poor component organization

Troubleshooting

Plugin Not Loading

Solution:

  • Validate plugin.json syntax
  • Check directory structure
  • Verify all referenced files exist
  • Restart Claude Code

Components Not Found

Solution:

  • Check component names match manifest
  • Verify files are in correct directories
  • Check file extensions (.md for skills/commands/agents)

References

Expand your agent's capabilities with these related and highly-rated skills.

jbabin91/super-claude

minimal-example

Example skill demonstrating required structure and best practices. Use this as a template for creating new skills. Activates when user mentions example, template, or minimal patterns.

2 0
Explore
jbabin91/super-claude

command-creator

Create custom slash commands for Claude Code with proper markdown structure and YAML frontmatter. Use when: creating commands, generating slash commands, making workflow automations. Activates for: "create command", "generate command", "new command", "slash command", "make command"

2 0
Explore
jbabin91/super-claude

skill-validator

Validate Claude Code skills, commands, agents, hooks, and plugins against specifications. Checks structure, format, best practices, and common issues before committing or distributing. Use when: validating skills, checking plugins, linting components, ensuring quality. Activates for: "validate skill", "check skill", "validate plugin", "lint skill", "verify skill"

2 0
Explore
jbabin91/super-claude

hook-creator

Create event hooks for Claude Code that trigger on specific events. Generate hooks with proper JSON configuration for automating workflows. Use when: creating hooks, setting up event triggers, automating on file saves or tool calls. Activates for: "create hook", "generate hook", "new hook", "event hook", "make hook"

2 0
Explore
jbabin91/super-claude

agent-creator

Create specialized agents for Claude Code that handle specific tasks autonomously. Generate agent definitions with proper configuration and best practices. Use when: creating agents, generating sub-agents, setting up autonomous workflows. Activates for: "create agent", "generate agent", "new agent", "sub-agent", "make agent"

2 0
Explore
jbabin91/super-claude

skill-creator

Create new Claude Code skills with proper structure, validation, and best practices. Generates skills that follow Anthropic specifications and community patterns. Use when you need custom skills for specific workflows, either globally or per-project.

2 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results