plugins/plugin-dev/README.md
A comprehensive toolkit for developing Claude Code plugins with expert guidance on hooks, MCP integration, plugin structure, and marketplace publishing.
The plugin-dev toolkit provides seven specialized skills to help you build high-quality Claude Code plugins:
Each skill follows best practices with progressive disclosure: lean core documentation, detailed references, working examples, and utility scripts.
A comprehensive, end-to-end workflow command for creating plugins from scratch, similar to the feature-dev workflow.
8-Phase Process:
Features:
Usage:
/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.
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:
Resources:
Use when: Creating event-driven automation, validating operations, or enforcing policies in your plugin.
Trigger phrases: "add MCP server", "integrate MCP", "configure .mcp.json", "Model Context Protocol", "stdio/SSE/HTTP server", "connect external service"
What it covers:
Resources:
Use when: Integrating external services, APIs, databases, or tools into your plugin.
Trigger phrases: "plugin structure", "plugin.json manifest", "auto-discovery", "component organization", "plugin directory layout"
What it covers:
Resources:
Use when: Starting a new plugin, organizing components, or configuring the plugin manifest.
Trigger phrases: "plugin settings", "store plugin configuration", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings"
What it covers:
Resources:
Use when: Making plugins configurable, storing per-project state, or implementing user preferences.
Trigger phrases: "create a slash command", "add a command", "command frontmatter", "define command arguments", "organize commands"
What it covers:
Resources:
Use when: Creating slash commands, defining command arguments, or organizing plugin commands.
Trigger phrases: "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "autonomous agent"
What it covers:
Resources:
Use when: Creating autonomous agents, defining agent behavior, or implementing AI-assisted agent generation.
Trigger phrases: "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content"
What it covers:
Resources:
Use when: Creating new skills for plugins or improving existing skill quality.
Install from claude-code-marketplace:
/plugin install plugin-dev@claude-code-marketplace
Or for development, use directly:
cc --plugin-dir /path/to/plugin-dev
Plan your plugin structure:
Add MCP integration (if needed):
Implement hooks (if needed):
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
Each skill uses a three-level disclosure system:
This keeps Claude Code's context focused while providing deep knowledge when needed.
The hook-development skill includes production-ready utilities:
# 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
Every skill provides working examples:
All skills follow consistent standards:
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
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
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
All skills emphasize:
✅ Security First
✅ Portability
✅ Testing
claude --debug)✅ Documentation
This plugin is part of the claude-code-marketplace. To contribute improvements:
cc --plugin-dir0.1.0 - Initial release with seven comprehensive skills and three validation agents
Daisy Hollman ([email protected])
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.