Course navigation
Claude PluginsLesson 1

Introduction to Claude Plugins

A plugin is a folder you install in Claude Code. It can add skills, MCP connectors, and slash commands — versioned and shareable as one unit.

What is a Claude plugin?

A plugin extends Claude Code beyond the defaults. After install, new slash commands and connectors are available in any session where the plugin is loaded.

Without a pluginWith a plugin
Built-in tools onlyCustom skills and commands on install
Manual MCP setup per projectBundled connectors in the plugin folder
Config tied to one repoReusable across projects after install
Copy files to share workflowsInstall via Git, path, or marketplace

Three building blocks

Include one, two, or all three — only what your workflow needs.

BlockRole
SkillsMarkdown instruction files Claude invokes by name. Namespaced slash commands after install.
ConnectorsMCP servers packaged in the plugin — GitHub, Notion, Slack, databases, and other services.
CommandsLightweight slash scripts for single actions — lint, format, or run a fixed checklist.

Plugin folder structure

The only required file is .claude-plugin/plugin.json. Everything else is optional.

code-review-plugin/plugin root
├── .claude-plugin/
│ ├── plugin.jsonmanifest (required)
├── skills/
│ ├── review/
│ │ └── SKILL.mdskill instructions
├── agents/optional
├── hooks/optional
├── .mcp.jsonoptional connectors
Layout rule: Only plugin.json lives inside .claude-plugin/. Put skills/, agents/, and hooks/ at the plugin root — not inside .claude-plugin/.

Build a minimal plugin

Three files add a /code-review-plugin:review skill to Claude Code.

1

Create the manifest

code-review-plugin/.claude-plugin/plugin.json
{
  "name": "code-review-plugin",
  "description": "Structured code reviews for TypeScript projects",
  "version": "1.0.0",
  "author": { "name": "Your Name" }
}
2

Write the skill

code-review-plugin/skills/review/SKILL.md
---
description: Reviews a file for best practices, security, and code quality.
---

Review the file at "$ARGUMENTS". Check for:
1. Input validation and security issues
2. Error handling completeness
3. Code readability and organisation
4. Obvious bugs or edge cases

Format your response as [OK], [WARN], and [ERROR] findings.
3

Load and run

Point Claude Code at the folder, then call the namespaced skill on a file path.

Terminal
$ claude --plugin-dir ./code-review-plugin
Loading plugin: code-review-plugin v1.0.0
Skills registered: /code-review-plugin:review
✓ Plugin loaded
$ /code-review-plugin:review src/api/users.ts
[WARN] Line 42 — missing input validation on req.body.email
[WARN] Line 67 — stack trace exposed in error response
[OK] Line 18 — pagination implemented correctly
[OK] Line 55 — auth middleware applied
2 warnings · 2 passing
Load a local plugin, then invoke a namespaced skill on a file

Plugin lifecycle

  1. Create — write plugin.json and skill files
  2. Install claude --plugin-dir ./my-plugin or marketplace install
  3. Use/plugin-name:skill-name with arguments
  4. Iterate — edit files, then /reload-plugins
  5. Share — commit to Git or publish to the plugin directory

Plugin vs standalone config

You can also put skills and commands directly in .claude/ without packaging a plugin. Use that for quick personal experiments; move to a plugin when you want to version and share.

TopicStandalone .claude/Plugin
File location.claude/commands/plugin-root skills/ + .claude-plugin/
Skill names/review (no prefix)/my-plugin:review (namespaced)
ScopeOne projectAny project after install
SharingCopy files manually/plugin install or --plugin-dir
VersioningNot versionedplugin.json + Git
Best forQuick experimentsTeam workflows you reuse
Start in .claude/commands/ while iterating. To share, move the files into a plugin directory and add plugin.json — that is the full migration.

Before you continue

  • Required file: .claude-plugin/plugin.json — everything else is optional.
  • Plugins bundle skills, MCP connectors, and commands in any combination.
  • Skills are namespaced: /plugin-name:skill-name.
  • Install locally with --plugin-dir, or share via Git or the marketplace.
  • Next: Claude Cowork — multi-step desktop tasks in Claude Desktop.

What's Next

Plugins covered. Up next: Claude Cowork — multi-step tasks inside Claude Desktop.