Skip to main content

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:

ComponentWhat It Does
SkillsAutonomous capabilities Claude discovers and uses
CommandsSlash commands like /commit-commands:commit
AgentsSpecialized subagents for focused tasks
HooksEvent automation (format on save, validate on edit)
MCP serversExternal 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:

  1. Find an MCP server for GitHub
  2. Configure it in your settings
  3. Maybe create skills to use it well
  4. Maybe add hooks for automation
  5. 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

  1. Run /plugin
  2. Go to the Discover tab
  3. Find commit-commands under "Development workflows"
  4. Press Enter to see details
  5. 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:

  1. Plugin stages your changes
  2. Generates a commit message based on the diff
  3. Creates the commit

That's it! You just extended Claude Code with one command.


What's in the Official Marketplace?

CategoryPluginsWhat They Do
Code intelligencetypescript-lsp, python-lsp, rust-analyzer-lsp, gopls-lspJump to definitions, find references, see type errors
External integrationsgithub, gitlab, slack, linear, notion, figmaConnect to external services
Development workflowscommit-commands, pr-review-toolkit, plugin-devGit workflows, PR reviews, plugin creation
Output stylesexplanatory-output-style, learning-output-styleCustomize 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:

PluginBinary Required
typescript-lsptypescript-language-server
python-lsppyright-langserver
rust-analyzer-lsprust-analyzer
gopls-lspgopls

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:

ScopeWho Uses ItWhere It's Stored
UserJust you, all projects~/.claude/
ProjectEveryone on this repo.claude/settings.json
LocalJust you, this repo onlyLocal 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

SituationRecommendation
Standard task (git, GitHub, Slack)Install existing plugin
Team-specific workflowCheck marketplace first, then build custom
Learning how plugins workInstall examples, study their structure
No matching plugin existsCreate 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?

ConceptWhat It IsAnalogy
PluginA folder with skills, agents, hooks, MCP configsAn app
MarketplaceA catalog listing multiple pluginsAn 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:

  1. Official Anthropic marketplace: Submit a PR to get your plugin listed for everyone
  2. Team/company marketplaces: Ask the maintainer to add your plugin to their marketplace.json
  3. 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

MethodCommandBest For
GitHub/plugin marketplace add owner/repoTeams, open source
GitLab/Other/plugin marketplace add https://...Enterprise
Local/plugin marketplace add ./pathTesting

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.