Part 2 · Lesson 10 of 16
How Claude Code Plugins Bundle Your Commands, Skills, and Hooks
Install a plugin. See how it bundles commands + skills + hooks.
10 min
Step 1 of 5 · What are plugins?
As your agentic development needs grow, managing individual custom commands, skills, and hooks in separate folders can become disorganized.
A plugin solves this by bundling your skills, hooks, and configuration together into a single, cohesive, and easily shareable package. Think of a plugin as a complete application or extension that you can drop into any workspace to instantly upgrade Claude Code.
Step 2 of 5 · The plugin directory structure
A typical Claude Code plugin directory structure looks like this:
my-awesome-plugin/
├── .claude-plugin/ <-- Metadata directory
│ └── plugin.json <-- The manifest lives here
├── skills/ <-- Custom skills folders
│ └── code-auditor/
│ └── SKILL.md
└── hooks/ <-- Automation scripts
└── hooks.json
The heart of the plugin is .claude-plugin/plugin.json. It carries the plugin's metadata, while the agent auto-discovers the skills, hooks, and other components from their directories at the plugin root.
Step 3 of 5 · The plugin.json file
Let's examine how plugin.json works. The manifest holds metadata — the name, version, and description. The name is the only required field, and it becomes the namespace prefix for every component the plugin ships:
{
"name": "developer-toolkit",
"version": "1.0.0",
"description": "Premium coding utilities for Claude Code."
}
You don't list each skill in the manifest. Claude Code auto-discovers components from their default directories: a skill folder at skills/code-auditor/SKILL.md is found automatically and exposed as the namespaced skill /developer-toolkit:code-auditor. The folder name becomes the skill name, and the manifest's name becomes the prefix.
Step 4 of 5 · Installing and sharing plugins
To test a local plugin during development, launch Claude Code with the --plugin-dir flag pointing at the plugin directory. To share plugins for everyday use, you distribute them through a marketplace and install with the /plugin command (or claude plugin install), which registers the plugin in your settings.
This makes it extremely easy to:
- Share custom agent behaviors across your engineering team.
- Standardize code quality checks across different microservice repos.
- Build tailored assistants for proprietary internal frameworks.
Step 5 of 5 · Checkpoint & Recap
Recap
- Plugins: Cohesive packages that bundle commands, skills, and hooks.
plugin.json: The core manifest file that registers and coordinates all tools within the plugin.- Portability: Plugins make it easy to copy, distribute, and standardize AI agent workflows across projects and teams.