Plugins

Package and distribute skills, agents, hooks, and MCP servers as reusable plugin bundles

What are Plugins?

Plugins are self-contained packages that bundle skills, agents, hooks, MCP configurations, and settings into a distributable unit. Share across your team or publish to the community marketplace.

Namespaced Skills

Skills are namespaced as /plugin-name:skill-name to avoid conflicts

Team Distribution

Share plugins via Git repos, registries, or the official marketplace

Event Hooks

Bundle hooks that respond to Claude Code lifecycle events

MCP & LSP Servers

Include MCP server configurations and LSP server support

Plugin Structure

my-plugin/
β”œβ”€β”€ .claude-plugin/
β”‚   └── plugin.json      # Required: Plugin manifest
β”œβ”€β”€ commands/            # Optional: Slash commands
β”‚   β”œβ”€β”€ review.md
β”‚   └── deploy.md
β”œβ”€β”€ agents/              # Optional: Custom subagents
β”‚   └── code-reviewer/
β”‚       └── agent.md
β”œβ”€β”€ skills/              # Optional: Agent Skills (NEW)
β”‚   └── my-skill/
β”‚       └── SKILL.md
β”œβ”€β”€ hooks/               # Optional: Event handlers
β”‚   └── hooks.json
β”œβ”€β”€ .mcp.json            # Optional: MCP servers
└── .lsp.json            # Optional: LSP servers (NEW)

1.claude-plugin/plugin.json β€” Plugin Manifest

Define name, version, description, author, homepage, repository, and license

2skills/ β€” Skill Files

SKILL.md files that are namespaced under the plugin name

3agents/ β€” Subagent Definitions

Markdown files defining specialized subagents

4hooks/ β€” Event Handlers

Hook scripts that respond to Claude Code events

Creating a Plugin

Plugin Manifest

Create .claude-plugin/plugin.json with name, description, version, author, homepage, repository, license

# commands/deploy.md
Run tests, build, and deploy to production.
Ensure all checks pass before deployment.

Testing Locally

Use --plugin-dir to load your plugin during development. Use /reload-plugins for hot reload.

{
  "name": "team-workflows",
  "version": "1.0.0",
  "description": "Team deployment workflows",
  "author": "Your Team"
}

Plugin Distribution

Project-Level

Check into version control with your project

Team Registry

Share across your organization via Git or internal registry

Official Marketplace

Submit to the official marketplace at claude.ai/settings/plugins/submit

NEW

Plugin Marketplace CLI

claude plugins search <query>

Search plugins

claude plugins install <name>

Install plugin

claude plugins list

List installed

claude plugins update

Update all

NEW

LSP Server Support

Plugins can bundle Language Server Protocol (LSP) servers via .lsp.json. Provides advanced language features, diagnostics, and IDE integration capabilities.

.lsp.json
{
  "servers": {
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"]
    },
    "python": {
      "command": "pylsp"
    }
  }
}

Auto-completion

Enhanced code suggestions

Diagnostics

Real-time error detection

Go to Definition

Navigate codebase easily

Plugin Use Cases

Team Workflows

  • β€’Standardized deployment procedures
  • β€’Code review templates and agents
  • β€’Documentation generation pipelines

Domain Experts

  • β€’Security audit specialists
  • β€’Database optimization agents
  • β€’API documentation generators

Best Practices

1

Document Thoroughly

Provide clear README files explaining what your plugin does and how to use it

2

Use Semantic Versioning

Follow semantic versioning (major.minor.patch) for compatibility management

3

Test with --plugin-dir

Use --plugin-dir flag to load and test plugins locally before distribution

4

Security First

Never include secrets in plugins. Use environment variables for sensitive data

Ready to Create Your First Plugin?

Package your skills, agents, hooks, and MCP configs into a distributable plugin.