★ OverviewIntermediate11 min

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?

Definition

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.

Plugin directory structure — each directory corresponds to a capability type