Introduction

Claude Code has evolved into a rich ecosystem with plugins, commands, subagents, and skills that extend its capabilities. Understanding how these components fit together can help you leverage the full power of this AI coding assistant.

This guide provides a visual overview of the Claude Code ecosystem and how all the pieces work together.

The Ecosystem Overview

Here’s how the entire Claude Code plugin ecosystem flows from marketplaces down to your local environment:

┌──────────────────────────────────────────────────────────────────┐
│                    CLAUDE CODE ECOSYSTEM                         │
└──────────────────────────────────────────────────────────────────┘

        ┌───────────────────────────────────────────┐
        │          PLUGIN MARKETPLACES              │
        │                                           │
        │  • Official (@anthropics)                 │
        │  • Community (@ComposioHQ, @EveryInc)     │
        │  • Team repositories                      │
        │                                           │
        │  Install: /plugin or npx claude-plugins   │
        └──────────────────┬────────────────────────┘
                           │
                           ▼
        ┌───────────────────────────────────────────┐
        │           PLUGINS (Packages)              │
        │                                           │
        │  Bundle together:                         │
        │  ┌─────────────────────────────────────┐  │
        │  │ • Commands  (slash shortcuts)      │  │
        │  │ • Subagents (specialized AI)       │  │
        │  │ • Skills    (knowledge/utilities)  │  │
        │  │ • Hooks     (event handlers)       │  │
        │  │ • MCP       (external tools)       │  │
        │  │ • LSP       (language servers)     │  │
        │  └─────────────────────────────────────┘  │
        │                                           │
        │  Example: "feature-dev" plugin contains:  │
        │    /new-feature command                   │
        │    @architect + @reviewer agents          │
        │    code-analysis skill                    │
        └──────────────────┬────────────────────────┘
                           │
                           ▼ (unpacks into)
        ┌───────────────────────────────────────────┐
        │        YOUR LOCAL ENVIRONMENT             │
        └───────────────────────────────────────────┘
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
        ▼                  ▼                  ▼
┌────────────┐    ┌────────────┐    ┌────────────┐
│  COMMANDS  │    │ SUBAGENTS  │    │   SKILLS   │
│            │    │            │    │            │
│ /feature   │───>│ @architect │───>│ analyzer   │
│ /review    │    │ @reviewer  │    │ formatter  │
└────────────┘    └────────────┘    └────────────┘
        │                  │                  │
        └──────────────────┴──────────────────┘
                           │
                           ▼
               ┌───────────────────────┐
               │   MAIN CLAUDE CODE    │
               │                       │
               │  Uses plugin          │
               │  components together  │
               └───────────────────────┘

Plugin Structure

When you create or install a plugin, here’s the typical directory structure:

my-awesome-plugin/
├── .claude-plugin/
│   └── plugin.json          ← Metadata & config
├── commands/
│   └── do-thing.md          ← Slash commands
├── agents/
│   └── specialist.md        ← Subagents
├── skills/
│   └── helper/
│       └── SKILL.md         ← Skills
├── hooks/
│   └── hooks.json           ← Event handlers
├── .mcp.json                ← MCP server config
└── README.md

Component Breakdown

Component Purpose Example
Commands Slash shortcuts to trigger actions /deploy, /test, /review
Subagents Specialized AI assistants with focused expertise @architect, @security-reviewer
Skills Knowledge bases and utility functions Code analysis, formatting rules
Hooks Event handlers for automation Pre-commit checks, post-deploy actions
MCP External tool integrations Database connections, API clients
LSP Language server configurations Custom linting, type checking

Why Use Plugins?

Here’s a comparison of working without plugins versus with them:

Without Plugins With Plugins
Manual setup per project One-command install
Copy files everywhere Shared via marketplace
Version drift Versioned releases
“How did I set this up?” Reproducible setup
Team inconsistency Team standardization

Coordination Hierarchy

Understanding how components relate to each other:

Marketplace (Distribution)
    │
    └─> Plugin (Package)
            │
            ├─> Command (Entry point) ──┐
            ├─> Subagent (Worker) ──────┤
            ├─> Skill (Utility) ────────┼─> Work together
            ├─> Hook (Automation) ──────┤   in your project
            └─> MCP (External tools) ───┘

Getting Started

To explore and install plugins:

  1. Browse available plugins: Use the /plugin command in Claude Code
  2. Install from CLI: Run npx claude-plugins to manage plugins
  3. Create your own: Start with the directory structure above

The Claude Code ecosystem continues to evolve. As new plugins and capabilities are added, this guide will be updated to reflect the latest best practices.