What are Claude Code Plugins

Composite packages bundling multiple capabilities

Claude Code plugins are composite packages that bundle multiple capabilities together - skills, agents, commands, hooks, and MCP servers - into a single installable unit.

While individual artifacts like skills and commands are useful on their own, plugins let you package related functionality together for easier distribution and installation.

What can a plugin contain?

A plugin can include any combination of:

  • Skills - Reusable capabilities Claude applies automatically
  • Agents - Specialized assistants with custom prompts
  • Commands - Custom slash commands you run explicitly
  • Hooks - Event-driven automation (PreToolUse, PostToolUse, etc.)
  • MCP Servers - External tool integrations via Model Context Protocol

Plugin structure

Every plugin has a plugin.json manifest that defines its contents:

{
  "name": "my-plugin",
  "description": "What this plugin does",
  "version": "1.0.0",
  "skills": ["./skills/"],
  "agents": ["./agents/"],
  "commands": ["./commands/"],
  "hooks": ["./hooks/"]
}

When to use a plugin

Use a plugin when:

  • You have multiple related artifacts that work together
  • You want to distribute a complete workflow or toolset
  • You need hooks or MCP servers alongside skills/commands
  • You want versioned releases of your extensions

For single-purpose extensions, individual skills, commands, or agents may be simpler.

Installing plugins

Install a plugin from a marketplace:

/plugin install plugin-name

Or add a marketplace first:

/plugin marketplace add owner/repo