Skip to content

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:

  1. Write their own prompt engineering
  2. Figure out which tools to connect
  3. 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

  1. Open claude code from activity bar

  2. Type /plugin in chat and select "Manage plugins"

  3. Select "Marketplace" tab. Type git url for pipeline-claude-plugins repo. Press Add

  4. Browse and install reality mine plugins from "Plugins" tab.

Automating a Workflow

Without a plugin, migrating a Spark job requires manually:

  1. Reading the job source
  2. Checking for deprecated APIs
  3. Identifying shuffle-heavy aggregations
  4. Rewriting to the new framework
  5. Generating tests
  6. Writing a migration summary

With the spark-migration plugin, this becomes:

/migrate-job src/jobs/UserActivityAggregator.scala

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:

claude plugin publish ./spark-migration

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

CLAUDE.md  →  Skills + MCPs  →  Plugin
 (context)     (capabilities)    (distribution)

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.