Guide for creating Claude Code plugins. Use when user asks to "create a plugin", "build a plugin", "develop a plugin", "understand plugin structure", "implement commands/agents/skills/hooks", or "troubleshoot plugin issues". Covers component structure, best practices, validation, and common patterns for production-ready plugins.
Guides users through creating Claude Code plugins with best practices and troubleshooting.
npx claudepluginhub within-7/minto-plugin-toolsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/AGENTS.mdreferences/COMMANDS.mdreferences/COMPONENTS.mdreferences/HOOKS.mdreferences/MCP.mdreferences/PATTERNS.mdreferences/README.mdreferences/SKILLS.mdreferences/TROUBLESHOOTING.mdscripts/README.mdscripts/init_plugin.pyscripts/package_plugin.pyscripts/requirements.txtscripts/validate_plugin.pyComprehensive guide for creating high-quality Claude Code plugins.
# Initialize a new plugin
python skills/plugin-creator/scripts/init_plugin.py my-plugin
# Validate your plugin
python skills/plugin-creator/scripts/validate_plugin.py my-plugin
# Package for distribution
python skills/plugin-creator/scripts/package_plugin.py my-plugin
mkdir my-plugin
cd my-plugin
# Create required files
touch .plugin.json README.md
mkdir -p commands agents skills hooks
A Claude Code plugin consists of:
{
"name": "plugin-name",
"version": "1.0.0",
"description": "Brief plugin description",
"commands": ["command1", "command2"],
"agents": ["agent1"],
"skills": ["skill1"],
"hooks": {
"PreToolUse": ["hook1"],
"PostToolUse": ["hook2"]
}
}
Required fields: name, version, description
Choose component types based on needs. See COMPONENTS.md for complete templates.
Quick Templates:
Commands (commands/command-name.md): User-invoked actions
Agents (agents/agent-name.md): Complex autonomous tasks
Skills (skills/skill-name.md): Specialized knowledge
Hooks (hooks/event-type/hook-name.md): Event automation
kebab-case, descriptivecommit, not create-commit)code-reviewer)react-patterns)Use helper scripts:
# Validate plugin structure and content
python skills/plugin-creator/scripts/validate_plugin.py my-plugin
# Package plugin for distribution
python skills/plugin-creator/scripts/package_plugin.py my-plugin ./dist
Or manually:
# Validate JSON
python3 -m json.tool .plugin.json
# Check structure
ls -R
# Test installation
cp -r my-plugin ~/.claude/plugins/
For detailed guides, see references/README.md for a complete index.
Quick links:
Integrate external tools via .mcp.json:
{
"mcpServers": {
"server-name": {
"type": "sse",
"url": "http://localhost:3000/sse"
}
}
}
See MCP.md for server types and configuration.
Use .local.md files for user settings:
---
setting1: value1
enabled: true
---
Read from: ${CLAUDE_PLUGIN_ROOT}/../plugin-name.local.md
---
description: [Brief action description, max 100 chars]
args:
- name: arg_name
description: What this argument does
required: false
---
# Command Title
[Clear instructions for what Claude should do]
## Process
1. First step
2. Second step
3. Final step
## Examples
- `command-name arg1` - What happens
- `command-name arg1 --flag` - With flag
---
description: When to trigger this agent (be specific)
color: blue
tools:
- Read
- Write
- Bash
examples:
- trigger: "User asks to..."
action: "Launch this agent to..."
---
# Agent Name
You are a specialized agent for [purpose].
## Your Process
### Phase 1: Analysis
[Detailed steps]
### Phase 2: Execution
[Detailed steps]
---
description: What this hook does and when
---
# Hook Title
Instructions for event handling.
## Behavior
[What the hook should do]
## Conditions
[When to act - optional]
See COMPONENTS.md for detailed templates with strict/flexible examples.
See PATTERNS.md for:
See TROUBLESHOOTING.md for:
~/.claude/plugins/Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.