Plugins & Marketplace — Distribution Layer: Turning Capabilities into Team Assets
In the previous four articles, you learned how to equip an agent: memory (CLAUDE.md), expertise (Skills), control (Hooks), delegation (Subagents). However, there is an organizational issue: if each person in the team rewrites skills, reconfigures subagents, and reconstructs hooks on their own — then AI capabilities remain scattered in the minds of individuals.
Plugins solve this problem. Once a capability has been standardized, it is packaged into a plugin to be shared with the entire team — installed with one command. This is the step that transforms AI from "personal skills" into operational assets of the organization.
What is a Plugin
A plugin is a self-contained directory that packages multiple components to extend Claude Code: skills, agents (subagents), hooks, MCP servers, along with slash commands, LSP servers, monitors... — all installed with one command (Claude Docs — Plugins reference; Anthropic — Claude Code plugins).
A key point to understand: a plugin is not a new feature. It simply packages and distributes existing components (skills/agents/hooks/MCP) into a versioned unit, installed with one command. Think of it as "npm packages for agent capabilities."
plugin.json and Directory Structure
The plugin manifest is located at .claude-plugin/plugin.json. Notably: the manifest is optional — if omitted, Claude Code will automatically detect components in the default location and derive names from the directory. The only mandatory field is name (in kebab-case) (Claude Docs — Plugins reference):
{
"name": "deployment-tools",
"version": "1.2.0",
"description": "Automation deployment toolkit",
"author": { "name": "Dev Team" }
}The standard directory structure — note that components are placed at the root of the plugin, NOT inside .claude-plugin/:
my-plugin/
├── .claude-plugin/plugin.json ← ONLY manifest here
├── skills/<name>/SKILL.md
├── commands/*.md
├── agents/*.md
├── hooks/hooks.json
├── .mcp.json
└── scripts/There are useful path variables: ${CLAUDE_PLUGIN_ROOT} (installation directory, changes with each update), ${CLAUDE_PLUGIN_DATA} (persistent data, survives updates), and ${CLAUDE_PROJECT_DIR}.
Marketplace: Application Store for Plugins
Marketplace is a plugin catalog (file .claude-plugin/marketplace.json). The usage process consists of two steps, similar to "adding an app store and then downloading an app" (Claude Docs — Discover plugins):
- Add marketplace:
/plugin marketplace add anthropics/claude-plugins-official(in the formatowner/repoon GitHub, or git URL / local path). - Install plugin: select a plugin from the marketplace to install.
Anthropic has an official marketplace claude-plugins-official, automatically available to all users; view the catalog at claude.com/plugins. Additionally, there is a community marketplace anthropics/claude-plugins-community.
Common CLI commands include: claude plugin init | install | uninstall | enable | disable | update | list | details. For example, installing within the project scope:
claude plugin install formatter@my-marketplace --scope projectThe official marketplace includes several notable groups (github.com/anthropics/claude-plugins-official): code intelligence (LSP for Python/TypeScript/Rust...), external integrations (pre-built MCP for GitHub, GitLab, Notion, Figma, Vercel, Supabase, Slack, Sentry...), security-guidance (self-review vulnerabilities), and dev workflows (commit-commands, pr-review-toolkit, plugin-dev...).
Minimal Example
A plugin that can be installed may consist of just two things: a plugin.json with name + description, and a skills/foo/SKILL.md. From that foundation, you can gradually add subagents, hooks, and MCP servers as needed — all packaged in a version-controlled directory.
Plugin Management for Organizations (Team/Enterprise)
This is where Plugins shine for businesses. Team/Enterprise package owners can create an internal marketplace and distribute approved plugins across the organization, precisely controlling which members see and use which plugins (Anthropic Support — Manage plugins for your organization).
Technically, admins declare extraKnownMarketplaces and enabledPlugins in .claude/settings.json (project) or managed settings, along with options like autoUpdate, strictKnownMarketplaces, blockedMarketplaces. With the managed scope, the configuration is read-only for users — meaning a mandatory company-level standard.
Practical implication: instead of "each AI user has their own style," organizations can standardize a standard skill set + a standard agent set + a standard hook set + a standard MCP set and push it down to all machines through the internal marketplace.
Security — Agent Supply Chain
Plugins and the marketplace are components trusted at a high level: they run arbitrary code with user permissions. Therefore, the number one principle is only install from trusted sources (Claude Docs — Plugins reference). This is the familiar "supply chain security" problem: a malicious plugin could contain a hook that deletes files or an MCP server that leaks data.
Some common technical errors when writing plugins yourself: placing components incorrectly in .claude-plugin/ (must be at the root); forgetting to use ${CLAUDE_PLUGIN_ROOT} causing MCP/hooks to not find files; forgetting chmod +x for hook scripts.
Summary & Next Steps
Plugins are a distribution layer: packaging skills + subagents + hooks + MCP + commands into a single install command, sharing through the marketplace, and allowing organizations to standardize + manage AI capabilities at the team scale. The plugin itself does not add new capabilities — it replicates existing capabilities across the team.
Among the components that the plugin packages, there is one we have not dissected in detail: MCP servers — the connection layer that links Claude with external tools and data. That is Article 6, the final piece before we put everything together.
References
- Anthropic — Customize Claude Code with plugins: https://www.anthropic.com/news/claude-code-plugins
- Claude Docs — Plugins reference: https://code.claude.com/docs/en/plugins-reference
- Claude Docs — Discover and install plugins through marketplaces: https://code.claude.com/docs/en/discover-plugins
- Claude Docs — Create and distribute a plugin marketplace: https://code.claude.com/docs/en/plugin-marketplaces
- Anthropic Support — Manage plugins for your organization: https://support.claude.com/en/articles/13837433-manage-plugins-for-your-organization
- GitHub — anthropics/claude-plugins-official: https://github.com/anthropics/claude-plugins-official
Article 5/7 in the "Agent Development Toolkit with Claude" series. Content rephrased from the original documentation by Anthropic. Previous ← Article 4: Subagents · Next → Article 6: MCP Servers.
