Plugins: Discover and Install
You've learned to create skills, configure hooks, and use subagents. But what if someone has already built exactly what you need?
What Are Plugins?
A plugin bundles multiple Claude Code components into one installable package:
| Component | What It Does |
|---|---|
| Skills | Autonomous capabilities Claude discovers and uses |
| Commands | Slash commands like /commit-commands:commit |
| Agents | Specialized subagents for focused tasks |
| Hooks | Event automation (format on save, validate on edit) |
| MCP servers | External integrations (GitHub, Slack, etc.) |
Think of plugins as: Complete capability packages. Instead of manually setting up skills, hooks, agents, and MCP servers separately, you install one plugin and everything works together.
Why Use Plugins?
Without plugins, adding GitHub integration means:
- Find an MCP server for GitHub
- Configure it in your settings
- Maybe create skills to use it well
- Maybe add hooks for automation
- Test everything works together
With plugins, you run:
/plugin install github@claude-plugins-official
Done. GitHub integration works—including MCP config, any bundled skills, and automation hooks.
The principle: Check what exists before building from scratch.
You Already Have a Plugin Marketplace
Run this command in Claude Code right now:
/plugin
What you'll see:
│ Plugin Manager │
│ │
│ Discover │ Installed │ Marketplaces │ Errors │
│ │
│ Code intelligence │
│ ❯ typescript-lsp - TypeScript/JavaScript language server │
│ python-lsp - Python language server (Pyright) │
│ rust-analyzer-lsp - Rust language server │
│ gopls-lsp - Go language server │
│ │
│ External integrations │
│ github - GitHub integration │
│ slack - Slack integration │
│ linear - Linear project management │
│ │
│ Development workflows │
│ commit-commands - Git commit workflows │
│ pr-review-toolkit - Pull request review agents │
The official Anthropic marketplace is automatically available. No setup needed.
Use Tab to switch between tabs:
- Discover: Browse available plugins
- Installed: See what you've installed
- Marketplaces: Manage plugin sources
- Errors: Debug plugin issues
Try It Now: Install Your First Plugin
Let's install commit-commands—a plugin that helps with git workflows.
Option 1: Use the UI
- Run
/plugin - Go to the Discover tab
- Find commit-commands under "Development workflows"
- Press Enter to see details
- Choose User scope (available in all projects)
Option 2: Install Directly
/plugin install commit-commands@claude-plugins-official
What happens:
- Plugin downloads and installs
- New commands become available immediately
- Plugin appears in your Installed tab
Try It Now: Use Your New Plugin
After installing commit-commands, make a small change to any file, then run:
/commit-commands:commit
What happens:
- Plugin stages your changes
- Generates a commit message based on the diff
- Creates the commit
That's it! You just extended Claude Code with one command.
What's in the Official Marketplace?
| Category | Plugins | What They Do |
|---|---|---|
| Code intelligence | typescript-lsp, python-lsp, rust-analyzer-lsp, gopls-lsp | Jump to definitions, find references, see type errors |
| External integrations | github, gitlab, slack, linear, notion, figma | Connect to external services |
| Development workflows | commit-commands, pr-review-toolkit, plugin-dev | Git workflows, PR reviews, plugin creation |
| Output styles | explanatory-output-style, learning-output-style | Customize how Claude responds |
Code Intelligence Plugins
These use the Language Server Protocol (LSP)—the same technology that powers VS Code's code intelligence.
After installing (e.g., typescript-lsp), Claude can:
- Jump to function definitions
- Find all references to a variable
- See type errors immediately after edits
Note: LSP plugins require the language server binary installed on your system. If you see "Executable not found," install the required binary:
| Plugin | Binary Required |
|---|---|
typescript-lsp | typescript-language-server |
python-lsp | pyright-langserver |
rust-analyzer-lsp | rust-analyzer |
gopls-lsp | gopls |
External Integration Plugins
Connect Claude to services you already use:
/plugin install github@claude-plugins-official
Now Claude can interact with GitHub issues, PRs, and repositories directly.
Installation Scopes
When you install a plugin, choose where it applies:
| Scope | Who Uses It | Where It's Stored |
|---|---|---|
| User | Just you, all projects | ~/.claude/ |
| Project | Everyone on this repo | .claude/settings.json |
| Local | Just you, this repo only | Local settings |
Recommendation: Start with User scope for personal tools, Project scope for team standards.
Managing Plugins
See What's Installed
/plugin
Go to the Installed tab.
Disable Without Uninstalling
/plugin disable plugin-name@marketplace-name
Re-enable
/plugin enable plugin-name@marketplace-name
Completely Remove
/plugin uninstall plugin-name@marketplace-name
Adding More Marketplaces
The official marketplace is just the start. You can add others:
GitHub repositories:
/plugin marketplace add owner/repo
GitLab or other git hosts:
/plugin marketplace add https://gitlab.com/company/plugins.git
Local development:
/plugin marketplace add ./my-marketplace
The Official Plugins Repository
Anthropic maintains the official plugins repository with verified plugins:
/plugin marketplace add anthropics/claude-plugins-official
This gives you access to all officially maintained plugins including Ralph Wiggum (Lesson 17).
When to Use Plugins vs. Build Custom
| Situation | Recommendation |
|---|---|
| Standard task (git, GitHub, Slack) | Install existing plugin |
| Team-specific workflow | Check marketplace first, then build custom |
| Learning how plugins work | Install examples, study their structure |
| No matching plugin exists | Create custom (see below) |
Rule of thumb: Check the marketplace before building from scratch.
Package and Distribute Your Own Plugin
You've installed plugins. Now let's create one from the skills and components you've already built.
Throughout this chapter, you created skills (Lesson 9), configured subagents (Lesson 11), connected MCP servers (Lesson 12), and set up hooks (Lesson 15). Packaging these as a plugin lets you share them with teammates or use them across all your projects.
Plugin Directory Structure
A plugin is a folder with a specific layout:
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Required manifest
├── skills/ # Your SKILL.md files
├── agents/ # Your subagent definitions
├── hooks/
│ └── hooks.json # Your hook configurations
├── .mcp.json # Your MCP server configs
└── README.md
Critical: Components go at the root level, not inside .claude-plugin/. The .claude-plugin/ folder only contains the manifest.
The Plugin Manifest
Every plugin needs a plugin.json file inside .claude-plugin/:
{
"name": "my-skills",
"description": "My Claude Code skills collection",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
That's the minimum. Four fields. Your plugin is ready to use.
Try It: Package Skills Lab as a Plugin
If you downloaded the Skills Lab in Lesson 7, let's turn it into a plugin:
Step 1: Navigate to your Skills Lab folder:
cd claude-code-skills-lab
Step 2: Create the manifest folder and file:
mkdir .claude-plugin
Step 3: Create plugin.json:
{
"name": "skills-lab",
"description": "Practice skills from imsanghaar tutorials",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
Step 4: Test your plugin locally:
claude --plugin-dir ./claude-code-skills-lab
Step 5: Verify skills appear with namespace:
/skills-lab:internal-comms
Your Skills Lab is now a plugin.
Plugin vs. Marketplace: What's the Difference?
| Concept | What It Is | Analogy |
|---|---|---|
| Plugin | A folder with skills, agents, hooks, MCP configs | An app |
| Marketplace | A catalog listing multiple plugins | An app store |
Why have marketplaces at all?
You could share plugins without a marketplace—just tell someone to clone your repo and use --plugin-dir. But marketplaces provide:
- Discovery: Browse what's available instead of knowing exact repo URLs
- Organization: Group related plugins (your team's tools, a company's integrations)
- Updates: Marketplaces can version plugins and notify users of updates
Can you list your plugin on someone else's marketplace?
Yes. Options include:
- Official Anthropic marketplace: Submit a PR to get your plugin listed for everyone
- Team/company marketplaces: Ask the maintainer to add your plugin to their
marketplace.json - Your own marketplace: List your plugin plus others you find useful
Most developers create their own marketplace for personal/team use, then submit polished plugins to the official marketplace for broader distribution.
Create Your Own Marketplace
To share your plugin with others, create a marketplace:
Step 1: Create a marketplace.json in your .claude-plugin/ folder:
{
"name": "my-plugins",
"owner": {
"name": "Your Name"
},
"plugins": [
{
"name": "skills-lab",
"source": "./skills-lab",
"description": "Practice skills collection"
}
]
}
Step 2: Push to GitHub (or GitLab, or any git host)
Step 3: Others can now add your marketplace:
/plugin marketplace add your-username/your-repo
Distribution Options
| Method | Command | Best For |
|---|---|---|
| GitHub | /plugin marketplace add owner/repo | Teams, open source |
| GitLab/Other | /plugin marketplace add https://... | Enterprise |
| Local | /plugin marketplace add ./path | Testing |
What's Next
You can now discover, install, and create plugins—the complete lifecycle. Lesson 17 introduces the Ralph Wiggum Loop—an autonomous iteration pattern where Claude validates and refines its own work. You'll see how to combine everything you've learned (skills, subagents, hooks, and your own plugins) into self-correcting workflows.
Try With AI
🔍 Explore the Marketplace:
"Run /plugin and show me what's in the Discover tab. What categories of plugins are available? Which ones would be useful for [your work: web development / Python / data analysis]?"
What you're learning: Plugin discovery—understanding what capability extensions exist before building from scratch. The ecosystem often has what you need.
📦 Install and Test:
"Help me install the commit-commands plugin. After it's installed, walk me through using /commit-commands:commit to commit a change. What other commands does this plugin provide?"
What you're learning: The full plugin workflow—from installation through verification. Knowing the complete cycle builds confidence with new plugins.
🔌 Code Intelligence:
"I write [TypeScript / Python / Rust / Go]. Help me install the LSP plugin for my language. What do I need to install on my system first? After installation, show me how Claude can now jump to definitions and find references."
What you're learning: How plugins add capabilities Claude doesn't have natively—in this case, language-server-level code understanding.
🔗 External Integration:
"I want to connect Claude to [GitHub / Slack / Linear]. Help me install the appropriate plugin. What capabilities does it add? Show me an example of using it."
What you're learning: Platform integration through plugins—extending Claude's reach to external services without writing custom MCP servers.
⚖️ Plugin Decision:
"I need Claude to help with [describe your task]. Should I: (a) install an existing plugin, (b) create a custom skill, (c) just ask Claude directly? Help me decide based on what's available in the marketplace."
What you're learning: The build vs. buy decision for AI capabilities—when to use existing solutions vs. creating custom ones.
📦 Package Your Skills:
"Help me package my Skills Lab directory as a plugin. Create the plugin.json manifest, organize my skills into the correct directory structure, and test it with --plugin-dir."
What you're learning: Plugin creation workflow—turning your existing Claude Code components into shareable, installable packages.
🌐 Create Your Marketplace:
"I have a plugin ready. Help me create a marketplace.json file, push it to GitHub, and show me how others can install my plugin."
What you're learning: Plugin distribution—sharing your work with teammates or the broader community through marketplace catalogs.