What Plugins Can Do — The 8 Capability Types
A Claude Code plugin bundles one or more capability types into a distributable unit. Understanding all eight types — from skills to LSP servers to background monitors — determines what problems plugins can solve and when building one is the right choice.
Quick Reference
- →Plugins bundle 8 capability types: Skills, Subagents, MCP Servers, Hooks, LSP Servers, Custom Commands, Monitors, and Default Settings
- →Plugin manifest lives in .claude-plugin/plugin.json
- →Skills from plugins are namespaced: /plugin-name:skill-name
- →LSP support landed December 2025 (v2.0.74+) — 11 languages supported
- →Monitors continuously watch external sources unlike hooks (event-driven)
- →Default Settings ship opinionated config with the plugin
- →Registry vs local plugins: install from registry or local path
- →Visual output renders interactive HTML in Desktop app preview pane
What Is a Plugin?
A Claude Code plugin is a distributable package that extends Claude Code's capabilities. It bundles one or more capability types — skills, agents, MCP servers, hooks, LSP servers, monitors, custom commands, or default settings — into a single installable unit. Install it once and every capability it defines becomes available.
The distinction between a plugin and a project's .claude/ directory is distribution. Your project's .claude/ directory is per-repository configuration. A plugin is a shareable, installable package that can be used across many projects — whether you built it for your team or installed it from the registry.