Introduction to Claude Plugins
Install a plugin and Claude Code immediately gains new skills, live connections to external services, and custom behaviour β all bundled in a single folder you can version and share.
What is a Claude Plugin?
A plugin is a shareable folder that extends Claude Code with new capabilities. Think of it as an app you install for Claude β once installed, it immediately knows new skills, can talk to external services, and behaves differently from the default assistant.
The three building blocks
A plugin can contain one, two, or all three of the following. You only include what your workflow actually needs.
Plugin folder structure
The only required file is .claude-plugin/plugin.json. All other directories are optional β add only what your plugin uses.
plugin.json lives inside .claude-plugin/. The skills/, agents/, and hooks/ directories must be at the plugin root β not inside .claude-plugin/.Build a minimal plugin β step by step
Let's create a plugin that adds a /code-review-plugin:review skill to Claude Code. Three files, five minutes.
Plugin lifecycle
From first write to sharing with your team, here is the typical flow:
Plugin vs standalone configuration
Claude Code also supports adding skills and commands directly in .claude/ without making a plugin. Use that for quick personal work β graduate to a plugin when you want to share.
.claude/commands/ for fast iteration. When ready to share, move the files into a plugin directory and add a plugin.json β that's the whole migration.- A plugin is a folder with a
plugin.jsonmanifest β that is the only required file. - It bundles Skills (instruction files), Connectors (MCP servers), and Commands (scripts) in any combination.
- Install locally with
--plugin-dir, share via Git, or publish to the marketplace. - Skills are namespaced β
/plugin-name:skill-nameβ so they never clash with other plugins.
What's Next
Plugins covered. Up next: Claude Cowork β the mode where Claude runs multi-step tasks autonomously inside Claude Desktop.