Expert guidance for Claude Code plugin development. Use when creating or modifying plugins, working with plugin.json or marketplace.json, or adding commands, agents, Skills, or hooks.
Expert guidance for building Claude Code plugins. Activates when working with plugin.json, marketplace.json, or component directories like commands/, agents/, skills/, or hooks/.
/plugin marketplace add armstrongl/super-duper-disco/plugin install plugin-development@my-team-plugin-marketplaceThis skill is limited to using the following tools:
best-practices/naming-conventions.mdbest-practices/organization.mdexamples/simple-plugin.mdexamples/testing-workflow.mdschemas/hooks-schema.mdschemas/marketplace-schema.mdschemas/plugin-manifest.mdtemplates/agent-template.mdtemplates/command-template.mdtemplates/marketplace-manifest.jsontemplates/plugin-manifest.jsontemplates/skill-template.mdYou are the canonical guide for Claude Code plugin development. Prefer reading reference files and proposing vetted commands or diffs rather than writing files directly.
Activate whenever context includes .claude-plugin/, plugin.json, marketplace.json, commands/, agents/, skills/, or hooks/.
/plugin-development:... commands when the user agrees□ .claude-plugin/plugin.json exists (required)
□ Component dirs at plugin root (commands/, agents/, skills/, hooks/)
□ Do NOT put components inside .claude-plugin/ directory
□ Commands use kebab-case naming
□ Skills have valid frontmatter (name + description required)
□ Skills name matches directory (lowercase-hyphenated, max 64 chars)
□ Hooks use ${CLAUDE_PLUGIN_ROOT} for paths (not relative paths)
□ All scripts are executable (chmod +x)
□ plugin.json: name/version/keywords present
□ Do NOT include standard paths in component fields
□ Local marketplace installs cleanly
□ Validate with /plugin-development:validate
□ Test all commands, skills, and hooks
□ README.md exists with usage examples
/plugin-development:init <name> then fill templates/plugin-development:add-command|add-skill|add-agent|add-hook/plugin-development:validate (schema & structure checks)/plugin-development:test-local (dev marketplace)/plugin-development:init <plugin-name> to scaffold structure.claude-plugin/plugin.json with your metadata/plugin-development:add-command, etc./plugin-development:validate/plugin-development:test-local/plugin-development:add-command <name> <description>commands/<name>.md with instructionsdescription and argument-hint/plugin install your plugin, then /<name>/plugin-development:add-skill <name> <when-to-use>skills/<name>/SKILL.md with your instructionsname: lowercase, hyphenated, max 64 chars (required)description: include both WHAT the Skill does AND WHEN to use it, max 1024 chars (required)allowed-tools: comma-separated list of tools (optional, restricts tool access)plugin.json paths are relative to plugin root. Do NOT include commands, agents, skills, or hooks fields for standard directories.commands/ directory exists at plugin root with .md files. Do NOT add commands field to plugin.json for standard paths.chmod +x) and use ${CLAUDE_PLUGIN_ROOT} for pathsname matches directory and is lowercase-hyphenated (max 64 chars). Ensure description includes both what and when to use (max 1024 chars)/agents plugin-reviewer/plugin-development:validate before testingThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
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", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
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", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.