plugin-dev-guide
Plugin Development Guide
This meta-skill provides an overview of Claude Code plugin development and routes to specialized skills based on the task at hand.
Plugin Development Skills Overview
The plugin-dev toolkit provides 9 specialized skills for building Claude Code plugins, plus this guide. Each skill handles a specific domain of plugin development.
Skill Quick Reference
| Skill | Purpose |
|---|---|
| plugin-structure | Directory layout, manifest, component organization |
| command-development | Simple prompts (single .md files in commands/) |
| agent-development | Autonomous subagents |
| skill-development | Complex prompts with bundled resources (skills/) |
| hook-development | Event-driven automation |
| mcp-integration | Model Context Protocol servers |
| lsp-integration | Language Server Protocol for code intelligence |
| plugin-settings | User configuration via .local.md |
| marketplace-structure | Plugin marketplace creation |
When to Use Each Skill
Starting a New Plugin
Skill: plugin-structure
Use when the user needs to:
- Create a new plugin from scratch
- Understand plugin directory layout
- Configure plugin.json manifest
- Learn about component auto-discovery
- Use ${CLAUDE_PLUGIN_ROOT} for portable paths
Adding User-Facing Commands
Skill: command-development
Use when the user needs to:
- Create slash commands (/command-name)
- Configure command frontmatter (description, allowed-tools, model)
- Use dynamic arguments ($ARGUMENTS, $1, $2)
- Reference files with @ syntax
- Execute bash inline with
[BANG]backticks
Creating Autonomous Agents
Skill: agent-development
Use when the user needs to:
- Create subagents for complex tasks
- Write agent system prompts
- Configure agent triggering (description with examples)
- Choose agent models and colors
- Restrict agent tool access
Building Skills
Skill: skill-development
Use when the user needs to:
- Create skills that extend Claude's capabilities
- Write SKILL.md with proper frontmatter
- Organize skill content with progressive disclosure
- Create references/, examples/, scripts/ directories
- Write effective trigger phrases
Implementing Event Hooks
Skill: hook-development
Use when the user needs to:
- React to Claude Code events (PreToolUse, Stop, SessionStart, etc.)
- Create prompt-based or command-based hooks
- Validate tool inputs before execution
- Enforce completion standards
- Block dangerous operations
Integrating External Services via MCP
Skill: mcp-integration
Use when the user needs to:
- Add MCP servers to plugins
- Configure stdio, SSE, HTTP, or WebSocket servers
- Set up authentication (OAuth, tokens)
- Use MCP tools in commands and agents
- Discover existing MCP servers on PulseMCP
Adding Code Intelligence via LSP
Skill: lsp-integration
Use when the user needs to:
- Add Language Server Protocol servers to plugins
- Enable go-to-definition and find-references
- Configure language-specific servers (pyright, gopls, rust-analyzer)
- Set up extensionToLanguage mappings
- Enhance Claude's code understanding
Managing Plugin Configuration
Skill: plugin-settings
Use when the user needs to:
- Store user-configurable settings
- Use .claude/plugin-name.local.md pattern
- Parse YAML frontmatter in hooks
- Create temporarily active hooks
- Manage agent state
Creating Plugin Marketplaces
Skill: marketplace-structure
Use when the user needs to:
- Create a marketplace for multiple plugins
- Configure marketplace.json
- Set up plugin sources (relative, GitHub, git URL)
- Distribute plugins to teams
- Organize plugin collections
Decision Tree for Skill Selection
User wants to...
├── Create/organize a plugin structure? → plugin-structure
├── Add a simple slash command (no bundled resources)? → command-development
├── Create an autonomous agent? → agent-development
├── Add a complex skill with scripts/references? → skill-development
├── React to Claude Code events? → hook-development
├── Integrate external service/API? → mcp-integration
├── Add code intelligence/LSP? → lsp-integration
├── Make plugin configurable? → plugin-settings
└── Distribute multiple plugins? → marketplace-structure
Common Multi-Skill Workflows
Building a Complete Plugin
- Start: Load
plugin-structureskill to create directory layout - Add features: Load
command-developmentfor user-facing commands - Automation: Load
hook-developmentfor event-driven behavior - Configuration: Load
plugin-settingsif user configuration needed - Validation: Use plugin-validator agent to validate structure
Creating an MCP-Powered Plugin
- Start: Load
plugin-structurefor basic structure - Integration: Load
mcp-integrationto configure MCP servers - Commands: Load
command-developmentto create commands that use MCP tools - Agents: Load
agent-developmentfor autonomous MCP workflows
Building a Code Intelligence Plugin
- Start: Load
plugin-structurefor basic structure - LSP: Load
lsp-integrationto configure language servers - Commands: Load
command-developmentfor commands using LSP features
Building a Skill-Focused Plugin
- Start: Load
plugin-structurefor basic structure - Skills: Load
skill-developmentto create specialized skills - Validation: Use skill-reviewer agent to validate skill quality
Available Agents
The plugin-dev plugin also provides 3 agents:
| Agent | Purpose |
|---|---|
| plugin-validator | Validates plugin structure and manifests |
| skill-reviewer | Reviews skill quality and triggering |
| agent-creator | Generates new agents from descriptions |
Use agents proactively after creating components to ensure quality.
Available Commands
| Command | Purpose |
|---|---|
/plugin-dev:plugin-dev-guide |
Overview and skill routing |
/plugin-dev:start |
Entry point - choose plugin or marketplace creation |
/plugin-dev:create-plugin |
8-phase guided plugin creation workflow |
/plugin-dev:create-marketplace |
8-phase guided marketplace creation workflow |
User Request
$ARGUMENTS
If the user provided a request above, analyze it and either:
- Route to a specific skill if the request clearly matches one domain
- Answer directly using this guide's overview information
- Ask for clarification if the request is ambiguous
If no request was provided, summarize the available plugin development capabilities and ask what the user wants to build or learn about.
More from sjnims/plugin-dev
lsp-integration
This skill should be used when the user asks to "add LSP server", "configure language server", "set up LSP in plugin", "add code intelligence", "integrate language server protocol", "use pyright-lsp", "use typescript-lsp", "use rust-lsp", "socket transport", "initializationOptions", mentions LSP servers, or discusses extensionToLanguage mappings. Provides guidance for integrating Language Server Protocol servers into Claude Code plugins for enhanced code intelligence.
14skill-development
This skill should be used when the user asks to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", "SKILL.md format", "skill frontmatter", "skill triggers", "trigger phrases for skills", "progressive disclosure", "skill references folder", "skill examples folder", "validate skill", "skill model field", "skill hooks", "scoped hooks in skill", "visibility budget", "context budget", "SLASH_COMMAND_TOOL_CHAR_BUDGET", "skill permissions", "Skill() syntax", "visual output", or needs guidance on skill structure, file organization, writing style, or skill development best practices for Claude Code plugins.
12agent-development
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", "disallowedTools", "block tools", "agent denylist", "maxTurns", "agent memory", "mcpServers in agent", "agent hooks", "background agent", "resume agent", "agent teams", "permission rules", "permission mode", "delegate mode", "agent team", "team lead", "teammate", "multi-agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
12mcp-integration
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", discusses MCP server types (SSE, stdio, HTTP, WebSocket), or asks to "find MCP server", "discover MCP servers", "what MCP servers exist", "recommend MCP server for [service]", "MCP prompts", "MCP prompts as commands", "tool search", "tool search threshold", "claude mcp serve", "allowedMcpServers", "deniedMcpServers", "managed MCP". Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
11plugin-structure
This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "add lspServers", "configure auto-discovery", "headless mode", "CI mode", "plugin in CI", "github actions", "plugin caching", "plugin CLI", "install plugin", "installation scope", "auto-update", "validate plugin", "plugin validate", "debug plugin", "output styles", "outputStyles", "custom output format", "response formatting", "--verbose", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
11hook-development
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", "scoped hooks", "frontmatter hooks", "hook in skill", "hook in agent", "agent hook type", "async hooks", "once handler", "statusMessage", "hook decision control", "TeammateIdle hook", "TaskCompleted hook", or mentions hook events (PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Stop, SubagentStop, SubagentStart, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification, TeammateIdle, TaskCompleted). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
11