Plugins are shareable packages that bundle slash commands, subagents, skills, hooks, MCP servers, and LSP servers into single installable units.
Before plugins, setting up Claude Code with custom commands, agents, and integrations meant scattered configuration files across different projects. When teammates asked "How do I set up the same thing?", reproducing your setup was tedious and error-prone.
Plugins solve this
Bundle all your customizations into shareable packages that install with a single command. Share with your team or use across your own projects. Learn more in the official plugin guide.
Plugins can include any combination of these six component types. Note the key distinction between user-invoked (Commands) and model-invoked (Skills) components:
Custom shortcuts you explicitly trigger with a forward slash (/)
Commands are user-triggered actions you invoke by typing a forward slash followed by the command name (e.g., /deploy). Unlike Skills which Claude uses automatically, Commands require intentional user action each time.
Example: /deploy - Deploy your application to production
Specialized AI agents that users can invoke manually or Claude can trigger contextually
Agents are Claude instances with specific expertise. Users access them through the /agents interface or by calling them directly by name. Claude can also invoke agents automatically based on task context.
Example: security-reviewer - Specialized agent for security audits
Capabilities that Claude autonomously uses based on task context
Skills are model-invoked—Claude autonomously decides when to use them based on your request and the Skill's description. Unlike Commands which require explicit user action, Skills are automatically applied when Claude determines they match your needs.
Example: api-integration - Claude automatically uses it when you need to interact with REST APIs
Event handlers that automatically trigger at specific lifecycle points
Hooks let plugins run custom scripts automatically at specific points in your workflow—before tool execution, after prompts, when sessions start or end, and more. They execute without prompting.
Example: pre-commit hook - Run tests before every commit
Connections to external tools and data sources via Model Context Protocol
MCP servers provide standardized connections to external services like databases, APIs, cloud providers, and development tools. They start automatically when the plugin is enabled.
Example: GitHub MCP - Access repositories and pull requests
Language servers providing code intelligence like go-to-definition and hover docs
LSP servers connect Claude Code to language servers that provide IDE-like features: go-to-definition, find references, hover documentation, and code diagnostics. They require you to have the language server binary installed on your system.
Example: TypeScript LSP - Get type information and navigate to definitions
Learn more in the official Claude Code plugin reference.
Not sure which component type fits your use case? Use this guide:
| When You Need... | Best Choice |
|---|---|
| Project-specific instructions | CLAUDE.md |
| Reusable workflow across projects | Skill |
| User-triggered automation | Command |
| External API/service access | MCP Server |
| Deterministic enforcement | Hook |
| Code intelligence features | LSP Server |
Pro tip: Start with CLAUDE.md
Begin with CLAUDE.md for project rules—it requires no plugin setup. Only create a plugin when you need to share functionality across projects or with teammates.
Single commands, agents, or MCP servers configured manually
Bundled packages that work together seamlessly
Imagine you're working on a web application that needs deployment automation. A DevOps plugin might include:
/deploy command
User-invoked: One-command secure deployments
Infrastructure subagent
Specialized knowledge of your cloud setup
Deployment skill
Model-invoked: Claude uses it automatically when deployment context is detected
Cloud provider MCP
Direct connections to AWS/Vercel/etc.
Pre-deployment hook
Event-driven: Run security scans before every deployment
/plugin install devops-suite and get the complete automation stackSkills use lazy loading—Claude only sees the skill name and description until it's actually needed. A detailed skill with hundreds of lines costs nothing until activated.
Rule of Thumb
If you find yourself adding instructions to CLAUDE.md that only matter for specific tasks, extract them into a skill instead. Your context window stays clean for the work that matters.
Example: API Documentation Skill
---
name: api-docs-helper
description: Generate OpenAPI documentation from code comments
---
# API Documentation Generator
When asked to document an API endpoint:
1. Extract JSDoc/docstring comments from the handler
2. Identify request/response types from TypeScript interfaces
3. Generate OpenAPI 3.0 YAML snippet
4. Include example request/response payloadsThis entire skill loads only when Claude detects you're working on API documentation—not during unrelated tasks.
Commands support parameters via $ARGUMENTS and can spawn subagents for complex workflows.
Parameterized Command
---
name: deploy
description: Deploy to specified environment
arguments:
- name: environment
description: Target environment (staging/production)
required: true
---
Deploy the current branch to $ARGUMENTS environment.
Before deploying:
1. Run the test suite
2. Check for uncommitted changes
3. Verify the target environment is valid
After deployment, report the deployed commit SHA and URL.Usage: /deploy staging or /deploy production
Command with Subagent
---
name: research
description: Spawn a research agent to investigate a topic
---
Use the Task tool to spawn a research subagent with these instructions:
"Research the following topic thoroughly: $ARGUMENTS
Focus on:
- Official documentation
- Recent changes or updates
- Common pitfalls and gotchas
Return a concise summary with source links."
This keeps research isolated from your main conversation context.Subagents run in isolated context, preventing research from cluttering your main conversation.
Now that you understand what plugins are, learn how to install and use them.