Claude Code Plugins

Community-maintained marketplace

Feedback

creating-plugins

@jeongsk/claude-skills
1
0

Guide for creating Claude Code plugins with commands, agents, skills, hooks, and MCP servers. Use when the user wants to create a new plugin, add plugin components (commands, agents, hooks), set up a plugin marketplace, or needs help with plugin.json configuration.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name creating-plugins
description Guide for creating Claude Code plugins with commands, agents, skills, hooks, and MCP servers. Use when the user wants to create a new plugin, add plugin components (commands, agents, hooks), set up a plugin marketplace, or needs help with plugin.json configuration.

Plugin Creator

Create Claude Code plugins to extend functionality with custom commands, agents, skills, hooks, and MCP servers.

Plugin Creation Workflow

1. Gather Requirements

Ask the user:

  • What functionality should the plugin provide?
  • Which components are needed? (commands, agents, hooks, MCP servers, skills)
  • Who is the target audience? (personal, team, public)

2. Create Plugin Structure

my-plugin/
├── .claude-plugin/
│   └── plugin.json      # Required
├── commands/            # Optional: slash commands
├── agents/              # Optional: sub-agents
├── skills/              # Optional: agent skills
├── hooks/               # Optional: event handlers
└── .mcp.json           # Optional: MCP servers

3. Write plugin.json

Minimal example:

{
  "name": "my-plugin",
  "description": "Brief description",
  "version": "1.0.0",
  "author": {"name": "Author Name"}
}

4. Add Components

Based on user requirements, add:

  • Commands: See commands.md for slash command format
  • Agents: See agents.md for agent definition format
  • Hooks: See hooks.md for event handler configuration
  • MCP Servers: See mcp-servers.md for server configuration

5. Test Locally

Create a test marketplace:

mkdir test-marketplace/.claude-plugin

Create test-marketplace/.claude-plugin/marketplace.json:

{
  "name": "test-marketplace",
  "owner": {"name": "Developer"},
  "plugins": [{"name": "my-plugin", "source": "./my-plugin"}]
}

Test commands:

/plugin marketplace add ./test-marketplace
/plugin install my-plugin@test-marketplace

Quick Reference

Command File (commands/hello.md)

---
description: Greet the user
---
# Hello Command
Greet the user warmly.

Agent File (agents/reviewer.md)

---
description: Code review specialist
capabilities: ["review", "suggestions"]
---
# Reviewer
Review code for quality and best practices.

Hooks (hooks/hooks.json)

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{"type": "command", "command": "prettier --write $CLAUDE_FILE_PATH"}]
    }]
  }
}

References

Plugin Development

Plugin Components

Skills Development