From superpowers-developing-for-claude-code
Develops Claude Code plugins through planning, structure setup, component addition (skills, commands, hooks, MCP), dev marketplace testing, release workflows, with patterns and examples.
npx claudepluginhub jmagar/lab --plugin superpowers-developing-for-claude-codeThis skill uses the workspace's default tool permissions.
This skill provides efficient workflows for creating Claude Code plugins. Use it to make plugin development fast and correct - it synthesizes official docs into actionable steps and provides working examples.
Guides developers in creating, scaffolding, validating, and publishing Claude Code plugins including directory structure, plugin.json schema, YAML frontmatter, agents, commands, skills, and marketplace deployment.
Documents Claude Code plugin structure including directory layout, plugin.json manifest, commands/agents/skills/hooks organization, naming conventions, and auto-discovery.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Share bugs, ideas, or general feedback.
This skill provides efficient workflows for creating Claude Code plugins. Use it to make plugin development fast and correct - it synthesizes official docs into actionable steps and provides working examples.
Use this skill when:
For comprehensive official documentation, use the working-with-claude-code skill to access full docs.
| Need to... | Read This | Official Docs |
|---|---|---|
| Understand directory structure | references/plugin-structure.md | plugins.md |
| Choose a plugin pattern | references/common-patterns.md | plugins.md |
| Make hooks work cross-platform | references/polyglot-hooks.md | hooks.md |
| Debug plugin issues | references/troubleshooting.md | Various |
| See working examples | examples/ directory | N/A |
Before writing code:
Define your plugin's purpose
Choose your pattern (read references/common-patterns.md)
Review examples
examples/simple-greeter-plugin/ - Minimal pluginexamples/full-featured-plugin/ - All components~/.claude/plugins/Create directories (see references/plugin-structure.md for details):
mkdir -p my-plugin/.claude-plugin
mkdir -p my-plugin/skills
# Add other component directories as needed
Write plugin.json (required):
{
"name": "my-plugin",
"version": "1.0.0",
"description": "What your plugin does",
"author": {"name": "Your Name"}
}
See references/plugin-structure.md for complete format.
Create development marketplace (for local testing):
Create .claude-plugin/marketplace.json:
{
"name": "my-dev",
"plugins": [{
"name": "my-plugin",
"source": "./"
}]
}
See references/plugin-structure.md for complete format.
Use TodoWrite to track component creation:
Example:
- Create skill: main-workflow
- Add command: /hello
- Configure hooks
- Write README
- Test installation
For each component type, see:
references/plugin-structure.mdreferences/common-patterns.mdexamples/ directoryInstall for testing:
/plugin marketplace add /path/to/my-plugin
/plugin install my-plugin@my-dev
Then restart Claude Code.
Test each component:
/your-commandIterate:
/plugin uninstall my-plugin@my-dev
# Make changes
/plugin install my-plugin@my-dev
# Restart Claude Code
If something doesn't work, read references/troubleshooting.md for:
Common issues are usually:
${CLAUDE_PLUGIN_ROOT})Write README with:
Version your release using semantic versioning:
version in .claude-plugin/plugin.json"version": "1.2.1" (major.minor.patch)Commit and tag your release:
git add .
git commit -m "Release v1.2.1: [brief description]"
git tag v1.2.1
git push origin main
git push origin v1.2.1
Choose distribution method:
Option A: Direct GitHub distribution
/plugin marketplace add your-org/your-plugin-repoOption B: Marketplace distribution (recommended for multi-plugin collections)
.claude-plugin/marketplace.json with plugin references:
{
"name": "my-marketplace",
"owner": {"name": "Your Name"},
"plugins": [{
"name": "your-plugin",
"source": {
"source": "url",
"url": "https://github.com/your-org/your-plugin.git"
},
"version": "1.2.1",
"description": "Plugin description"
}]
}
/plugin marketplace add your-org/your-marketplaceOption C: Private/team distribution
.claude/settings.json:
{
"extraKnownMarketplaces": {
"team-tools": {
"source": {"source": "github", "repo": "your-org/plugins"}
}
}
}
Test the release:
# Test fresh installation
/plugin marketplace add your-marketplace-source
/plugin install your-plugin@marketplace-name
# Verify functionality, then clean up
/plugin uninstall your-plugin@marketplace-name
Announce and maintain:
Always follow these (from references/plugin-structure.md):
.claude-plugin/ contains ONLY manifests (plugin.json and optionally marketplace.json)
Use ${CLAUDE_PLUGIN_ROOT} for all paths in config files
Use relative paths in plugin.json
./Make scripts executable
chmod +x script.shreferences/plugin-structure.md - Directory layout, file formats, component syntaxreferences/common-patterns.md - When to use each plugin pattern, examplesreferences/polyglot-hooks.md - Cross-platform hook wrapper for Windows/macOS/Linuxreferences/troubleshooting.md - Debug guide for common issuesexamples/simple-greeter-plugin/ - Minimal working plugin (one skill)examples/full-featured-plugin/ - Complete plugin with all components (includes run-hook.cmd)For deep dives into official documentation, use the working-with-claude-code skill to access:
plugins.md - Plugin development overviewplugins-reference.md - Complete API referenceskills.md - Skill authoring guideslash-commands.md - Command formathooks.md, hooks-guide.md - Hook systemmcp.md - MCP server integrationplugin-marketplaces.md - DistributionPlan → Choose pattern, review examples
Create → Make structure, write manifests
Add → Build components (skills, commands, etc.)
Test → Install via dev marketplace
Debug → Use troubleshooting guide
Release → Version, tag, distribute via marketplace
Maintain → Monitor, update, support users
The correct path is the fast path. Use references, follow patterns, test frequently.