| # Plugin Development Toolkit |
|
|
| A comprehensive toolkit for developing Claude Code plugins with expert guidance on hooks, MCP integration, plugin structure, and marketplace publishing. |
|
|
| ## Overview |
|
|
| The plugin-dev toolkit provides seven specialized skills to help you build high-quality Claude Code plugins: |
|
|
| 1. **Hook Development** - Advanced hooks API and event-driven automation |
| 2. **MCP Integration** - Model Context Protocol server integration |
| 3. **Plugin Structure** - Plugin organization and manifest configuration |
| 4. **Plugin Settings** - Configuration patterns using .claude/plugin-name.local.md files |
| 5. **Command Development** - Creating slash commands with frontmatter and arguments |
| 6. **Agent Development** - Creating autonomous agents with AI-assisted generation |
| 7. **Skill Development** - Creating skills with progressive disclosure and strong triggers |
|
|
| Each skill follows best practices with progressive disclosure: lean core documentation, detailed references, working examples, and utility scripts. |
|
|
| ## Guided Workflow Command |
|
|
| ### /plugin-dev:create-plugin |
|
|
| A comprehensive, end-to-end workflow command for creating plugins from scratch, similar to the feature-dev workflow. |
|
|
| **8-Phase Process:** |
| 1. **Discovery** - Understand plugin purpose and requirements |
| 2. **Component Planning** - Determine needed skills, commands, agents, hooks, MCP |
| 3. **Detailed Design** - Specify each component and resolve ambiguities |
| 4. **Structure Creation** - Set up directories and manifest |
| 5. **Component Implementation** - Create each component using AI-assisted agents |
| 6. **Validation** - Run plugin-validator and component-specific checks |
| 7. **Testing** - Verify plugin works in Claude Code |
| 8. **Documentation** - Finalize README and prepare for distribution |
|
|
| **Features:** |
| - Asks clarifying questions at each phase |
| - Loads relevant skills automatically |
| - Uses agent-creator for AI-assisted agent generation |
| - Runs validation utilities (validate-agent.sh, validate-hook-schema.sh, etc.) |
| - Follows plugin-dev's own proven patterns |
| - Guides through testing and verification |
|
|
| **Usage:** |
| ```bash |
| /plugin-dev:create-plugin [optional description] |
| |
| # Examples: |
| /plugin-dev:create-plugin |
| /plugin-dev:create-plugin A plugin for managing database migrations |
| ``` |
|
|
| Use this workflow for structured, high-quality plugin development from concept to completion. |
|
|
| ## Skills |
|
|
| ### 1. Hook Development |
|
|
| **Trigger phrases:** "create a hook", "add a PreToolUse hook", "validate tool use", "implement prompt-based hooks", "${CLAUDE_PLUGIN_ROOT}", "block dangerous commands" |
|
|
| **What it covers:** |
| - Prompt-based hooks (recommended) with LLM decision-making |
| - Command hooks for deterministic validation |
| - All hook events: PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification |
| - Hook output formats and JSON schemas |
| - Security best practices and input validation |
| - ${CLAUDE_PLUGIN_ROOT} for portable paths |
|
|
| **Resources:** |
| - Core SKILL.md (1,619 words) |
| - 3 example hook scripts (validate-write, validate-bash, load-context) |
| - 3 reference docs: patterns, migration, advanced techniques |
| - 3 utility scripts: validate-hook-schema.sh, test-hook.sh, hook-linter.sh |
|
|
| **Use when:** Creating event-driven automation, validating operations, or enforcing policies in your plugin. |
|
|
| ### 2. MCP Integration |
|
|
| **Trigger phrases:** "add MCP server", "integrate MCP", "configure .mcp.json", "Model Context Protocol", "stdio/SSE/HTTP server", "connect external service" |
|
|
| **What it covers:** |
| - MCP server configuration (.mcp.json vs plugin.json) |
| - All server types: stdio (local), SSE (hosted/OAuth), HTTP (REST), WebSocket (real-time) |
| - Environment variable expansion (${CLAUDE_PLUGIN_ROOT}, user vars) |
| - MCP tool naming and usage in commands/agents |
| - Authentication patterns: OAuth, tokens, env vars |
| - Integration patterns and performance optimization |
|
|
| **Resources:** |
| - Core SKILL.md (1,666 words) |
| - 3 example configurations (stdio, SSE, HTTP) |
| - 3 reference docs: server-types (~3,200w), authentication (~2,800w), tool-usage (~2,600w) |
|
|
| **Use when:** Integrating external services, APIs, databases, or tools into your plugin. |
|
|
| ### 3. Plugin Structure |
|
|
| **Trigger phrases:** "plugin structure", "plugin.json manifest", "auto-discovery", "component organization", "plugin directory layout" |
|
|
| **What it covers:** |
| - Standard plugin directory structure and auto-discovery |
| - plugin.json manifest format and all fields |
| - Component organization (commands, agents, skills, hooks) |
| - ${CLAUDE_PLUGIN_ROOT} usage throughout |
| - File naming conventions and best practices |
| - Minimal, standard, and advanced plugin patterns |
|
|
| **Resources:** |
| - Core SKILL.md (1,619 words) |
| - 3 example structures (minimal, standard, advanced) |
| - 2 reference docs: component-patterns, manifest-reference |
|
|
| **Use when:** Starting a new plugin, organizing components, or configuring the plugin manifest. |
|
|
| ### 4. Plugin Settings |
|
|
| **Trigger phrases:** "plugin settings", "store plugin configuration", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings" |
|
|
| **What it covers:** |
| - .claude/plugin-name.local.md pattern for configuration |
| - YAML frontmatter + markdown body structure |
| - Parsing techniques for bash scripts (sed, awk, grep patterns) |
| - Temporarily active hooks (flag files and quick-exit) |
| - Real-world examples from multi-agent-swarm and ralph-wiggum plugins |
| - Atomic file updates and validation |
| - Gitignore and lifecycle management |
|
|
| **Resources:** |
| - Core SKILL.md (1,623 words) |
| - 3 examples (read-settings hook, create-settings command, templates) |
| - 2 reference docs: parsing-techniques, real-world-examples |
| - 2 utility scripts: validate-settings.sh, parse-frontmatter.sh |
|
|
| **Use when:** Making plugins configurable, storing per-project state, or implementing user preferences. |
|
|
| ### 5. Command Development |
|
|
| **Trigger phrases:** "create a slash command", "add a command", "command frontmatter", "define command arguments", "organize commands" |
|
|
| **What it covers:** |
| - Slash command structure and markdown format |
| - YAML frontmatter fields (description, argument-hint, allowed-tools) |
| - Dynamic arguments and file references |
| - Bash execution for context |
| - Command organization and namespacing |
| - Best practices for command development |
|
|
| **Resources:** |
| - Core SKILL.md (1,535 words) |
| - Examples and reference documentation |
| - Command organization patterns |
|
|
| **Use when:** Creating slash commands, defining command arguments, or organizing plugin commands. |
|
|
| ### 6. Agent Development |
|
|
| **Trigger phrases:** "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "autonomous agent" |
|
|
| **What it covers:** |
| - Agent file structure (YAML frontmatter + system prompt) |
| - All frontmatter fields (name, description, model, color, tools) |
| - Description format with <example> blocks for reliable triggering |
| - System prompt design patterns (analysis, generation, validation, orchestration) |
| - AI-assisted agent generation using Claude Code's proven prompt |
| - Validation rules and best practices |
| - Complete production-ready agent examples |
|
|
| **Resources:** |
| - Core SKILL.md (1,438 words) |
| - 2 examples: agent-creation-prompt (AI-assisted workflow), complete-agent-examples (4 full agents) |
| - 3 reference docs: agent-creation-system-prompt (from Claude Code), system-prompt-design (~4,000w), triggering-examples (~2,500w) |
| - 1 utility script: validate-agent.sh |
|
|
| **Use when:** Creating autonomous agents, defining agent behavior, or implementing AI-assisted agent generation. |
|
|
| ### 7. Skill Development |
|
|
| **Trigger phrases:** "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content" |
|
|
| **What it covers:** |
| - Skill structure (SKILL.md with YAML frontmatter) |
| - Progressive disclosure principle (metadata β SKILL.md β resources) |
| - Strong trigger descriptions with specific phrases |
| - Writing style (imperative/infinitive form, third person) |
| - Bundled resources organization (references/, examples/, scripts/) |
| - Skill creation workflow |
| - Based on skill-creator methodology adapted for Claude Code plugins |
|
|
| **Resources:** |
| - Core SKILL.md (1,232 words) |
| - References: skill-creator methodology, plugin-dev patterns |
| - Examples: Study plugin-dev's own skills as templates |
|
|
| **Use when:** Creating new skills for plugins or improving existing skill quality. |
|
|
|
|
| ## Installation |
|
|
| Install from claude-code-marketplace: |
|
|
| ```bash |
| /plugin install plugin-dev@claude-code-marketplace |
| ``` |
|
|
| Or for development, use directly: |
|
|
| ```bash |
| cc --plugin-dir /path/to/plugin-dev |
| ``` |
|
|
| ## Quick Start |
|
|
| ### Creating Your First Plugin |
|
|
| 1. **Plan your plugin structure:** |
| - Ask: "What's the best directory structure for a plugin with commands and MCP integration?" |
| - The plugin-structure skill will guide you |
|
|
| 2. **Add MCP integration (if needed):** |
| - Ask: "How do I add an MCP server for database access?" |
| - The mcp-integration skill provides examples and patterns |
|
|
| 3. **Implement hooks (if needed):** |
| - Ask: "Create a PreToolUse hook that validates file writes" |
| - The hook-development skill gives working examples and utilities |
|
|
|
|
| ## Development Workflow |
|
|
| The plugin-dev toolkit supports your entire plugin development lifecycle: |
|
|
| ``` |
| βββββββββββββββββββββββ |
| β Design Structure β β plugin-structure skill |
| β (manifest, layout) β |
| ββββββββββββ¬βββββββββββ |
| β |
| ββββββββββββΌβββββββββββ |
| β Add Components β |
| β (commands, agents, β β All skills provide guidance |
| β skills, hooks) β |
| ββββββββββββ¬βββββββββββ |
| β |
| ββββββββββββΌβββββββββββ |
| β Integrate Services β β mcp-integration skill |
| β (MCP servers) β |
| ββββββββββββ¬βββββββββββ |
| β |
| ββββββββββββΌβββββββββββ |
| β Add Automation β β hook-development skill |
| β (hooks, validation)β + utility scripts |
| ββββββββββββ¬βββββββββββ |
| β |
| ββββββββββββΌβββββββββββ |
| β Test & Validate β β hook-development utilities |
| β β validate-hook-schema.sh |
| ββββββββββββ¬βββββββββββ test-hook.sh |
| β hook-linter.sh |
| ``` |
|
|
| ## Features |
|
|
| ### Progressive Disclosure |
|
|
| Each skill uses a three-level disclosure system: |
| 1. **Metadata** (always loaded): Concise descriptions with strong triggers |
| 2. **Core SKILL.md** (when triggered): Essential API reference (~1,500-2,000 words) |
| 3. **References/Examples** (as needed): Detailed guides, patterns, and working code |
|
|
| This keeps Claude Code's context focused while providing deep knowledge when needed. |
|
|
| ### Utility Scripts |
|
|
| The hook-development skill includes production-ready utilities: |
|
|
| ```bash |
| # Validate hooks.json structure |
| ./validate-hook-schema.sh hooks/hooks.json |
| |
| # Test hooks before deployment |
| ./test-hook.sh my-hook.sh test-input.json |
| |
| # Lint hook scripts for best practices |
| ./hook-linter.sh my-hook.sh |
| ``` |
|
|
| ### Working Examples |
|
|
| Every skill provides working examples: |
| - **Hook Development**: 3 complete hook scripts (bash, write validation, context loading) |
| - **MCP Integration**: 3 server configurations (stdio, SSE, HTTP) |
| - **Plugin Structure**: 3 plugin layouts (minimal, standard, advanced) |
| - **Plugin Settings**: 3 examples (read-settings hook, create-settings command, templates) |
| - **Command Development**: 10 complete command examples (review, test, deploy, docs, etc.) |
|
|
| ## Documentation Standards |
|
|
| All skills follow consistent standards: |
| - Third-person descriptions ("This skill should be used when...") |
| - Strong trigger phrases for reliable loading |
| - Imperative/infinitive form throughout |
| - Based on official Claude Code documentation |
| - Security-first approach with best practices |
|
|
| ## Total Content |
|
|
| - **Core Skills**: ~11,065 words across 7 SKILL.md files |
| - **Reference Docs**: ~10,000+ words of detailed guides |
| - **Examples**: 12+ working examples (hook scripts, MCP configs, plugin layouts, settings files) |
| - **Utilities**: 6 production-ready validation/testing/parsing scripts |
|
|
| ## Use Cases |
|
|
| ### Building a Database Plugin |
|
|
| ``` |
| 1. "What's the structure for a plugin with MCP integration?" |
| β plugin-structure skill provides layout |
| |
| 2. "How do I configure an stdio MCP server for PostgreSQL?" |
| β mcp-integration skill shows configuration |
| |
| 3. "Add a Stop hook to ensure connections close properly" |
| β hook-development skill provides pattern |
| |
| ``` |
|
|
| ### Creating a Validation Plugin |
|
|
| ``` |
| 1. "Create hooks that validate all file writes for security" |
| β hook-development skill with examples |
| |
| 2. "Test my hooks before deploying" |
| β Use validate-hook-schema.sh and test-hook.sh |
| |
| 3. "Organize my hooks and configuration files" |
| β plugin-structure skill shows best practices |
| |
| ``` |
|
|
| ### Integrating External Services |
|
|
| ``` |
| 1. "Add Asana MCP server with OAuth" |
| β mcp-integration skill covers SSE servers |
| |
| 2. "Use Asana tools in my commands" |
| β mcp-integration tool-usage reference |
| |
| 3. "Structure my plugin with commands and MCP" |
| β plugin-structure skill provides patterns |
| ``` |
|
|
| ## Best Practices |
|
|
| All skills emphasize: |
|
|
| β
**Security First** |
| - Input validation in hooks |
| - HTTPS/WSS for MCP servers |
| - Environment variables for credentials |
| - Principle of least privilege |
|
|
| β
**Portability** |
| - Use ${CLAUDE_PLUGIN_ROOT} everywhere |
| - Relative paths only |
| - Environment variable substitution |
|
|
| β
**Testing** |
| - Validate configurations before deployment |
| - Test hooks with sample inputs |
| - Use debug mode (`claude --debug`) |
|
|
| β
**Documentation** |
| - Clear README files |
| - Documented environment variables |
| - Usage examples |
|
|
| ## Contributing |
|
|
| This plugin is part of the claude-code-marketplace. To contribute improvements: |
|
|
| 1. Fork the marketplace repository |
| 2. Make changes to plugin-dev/ |
| 3. Test locally with `cc --plugin-dir` |
| 4. Create PR following marketplace-publishing guidelines |
|
|
| ## Version |
|
|
| 0.1.0 - Initial release with seven comprehensive skills and three validation agents |
|
|
| ## Author |
|
|
| Daisy Hollman (daisy@anthropic.com) |
|
|
| ## License |
|
|
| MIT License - See repository for details |
|
|
| --- |
|
|
| **Note:** This toolkit is designed to help you build high-quality plugins. The skills load automatically when you ask relevant questions, providing expert guidance exactly when you need it. |
|
|