plugin-development

Create and configure Claude Code plugins with manifests, components, and LSP integration.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill plugin-development-karimstekelenburg
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: plugin-development
Source: https://github.com/karimStekelenburg/k3m-marketplace/tree/main/plugins/plugin-dev/skills/plugin-development
Command: npx skills add https://github.com/karimStekelenburg/k3m-marketplace --skill plugin-development-karimstekelenburg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building Claude Code plugins requires knowing the correct directory layout, manifest format, auto-discovery rules, and configuration patterns, and getting any of these wrong leads to plugins that fail to load or validate. ## Core Features & Use Cases - Plugin Scaffolding: Guides creation of the plugin directory structure with .claude-plugin/plugin.json, commands, agents, skills, hooks, and MCP/LSP configuration files. - Manifest & Settings Configuration: Explains plugin.json fields, portable path variables like ${CLAUDE_PLUGIN_ROOT}, and per-project settings via .claude/<plugin-name>.local.md. - Doc-Grounded Answers: Mandates fetching live Claude Code documentation via firecrawl before answering capability or syntax questions, avoiding outdated advice. - Use Case: You want to add a language server to your plugin. The skill walks you through creating .lsp.json with restartOnCrash, documenting the binary requirement, and validating with claude plugin validate. ## Quick Start Ask the assistant to scaffold a new Claude Code plugin with a slash command and an LSP server configuration.

Frequently Asked Questions about plugin-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Claude Code plugin?▼

Create a directory containing .claude-plugin/plugin.json with at minimum a name field, then add component directories like commands/, agents/, or skills/. Components are auto-discovered, and you can test with --plugin-dir and validate using claude plugin validate.

What is the required structure of plugin.json?▼

At minimum, plugin.json needs a name field matching the plugin directory. You only declare paths in plugin.json to override auto-discovery defaults, and all paths should start with ./ for marketplace plugins.

How do I add an LSP server to a Claude Code plugin?▼

Add a .lsp.json file at the plugin root or define lspServers in plugin.json, configuring only the connection rather than bundling the server binary. Document the required binary installation in the README and use restartOnCrash for reliability.

What is ${CLAUDE_PLUGIN_ROOT} used for?▼

${CLAUDE_PLUGIN_ROOT} resolves to the plugin's install directory at runtime, making paths portable across machines. Use it in hooks, MCP configs, and scripts instead of hardcoded absolute paths.

How do I test a Claude Code plugin during development?▼

Use the --plugin-dir flag pointing at your plugin directory as a development override, then run /reload-plugins for hot reload after changes. Finish by running claude plugin validate to confirm the structure is correct.