From plugin-dev
Use when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "configure plugin settings", "add LSP server", "configure language server", or needs guidance on plugin architecture, directory layout, manifest configuration, auto-discovery, or portable path references.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-dev:plugin-developmentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create, scaffold, and configure Claude Code plugins — directory layout, manifest, settings, LSP integration, and auto-discovery.
Create, scaffold, and configure Claude Code plugins — directory layout, manifest, settings, LSP integration, and auto-discovery.
Before answering ANY question about Claude Code plugin capabilities, syntax, or configuration:
firecrawl map https://code.claude.com/docs/en/ to see all available pages (optionally add --search "<topic>" to narrow)firecrawl scrape <url> -f markdown -o .firecrawl/<topic>.md to get the full pageKey doc pages to search for: plugins, plugins-reference, claude-directory, settings, output-styles
A plugin is a directory with .claude-plugin/plugin.json at minimum:
plugin-name/
├── .claude-plugin/
│ └── plugin.json # Required: at minimum {"name": "plugin-name"}
├── commands/ # Slash commands (.md files) — auto-discovered
├── agents/ # Subagent definitions (.md files) — auto-discovered
├── skills/ # Skills (subdirectories with SKILL.md) — auto-discovered
├── hooks/
│ └── hooks.json # Event handler configuration
├── .mcp.json # MCP server definitions
├── .lsp.json # LSP server definitions
└── output-styles/ # Output style definitions (.md files)
Components are auto-discovered. Only declare paths in plugin.json to override defaults.
${CLAUDE_PLUGIN_ROOT} — resolves to the plugin's install directory at runtime. Use in hooks, MCP configs, and scripts.${CLAUDE_PLUGIN_DATA} — persistent plugin state directory that survives updates.${CLAUDE_CODE_PLUGIN_SEED_DIR} — original plugin source directory (for development).Plugins can store per-project configuration via .claude/<plugin-name>.local.md:
awk frontmatter extractionAdd .lsp.json at plugin root or lspServers in plugin.json. Key points:
restartOnCrash: true for reliabilityAlways fetch current docs before advising on LSP configuration.
.claude-plugin/plugin.json--plugin-dir /path/to/plugin (development override)/reload-plugins for hot reload during developmentclaude plugin validate .k3m- prefix../../.claude-plugin/marketplace.json./docs/file-roles-and-dependencies.mdnpx claudepluginhub karimstekelenburg/k3m-marketplace --plugin plugin-devGuides developers on Claude Code plugin development, covering architecture, components, and routing to 9 specialized skills for tasks like structure, commands, agents, and LSP integration.
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.
Guides creation and organization of Claude Code plugins: directory layout, plugin.json manifest, component structure for commands, agents, skills, and hooks.