WEEK 3 - DEEP DIVE

🔌 Plugins & Marketplaces

Master the Claude Code Extension Ecosystem!

Day 1
Day 2
Day 3
Day 4
Day 5

🎮 Day 1: Understanding the Plugin Ecosystem

Welcome to the world of Claude Code plugins! Today we'll learn about the three types of extensions and how they work together. This is like learning about different types of power-ups in a video game!

🎯 Think of it Like This...

Imagine you're playing an RPG game:

  • Slash Commands = Active abilities you press buttons to use (like pressing "A" to attack)
  • Skills = Passive abilities that activate automatically when needed (like auto-heal when HP is low)
  • Plugins = Complete expansion packs containing multiple abilities, new areas, and gear!

📊 The Big Three: Commands vs Skills vs Plugins

Feature Slash Commands Skills Plugins
What is it? Single command you type Capability Claude uses automatically Complete package of features
How to use? Type /command-name Just ask naturally - Claude decides Install once, get everything
Who triggers it? YOU (explicit) CLAUDE (automatic) Both!
Example /commit to save work Ask about PDFs → PDF skill activates Frontend-design plugin with skills + commands

🧠 The Magic of "Model-Invoked" Skills

Here's the coolest part about Skills: they're model-invoked, meaning Claude automatically decides when to use them based on what you ask!

# You DON'T need to say: "Hey Claude, activate your PDF skill and extract text" # Just say naturally: "Can you help me extract text from this PDF?" # Claude thinks: "PDF mentioned! I have a PDF skill! Let me use it!"

🤯 Mind-Blowing Fact

Skills are like having a smart assistant who knows all your tools and automatically grabs the right one! You don't need to say "use the screwdriver" - they just know when to use it based on the task.

📦 What Can a Plugin Contain?

A single plugin can be a complete toolbox with:

  • Commands - Slash commands like /deploy or /test
  • Agents - Specialized AI helpers for specific tasks
  • Skills - Auto-activated capabilities
  • Hooks - Event triggers (like "do this when I save a file")
  • MCP Servers - External tool connections

🚀 Try It: Discover Your Skills

Open Claude Code and ask:

"What Skills are available to you?"

Claude will list all skills it has access to. These might come from your personal setup, project files, or installed plugins!

💡 Pro Tip

The description of a skill is super important! It tells Claude when to use that skill. A skill with a vague description like "helps with stuff" won't activate properly. But "Extract text and tables from PDF files" is crystal clear!

🏆 Day 1 Challenge

  • Ask Claude what skills are available in your project
  • Try asking about something specific (like PDFs) and see if a skill activates
  • Write down the difference between commands and skills in your own words

🏪 Day 2: Discovering Marketplaces

Now that you understand plugins, let's learn where to FIND them! Marketplaces are like app stores for Claude Code plugins.

🎮 Think of it Like This...

Different gaming platforms have different stores:

  • Steam = marketplace for PC games
  • PlayStation Store = marketplace for PS games
  • App Store = marketplace for iOS apps

Claude Code marketplaces work the same way - they're catalogs where plugins are listed and organized!

🌐 What ARE Marketplaces?

According to the official docs, marketplaces are:

"Catalogs of available plugins that make it easy to discover, install, and manage Claude Code extensions."

They provide:

  • 📚 Centralized discovery - Find plugins in one place
  • 🔄 Version management - Keep plugins updated
  • 👥 Team distribution - Share with your whole team
  • 🌍 Multiple sources - GitHub, Git, local folders

📥 Adding Your First Marketplace

You can add marketplaces from different sources:

# From a GitHub repository /plugin marketplace add owner/repo # From any Git URL /plugin marketplace add https://gitlab.com/company/plugins.git # From a local folder (for testing) /plugin marketplace add ./my-marketplace # From a direct JSON file /plugin marketplace add ./path/to/marketplace.json

🔍 Browsing Available Plugins

Once you've added a marketplace, you can explore what's available:

# Open interactive plugin browser /plugin # List all added marketplaces /plugin marketplace list # Update marketplace catalog /plugin marketplace update marketplace-name

⚠️ Safety First!

Only add marketplaces from trusted sources! Just like you wouldn't download apps from random websites, only use marketplaces you trust. Official company repos, well-known open source projects, or your own team's repo are safest.

📛 The Installation Format

Here's the key format you'll use to install plugins:

/plugin install plugin-name@marketplace-name

It's like specifying:

  • plugin-name = The specific plugin you want
  • @ = "from"
  • marketplace-name = Which catalog to get it from

🍕 Real-World Example

It's like ordering "pepperoni pizza @ Dominos" vs "pepperoni pizza @ Pizza Hut". Same item name, different source!

🚀 Try It: Explore the Plugin Menu

# Step 1: Open the interactive menu /plugin # Step 2: See what marketplaces you have /plugin marketplace list

This shows you what's already set up in your Claude Code!

🗂️ Marketplace File Structure

Behind the scenes, marketplaces use a JSON file. Here's what it looks like:

{ "name": "my-team-plugins", "owner": "Team Awesome", "description": "Plugins for our team", "plugins": [ { "name": "frontend-design", "description": "Create stunning UIs", "source": "./plugins/frontend-design" }, { "name": "code-review", "description": "Automated PR reviews", "source": "./plugins/code-review" } ] }

🤯 Cool Feature

Plugins can be sourced from GitHub, GitLab, or even local folders! This means your team can have a private marketplace with company-specific tools that only your team can access.

🏆 Day 2 Challenge

  • Run /plugin marketplace list to see your current marketplaces
  • Try opening the /plugin interactive browser
  • Research: Find a GitHub repo that looks like a Claude Code marketplace

⬇️ Day 3: Installing & Using Plugins

Time for the fun part - actually INSTALLING and USING plugins! Let's see what happens when you add a plugin to your Claude Code.

🎮 Think of it Like This...

Installing a plugin is like equipping a special item in a game that gives you multiple bonuses at once:

  • New active abilities (commands)
  • New passive abilities (skills)
  • New party members (agents)
  • Automatic triggers (hooks)

📥 The Installation Command

# Basic format /plugin install plugin-name@marketplace-name # Example /plugin install frontend-design@my-company-plugins

🔄 What Happens During Installation?

  1. Claude Code fetches the plugin from the marketplace
  2. It reads the plugin's manifest file (.claude-plugin/plugin.json)
  3. It registers all the components (commands, skills, agents, hooks)
  4. Everything becomes available for use!

💡 Important!

After installing a plugin, you might need to restart Claude Code or start a new conversation for all features to activate. Just like how some game mods require a restart!

🎯 How Skills Auto-Activate

This is where the magic happens! Once a plugin with skills is installed, Claude automatically uses those skills based on what you ask.

# Let's say you installed a plugin with a "frontend-design" skill # Its description says: "Create distinctive, production-grade frontend interfaces" # Now when you say: "Create a dashboard for a music streaming app" # Claude thinks: # "Frontend interface mentioned... I have a frontend-design skill... ACTIVATE!"

You don't need to say "use the frontend skill" - Claude recognizes the context and automatically applies it!

✅ Testing If Installation Worked

# Check available commands (look for new ones) /help # Ask Claude about available skills "What Skills do you have access to?" # Check installed plugins /plugin list # View agents /agents

🚀 Try It: Verification Steps

After any plugin installation, run these checks:

  1. Type /help to see if new commands appeared
  2. Ask "What skills are available?" to see new skills
  3. Type /agents to see new agents
  4. Test a feature from the plugin!

🔧 Managing Installed Plugins

# List all installed plugins /plugin list # Update a plugin to latest version /plugin update plugin-name # Remove a plugin /plugin remove plugin-name # Get info about a plugin /plugin info plugin-name

⚠️ Plugin Dependencies

Some plugins might require external tools to be installed on your computer first (like Python, Node.js, or specific libraries). Always check the plugin's documentation for requirements!

🎨 Real Example: Frontend Design Skill

The frontend-design skill is a great example. Once installed, it automatically helps when you ask for UI work:

# These requests would activate the frontend-design skill: "Create a dashboard for a music streaming app" "Build a landing page for an AI security startup" "Design a settings panel with dark mode" "Make a login form with modern styling" # Claude automatically: # ✓ Uses bold aesthetic choices # ✓ Creates distinctive typography # ✓ Adds high-impact animations # ✓ Produces production-ready code

🤯 No Generic AI Look!

The frontend-design skill specifically aims to avoid the "generic AI aesthetic" - those bland, corporate-looking interfaces. Instead, it makes distinctive, creative designs that look like a human designer crafted them!

🏆 Day 3 Challenge

  • Run /plugin list to see what's already installed
  • Check /help for available commands
  • Ask Claude what skills it has and note which are from plugins
  • If you have a frontend skill, try asking for a simple UI component!

🔬 Day 4: Plugin Anatomy - Inside the Package

Now let's look INSIDE a plugin to understand its structure. This is like learning the blueprint of how plugins are built!

📦 Think of it Like This...

A plugin is like a lunchbox with compartments:

  • Main label = The manifest file (who made it, what's inside)
  • Sandwich compartment = Commands folder
  • Fruit compartment = Agents folder
  • Snack compartment = Skills folder
  • Drink holder = Hooks folder

📁 Plugin Directory Structure

Every plugin follows this structure:

my-awesome-plugin/ ├── .claude-plugin/ │ └── plugin.json # Required manifest! ├── commands/ # Slash commands │ └── deploy.md ├── agents/ # Subagents │ └── code-reviewer.md ├── skills/ # Auto-activated skills │ └── frontend-design/ │ └── SKILL.md ├── hooks/ # Event handlers │ └── hooks.json └── .mcp.json # MCP servers

⚠️ Critical Rule!

Commands, agents, skills, and hooks folders must be at the plugin ROOT level, NOT inside .claude-plugin/! This is a common mistake that breaks plugins.

📋 The Plugin Manifest (plugin.json)

The manifest is like the plugin's ID card. It tells Claude Code what this plugin is and what it contains:

{ "name": "my-awesome-plugin", "version": "1.0.0", "description": "Tools for building awesome projects", "author": { "name": "Your Name" }, "keywords": ["productivity", "development"], "commands": "./commands/", "agents": "./agents/", "hooks": "./hooks/hooks.json" }

💡 Good News!

Only the name field is REQUIRED! Everything else is optional but helpful for others to understand your plugin.

📊 Manifest Field Reference

Field Required? What It Does
name ✅ YES Unique identifier for your plugin
version No Version number (like "1.0.0")
description No What the plugin does
author No Who made it
keywords No Tags for searching
commands No Path to commands folder
agents No Path to agents folder

🔧 Environment Variables in Plugins

Use ${CLAUDE_PLUGIN_ROOT} for paths that work anywhere:

{ "hooks": { "PostToolUse": [{ "hooks": [{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/scripts/process.sh" }] }] } } # This works regardless of where the plugin is installed!

🚀 Try It: Explore a Plugin's Structure

If you have any plugins installed, try finding their structure:

# List installed plugins /plugin list # Get info about a specific plugin /plugin info plugin-name

🤯 Auto-Discovery Magic

When you install a plugin, Claude Code automatically scans ALL the folders (commands/, agents/, skills/, hooks/) and registers everything it finds. No extra configuration needed - just follow the structure!

🏆 Day 4 Challenge

  • Draw out the plugin directory structure from memory
  • Write a minimal plugin.json with just the required field
  • List 3 optional fields you'd add to make it more useful
  • Explain why folders must be at root, NOT inside .claude-plugin/

🚀 Day 5: Creating & Sharing Plugins

Time to put it all together! You've learned what plugins are, how to find them, install them, and their structure. Now let's create your own and share it!

🎁 Think of it Like This...

Creating a plugin is like making a gift box for your friends:

  • Pick a nice box = Create the folder structure
  • Add a gift tag = Write the manifest
  • Pack the goodies = Add commands, agents, etc.
  • Wrap and share = Push to Git or marketplace

🛠️ Step-by-Step: Create Your First Plugin

  1. Create the folder structure:
    mkdir -p my-first-plugin/.claude-plugin mkdir -p my-first-plugin/commands
  2. Create the manifest (plugin.json):
    # In my-first-plugin/.claude-plugin/plugin.json { "name": "my-first-plugin", "description": "My first Claude Code plugin!", "version": "1.0.0" }
  3. Add a simple command:
    # In my-first-plugin/commands/hello.md --- name: hello description: Say hello to the world --- Say "Hello, World! This is my first plugin command!" and add today's date.
  4. Test your plugin locally!

💡 Start Simple!

Your first plugin doesn't need to be fancy. Even a plugin with just ONE command is a complete plugin! Add more features later as you learn.

👥 Sharing with Your Team via Git

The easiest way to share plugins is through Git:

# 1. Add plugin to your project cp -r my-first-plugin/ ./my-project/ # 2. Commit to Git git add . git commit -m "Add team plugin for productivity" # 3. Push to remote git push # 4. Team members pull git pull # Plugin is now available to EVERYONE! 🎉

🤯 Instant Availability

Once your teammates run git pull, the plugin is immediately available to them. No extra installation steps needed - Claude Code automatically discovers it!

🏪 Creating Your Own Marketplace

Want to share MULTIPLE plugins with the world? Create a marketplace!

# Create marketplace.json in your repo { "name": "my-awesome-marketplace", "owner": "Your Name", "description": "Collection of useful plugins", "plugins": [ { "name": "homework-helper", "description": "Tools for organizing homework", "source": "./plugins/homework-helper" }, { "name": "game-dev-tools", "description": "Game development utilities", "source": "./plugins/game-dev-tools" } ] }

Then others can add your marketplace:

/plugin marketplace add your-username/your-marketplace-repo

📋 Plugin Development Best Practices

Do This ✅ Avoid This ❌
Start with one feature Try to build everything at once
Test locally before sharing Push untested code
Write clear descriptions Vague "does stuff" descriptions
Use version numbers (1.0.0) No version tracking
Document how to use it Expect users to guess

🚀 Try It: Build a Complete Plugin

  1. Create folder structure with .claude-plugin/
  2. Write a valid plugin.json manifest
  3. Add at least one command in commands/ folder
  4. Test it works locally
  5. Share with a friend or commit to a repo!

⚠️ Remember!

Skills creation is covered in Week 5! For now, focus on the plugin structure, manifest, and sharing. You'll learn to create skills (SKILL.md files) later.

🏆 Day 5 Final Challenge

  • Create a complete plugin folder structure from scratch
  • Write a plugin.json with name, version, and description
  • Add one simple command that does something fun
  • Explain how you'd share it with your team via Git
  • BONUS: Design a marketplace.json for multiple plugins

🧠 Week 3 Deep Dive Quiz

Test your knowledge of Plugins & Marketplaces!

1. What's the main difference between slash commands and skills?

2. Where should the skills/ folder be located in a plugin?

3. What file is REQUIRED in every plugin?

4. How do you install a plugin from a marketplace?

5. How do you add a new marketplace from GitHub?

6. What is the only REQUIRED field in a plugin manifest (plugin.json)?

7. Where must the commands/, agents/, skills/ folders be located in a plugin?

8. What can a single plugin contain? (Choose the most complete answer)

🎁 BONUS: Plugin Gallery

Want to see examples of what real plugins can do? Check out our Plugin Power-Ups Gallery with examples of frontend design tools, code review systems, and more!

🎮 Explore Plugin Gallery →