Claude Plugin Marketplace
A presentation on the internal Claude Plugin Marketplace — what it is, how it works, and why we built it.
Agenda
| # | Topic | Time |
|---|---|---|
| 1 | What is a plugin? | 5 min |
| 2 | Live demo — install & automate a workflow | 10 min |
| 3 | The evolution: CLAUDE.md → Skills & MCPs → Plugin | 10 min |
| 4 | Q&A | 5 min |
What Is a Plugin?
A Claude plugin is a self-contained package that extends Claude Code.
graph TD
subgraph Plugin
B[MCP Servers] ~~~ C[Skills]
D[Commands] ~~~ E[Agents]
F[Hooks] ~~~ G[Settings]
end
classDef mcp fill:#B85C35,stroke:#8A3F20,color:#fff
classDef skills fill:#D4956A,stroke:#B07040,color:#fff
classDef commands fill:#9B7EC8,stroke:#7558A8,color:#fff
classDef agents fill:#6BA3BE,stroke:#4A7E99,color:#fff
classDef hooks fill:#5BA89B,stroke:#3A7A6E,color:#fff
classDef settings fill:#A67C9B,stroke:#7E5578,color:#fff
class B mcp
class C skills
class D commands
class E agents
class F hooks
class G settings
style Plugin fill:#2D2B3D,stroke:#4A4862,color:#E8D5C0
| Component | Purpose |
|---|---|
| MCP servers | External tool and data source integrations via the Model Context Protocol |
| Skills | Agent Skills packaged as SKILL.md files — invoked as slash commands or automatically by Claude |
| Commands | Slash command workflows defined as Markdown files |
| Agents | Custom agent definitions for specialized, autonomous tasks |
| Hooks | Event handlers that run in response to Claude Code events |
| Settings | Default settings and permissions applied when the plugin is enabled |
When a developer installs a plugin, they instantly get a Claude that understands your domain, knows your team's conventions, and can execute complex workflows with a single command.
Why Plugins?
Without plugins, every team member who wants to use Claude effectively has to:
- Write their own prompt engineering
- Figure out which tools to connect
- Rebuild the same workflows their teammates already built
A plugin packages the best version of Claude for your use case and makes it installable in seconds.
Demo
Demo environment: Claude Code VS Code extension.
The plugin marketplace works across all supported clients:
- Claude Code CLI — install and use plugins directly from your terminal
- Claude Code VS Code extension — integrated into the editor sidebar
- GitHub Copilot CLI — invoke plugin skills from the command line via Copilot
- GitHub Copilot Chat VS Code extension — use plugin skills inline in chat (just released last week)
Installing a Plugin
-
Open claude code from activity bar
-
Type
/pluginin chat and select "Manage plugins" -
Select "Marketplace" tab. Type git url for
pipeline-claude-pluginsrepo. Press Add -
Browse and install reality mine plugins from "Plugins" tab.
Automating a Workflow
Without a plugin, migrating a Spark job requires manually:
- Reading the job source
- Checking for deprecated APIs
- Identifying shuffle-heavy aggregations
- Rewriting to the new framework
- Generating tests
- Writing a migration summary
With the spark-migration plugin, this becomes:
Claude reads the file, applies the migration rules from the plugin's CLAUDE.md, uses the MCP server to query your internal API catalog, and produces a pull request with the rewritten job, updated tests, and a summary doc — all in one command.
The Evolution: How We Got Here
Stage 1 — CLAUDE.md (Prompt Engineering)
The first thing most teams do is drop a CLAUDE.md in their repo. This is a markdown file Claude reads on startup that tells it about your project.
# CLAUDE.md
## Spark Migration Context
- We are migrating from Spark 2.x to Spark 3.x
- All jobs must be rewritten to use the new DataSource V2 API
- Timezone must always be set to UTC in tests
- Avoid shuffle-heavy aggregations (groupBy, orderBy, distinct) on large datasets
What worked: Claude immediately understood our conventions and gave much better suggestions.
The limitation: Every developer had to copy this file into every repo. Knowledge lived in files, not in a shareable system. There were no repeatable commands — just chat.
Stage 2 — Skills and MCPs
The next step was moving from passive instructions to active capabilities.
Skills (/commands) let you define reusable slash commands. We wrote a /migrate-job skill that encoded the full migration workflow as a prompt Claude would execute step by step.
# .claude/commands/migrate-job.md
Migrate the Spark job at $ARGUMENTS from Spark 2.x to 3.x.
1. Read the file and identify deprecated APIs
2. Check for shuffle-heavy aggregations and flag them
3. Rewrite using DataSource V2 patterns
4. Update tests to use UTC timezone
5. Write a short migration summary
MCP servers gave Claude tools — the ability to actually do things rather than just reason about them. We connected Claude to our internal service registry so it could look up API schemas, check dependency versions, and validate migration outputs against real data.
What worked: This was transformative. Complex workflows became one-line commands. The MCP integrations made Claude aware of our actual infrastructure, not just generic Spark knowledge.
The limitation: Skills and MCP configs still lived in individual repos or had to be manually shared. Onboarding a new team member to the full setup took time.
Stage 3 — Packaging It as a Plugin
The plugin marketplace solves the distribution problem. We took everything we'd built — the CLAUDE.md context, the migration skills, the MCP server integrations — and packaged them as an installable unit.
spark-migration/
├── plugin.json # Optional manifest: name, version, author
├── .mcp.json # MCP server configurations
├── skills/
│ └── migrate-job/
│ └── SKILL.md # Agent Skill for migrating a Spark job
├── commands/
│ ├── analyze-job.md
│ └── migration-report.md
├── agents/ # Custom agent definitions
├── hooks/
│ └── hooks.json # Event handlers
└── settings.json # Default settings and permissions
Publishing to the marketplace:
Any engineer in the company can now install the plugin and immediately have the full, battle-tested migration workflow available — the same one the platform team built and has been refining for months.
Summary
The plugin marketplace is the natural endpoint of this evolution: take the knowledge and workflows your team has built, package them up, and make them available to everyone — with a single install command.