Claude Code Plugins Guide: Install, Build and Share
How Claude Code plugins work: installing from marketplaces, install scopes, the best official plugins, and building your own with skills, agents, hooks and MCP.
By Claudekit Team Published 11 min read
You’ve written a few skills, a reviewer subagent and a formatting hook. Now a teammate wants them, and so does your other repo. Copying folders around gets old fast. Plugins solve this: a plugin bundles skills, subagents, hooks and MCP servers into one unit that installs with a single command and updates from a marketplace.
This guide covers installing plugins, picking good ones, and building and sharing your own. Commands are verified against the official Claude Code plugin docs as of October 2026.
What a plugin is
A Claude Code plugin is a directory of components, usually with a manifest at .claude-plugin/plugin.json. The components can include:
- Skills (
skills/<name>/SKILL.md), run as/plugin-name:skill-name - Agents (
agents/*.md), subagent definitions - Hooks (
hooks/hooks.json), same shape ashooksin settings - MCP servers (
.mcp.json) - Legacy commands (
commands/*.md), the older flat-file form of skills - A hooks module written in JavaScript (a plugin with one is called a mod)
A marketplace is a catalog: a repository or directory with .claude-plugin/marketplace.json listing plugins and where to fetch them. It isn’t a hosted store.
Installing plugins
From Anthropic’s official marketplace
Claude Code adds Anthropic’s official marketplace, claude-plugins-official, the first time you start an interactive terminal session. Open the plugin manager:
/plugin
Browse the Discover tab, or install directly:
/plugin install commit-commands@claude-plugins-official
From your shell, without opening a session:
claude plugin install commit-commands@claude-plugins-official
On a fresh machine where no interactive session has run yet, add the marketplace first:
claude plugin marketplace add anthropics/claude-plugins-official
You can also browse plugins on the web at claude.com/marketplace; its Claude Code button copies the install command.
From other marketplaces
Add a marketplace once, then install by name:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
Marketplace sources can be a GitHub owner/repo (append #v1.2.0 to pin a tag), any git URL, a local path starting with ./, or a hosted marketplace.json URL.
Install scopes
| Scope | Enabled for | Stored in |
|---|---|---|
| User | You, in every project on this computer | Your user settings |
| Project | Everyone in the repo | .claude/settings.json (committed) |
| Local | You, in this repo only | Local settings |
Project scope enables the plugin for collaborators, but each still installs it on their own machine (claude plugin install <name>@<marketplace> --scope project). Plugins installed at user scope in the terminal are also available in the desktop app’s local sessions and the VS Code extension. Cloud sessions at claude.ai/code don’t load your local plugins.
Managing installed plugins
claude plugin list
claude plugin disable formatter@your-org
claude plugin enable formatter@your-org
claude plugin uninstall formatter@your-org --scope project
claude plugin update formatter@your-org
claude plugin details formatter
claude plugin details shows the plugin’s always-on token cost and which components contribute most. In /plugin, the Installed tab groups plugins you haven’t used recently.
What an enabled plugin costs
An enabled plugin is part of every session, not only the ones where you use it:
- Context: each skill, agent and command Claude can invoke on its own keeps its name and description in context every turn.
- Processes: its MCP servers run and its hooks fire.
- Permissions: whatever it runs, it runs as you.
Install deliberately, and disable what you don’t use.
Plugins worth knowing
Anthropic’s official marketplace includes, among others:
| Plugin | What it does (per its manifest) |
|---|---|
commit-commands | Commands for committing, pushing and creating pull requests |
feature-dev | Feature workflow with agents for exploration, architecture and review |
code-review | PR review using multiple specialised agents with confidence scoring |
pr-review-toolkit | Review agents for comments, tests, error handling, types and simplification |
security-guidance | Security warnings on edits and diff review for Claude-generated code |
hookify | Create hooks to prevent unwanted behaviours |
claude-md-management | Audit and maintain CLAUDE.md files |
plugin-dev | Toolkit for building plugins, agents, hooks and MCP integrations |
mcp-server-dev | Scaffold a new MCP server |
skill-creator | Create and evaluate skills |
| Language servers | typescript-lsp, pyright-lsp, gopls-lsp, rust-analyzer-lsp and more |
Third-party vendors also publish plugins there, including GitHub, Context7, Playwright, Linear and others. Community collections live in their own marketplaces; for example the Superpowers skills library and Anthropic’s public skills repository, which provides skill-creator and the document skills. Browse reviewed options, each with its install command, in our Claude Code plugins directory.
Building your own plugin
1. Create the structure
mkdir -p my-first-plugin/.claude-plugin
mkdir -p my-first-plugin/skills/hello
2. Write the manifest
my-first-plugin/.claude-plugin/plugin.json:
{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
name is required, has no spaces, and becomes the prefix for every skill and agent. Setting version pins users to that version until you change it.
3. Add a skill
my-first-plugin/skills/hello/SKILL.md:
---
name: hello
description: Greet the user with a friendly message
disable-model-invocation: true
---
Greet the user warmly and ask how you can help them today.
4. Validate and run
claude plugin validate ./my-first-plugin
claude --plugin-dir ./my-first-plugin
Then, in the session:
/my-first-plugin:hello
When you edit files during the session, run /reload-plugins to pick up changes.
Plugin layout rules
| Location | Contents |
|---|---|
.claude-plugin/plugin.json | The manifest (only this file goes in .claude-plugin/) |
skills/ | One <name>/SKILL.md folder per skill |
agents/ | One Markdown file per subagent |
hooks/hooks.json | {"hooks": { ... }} with the same shape as settings |
.mcp.json | MCP server definitions |
commands/ | Legacy flat command files |
The most common mistake is putting components inside .claude-plugin/. They won’t load there.
Two plugin-specific details: plugin subagents ignore the hooks, mcpServers and permissionMode frontmatter fields for security (ship hooks in hooks/hooks.json and servers in .mcp.json instead), and skills can reference bundled files with ${CLAUDE_PLUGIN_ROOT}.
Convert an existing setup
If you already have .claude/skills/, .claude/agents/ and hooks in settings, move them under the plugin root (skills/, agents/, hooks/hooks.json). Remember the names change: /deploy becomes /your-plugin:deploy.
For a guided build, install Anthropic’s plugin-dev plugin, which adds skills and agents for writing and validating components.
Sharing a plugin
Three options, from lightest to broadest:
- Send it directly. Share the folder or a
.zip; recipients load it with--plugin-dir. - Your own marketplace. Create a repo with
.claude-plugin/marketplace.json(full walkthrough: build a team plugin marketplace):
{
"name": "my-marketplace",
"description": "Plugins for my team",
"owner": {
"name": "Your Name"
},
"plugins": [
{
"name": "my-first-plugin",
"source": "./plugins/my-first-plugin",
"description": "A greeting plugin to learn the basics"
}
]
}
Teammates run /plugin marketplace add your-org/your-repo, then /plugin install my-first-plugin@my-marketplace, and receive your updates.
- Anthropic’s directory. Submit it for review; once accepted, people can add it on claude.ai and in Cowork, and it reaches Claude Code through their account.
Organisations can allowlist or block marketplaces and force-install plugins through managed settings.
Trust and security
A plugin can run code on your machine with your privileges (hooks, MCP servers, mods) and inject instructions into Claude’s context (skills, agents). Before installing:
- prefer Anthropic’s marketplaces or publishers you trust;
- read
hooks/hooks.json,.mcp.jsonand any scripts; - remember that auto-update can change files after you reviewed them;
- disable or uninstall plugins you stop using.
Plugins as your Claude kit
A plugin is the natural endpoint of a Claude kit: the packaged, versioned form of your skills, subagents, hooks and MCP servers. Commercial kits such as Agentkit.best take a different, larger-scale approach to the same idea; see Agentkit.best vs a DIY Claude kit. New to all this? Start with Getting started with Claude Code.
Frequently asked questions
Do I need a plugin to use skills, hooks or MCP servers?
No. All of them work standalone in .claude/ or ~/.claude/. Use a plugin when you want to package several components as one unit, share them with a team, or publish versioned releases.
Are plugins from the official marketplace safe?
Anthropic's marketplaces are a more trusted source, but any plugin you install can run code with your user privileges and add instructions to Claude's context. Review what a plugin contains, especially hooks, MCP servers and mods, before installing.
Do plugins cost context?
Yes, a little. For every skill, agent and command Claude can invoke on its own, the name and description sit in context on every turn while the plugin is enabled. Disable plugins you don't use; claude plugin details shows a plugin's always-on token cost.
Why does a plugin skill have a prefix like /my-plugin:hello?
Plugin skills and agents are namespaced with the plugin name so two plugins can each provide a skill called hello without colliding.