From plugin-dev
Use when the user asks to "create a slash command", "add a command", "create a hook", "add a PreToolUse/PostToolUse hook", "create an agent", "write a subagent", "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", or needs guidance on any plugin component: commands, hooks, agents, MCP servers, or output styles.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-dev:component-developmentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create and configure Claude Code plugin components — commands, hooks, agents, MCP servers, and output styles.
Create and configure Claude Code plugin components — commands, hooks, agents, MCP servers, and output styles.
Before answering ANY question about Claude Code component capabilities, syntax, or configuration:
firecrawl map https://code.claude.com/docs/en/ to see all available pages (optionally add --search "<component-type>" to narrow)firecrawl scrape <url> -f markdown -o .firecrawl/<topic>.md to get the full pageKey doc pages to search for: commands, hooks, agents, mcp, output-styles, plugins-reference
commands/*.md)Slash commands are markdown files with optional YAML frontmatter. They are instructions FOR Claude, not programs.
Key frontmatter fields: description, allowed-tools, model, effort, argument-hint, disable-model-invocation
Features:
$ARGUMENTS and positional args ($1, $2) for dynamic input@path/to/file syntax to include file contents!`command` for inline bash executionhooks/hooks.json)Event-driven automation. Plugin format wraps with {"hooks": {EVENT: [...]}}.
Hook types: command, prompt, agent, http
Key events: PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, PreCompact, PostCompact, UserPromptSubmit, Notification, SubagentStop
Important:
${CLAUDE_PLUGIN_ROOT} in hook commands for portability$CLAUDE_ENV_FILE in SessionStart hooks to persist env varspermissionDecision: allow|deny|askagents/*.md)Subagent definitions with YAML frontmatter and system prompt body.
Required frontmatter: name, description, model, color
Optional: effort, maxTurns, disallowedTools, tools, initialPrompt, hooks
Key patterns:
<example> blocks for triggeringhooks field allows inline hook definitions scoped to agent lifetimeinitialPrompt auto-submits first turn.mcp.json)External tool integration via Model Context Protocol.
Server types: stdio (local process), http (streamable HTTP — recommended for remote)
Key patterns:
${CLAUDE_PLUGIN_ROOT} in server commands for portabilitymcp__plugin_<plugin>_<server>__<tool>/mcp command to verify servers loadedoutput-styles/*.md)Response behavior modification via markdown files + SessionStart hook injection.
Always fetch current docs for the latest output styles specification.
${CLAUDE_PLUGIN_ROOT} for all internal path referencesdocs/file-roles-and-dependencies.md)<example> blocks need description: | block scalar for YAML validationnpx claudepluginhub karimstekelenburg/k3m-marketplace --plugin plugin-devGuides creation of Claude Code plugins including skills, commands, agents, hooks, MCP servers, and configuration. Use for 'create plugin', 'make skill', scaffolding structures.
Guides creation and organization of Claude Code plugins: directory layout, plugin.json manifest, component structure for commands, agents, skills, and hooks.
Knowledge base on Claude Code formats, patterns, and configurations for commands, agents, skills, hooks, memory, plugins, settings. Use for creating, improving, auditing components.