Overview

Claude Code plugins (launched Oct 9, 2025) enable packaging and sharing customizations. Install via /plugin command.

Plugin Components

Plugins can bundle any combination of five component types:

ComponentInvocationDescription
CommandsUser types /commandExplicit slash commands
AgentsManual or auto-invokedSpecialized subagents for task delegation
SkillsClaude auto-usesModel-invoked capabilities based on task context
HooksEvent-triggeredRespond to Claude Code events (session start, tool calls)
MCP ServersTool callsExternal tool and data integrations

Commands vs Skills vs Agents

  • Commands: User explicitly types /my-command to trigger
  • Skills: Claude automatically decides to use them when relevant to the task
  • Agents: Specialized subagents Claude can invoke (or users can invoke manually)

Skills are ideal for domain expertise Claude should apply automatically, while commands are better for explicit workflows users want to invoke directly.

Creating a Plugin

Directory Structure

my-plugin/
├── .claude-plugin/
│ └── plugin.json # Required manifest (ONLY manifest goes here)
├── commands/ # Slash commands (*.md files)
├── agents/ # Subagents (*.md files)
├── skills/ # Skills (directories with SKILL.md)
│ └── my-skill/
│ ├── SKILL.md # Required skill definition
│ └── helpers/ # Optional supporting files
├── hooks.json # Or inline in plugin.json
└── .mcp.json # MCP server configs

Important: All components (commands, agents, skills, hooks) must be at plugin root, NOT inside .claude-plugin/.

plugin.json (Manifest)

{
"name": "my-plugin",
"version": "1.0.0",
"description": "What it does",
"author": {
"name": "Your Name",
"url": "https://github.com/you"
},
"license": "MIT",
"keywords": ["keyword1", "keyword2"],
"commands": "./commands/",
"agents": "./agents/",
"skills": "./skills/",
"hooks": "./hooks.json",
"mcpServers": "./.mcp.json"
}

Required: Only name (kebab-case) is mandatory.

Creating a Skill

Skills require a SKILL.md file in a directory under skills/:

skills/
└── code-review/
└── SKILL.md

Example SKILL.md:

---
description: Performs thorough code reviews for quality, security, and best practices
---
# Code Review Skill
When reviewing code, analyze for:
1. Security vulnerabilities (OWASP top 10)
2. Performance issues
3. Code style and best practices
4. Potential bugs
[Additional instructions for Claude...]

Claude reads the skill description to determine when to use it automatically.

Installing Plugins

Terminal window
/plugin install owner/repo # From GitHub
/plugin install https://url.git # From git URL
/plugin install ./local-path # Local directory

Hosting a Marketplace

Create .claude-plugin/marketplace.json:

{
"name": "my-marketplace",
"owner": {
"name": "Team Name",
"email": "team@example.com"
},
"plugins": [
{
"name": "plugin-name",
"source": "./plugins/plugin-name",
"description": "What it does",
"version": "1.0.0"
},
{
"name": "external-plugin",
"source": {
"source": "github",
"repo": "owner/plugin-repo"
}
}
]
}

Adding a Marketplace

Terminal window
/plugin marketplace add owner/repo # GitHub
/plugin marketplace add https://gitlab.com/repo # Git URL
/plugin marketplace add ./local-marketplace # Local

Community Marketplaces

Sources

  1. Claude Code Plugins Blog
  2. Plugins Reference
  3. Plugin Marketplaces