Skip to main content
Featured Evolution MCP Agents Skills Architecture

Claude Code Evolution: MCP, Commands, Agents & Skills

A visual journey through 9 months of Claude Code's tool evolution. From MCP to Slash Commands, Agents, and Skills — understand the design philosophy behind each tool.

January 15, 2026 12 min read By Claude World

Have you ever wondered why Claude Code has so many different tools? MCP, Slash Commands, Agents, Skills… they all seem similar, yet serve different purposes.

This article traces the 9-month evolution journey from April 2025 to January 2026, showing how each tool emerged to solve a specific problem — all working toward the same goal.

The Timeline at a Glance

MCP (Foundation) → Slash Commands → Agents → Skills → Skills 2.0 → Merge
     ↓                    ↓              ↓          ↓            ↓
  Before 0.2.31      v0.2.31      v1.0.60     v2.0.20    v2.1.0/v2.1.3
  (Open Standard)   (2025-04-02) (2025-07-24) (2025-10-16) (2026-01-07/09)
Quick Reference Table
ToolVersionDatePurpose
MCPBefore v0.2.31-External API integration (open standard)
Slash Commandsv0.2.312025-04-02Reusable workflow prompts
Agentsv1.0.602025-07-24Isolated task execution
Skillsv2.0.202025-10-16Auto-detected capabilities
Skills + Forkv2.1.02026-01-07Skills with isolated execution
Mergev2.1.32026-01-09Commands & Skills unified

The Core Problem: Context vs Knowledge

Before diving into each tool, understand the fundamental challenge they all address:

Limited Context Window vs Infinite Knowledge Needs

Every token in your Context Window is precious. Yet, Claude needs to know:

  • How to use Google Drive API
  • Your Git commit conventions
  • How to navigate your codebase
  • What “good code” looks like in your project

If everything lives in Main Context, you run out of space for your actual problem.

Each tool in Claude Code exists to solve this from a different angle.


MCP: Move Universal Knowledge Out

What It Is

Model Context Protocol — An open standard for connecting AI assistants to external systems and data sources.

Why It Was Created

The common explanation: “Unified architecture for Claude to access external data.”

The real reason: Context saving.

Without MCP, every time you want to use Google Drive, Claude would need to know:

  • API endpoints
  • Authentication flows
  • Request/response formats
  • Error codes
  • Rate limiting rules

This could easily consume 3000+ tokens of universal knowledge that has nothing to do with your specific problem.

How MCP Solves It

❌ Without MCP:
Main Context = Your Problem + API Documentation

✅ With MCP:
Main Context = Your Problem
External Server = API Documentation (loaded as tools)

The essence: Move universal knowledge outside, keep Context for your problem.

Key Insight

MCP is an open standard — not unique to Claude Code. Anyone can implement MCP servers, creating an ecosystem of reusable integrations.


Slash Commands: Load Details On Demand

What It Is

Custom markdown files in .claude/commands/ that insert predefined prompts into your conversation.

Why It Was Created

MCP solved external tools, but what about development workflow details?

Consider Git commits:

  • Conventional Commits format
  • When to use --amend (and when never to)
  • Pre-commit hook handling
  • Force push rules

Writing these in Main Context wastes space. Slash Commands solve this:

“Don’t load until needed”

How It Works

<!-- Main Context only knows: -->
"When user types /commit, execute commit.md"

<!-- commit.md (loaded only when triggered): -->
## Git Commit Workflow
1. Check git status
2. Parse changes
3. Git Safety Protocol (detailed rules...)
4. Handle pre-commit hooks

Key Insight

Slash Commands enable progressive disclosure — details appear only when needed. They also provide stability during model uncertainty, ensuring workflows execute in fixed steps.


Agents: Fork Out, Execute, Return Results

What They Are

Autonomous subprocesses that handle complex, multi-step tasks independently.

Why They Were Created

As tasks grow complex, single-context processing becomes unwieldy.

Imagine asking Claude to analyze a large project:

  • Scan hundreds of files
  • Each file has discoveries
  • Massive intermediate thinking

Problems:

  1. Context explosion — intermediate processes fill tokens
  2. Main dialogue pollution — analysis details mix with primary conversation

How Agents Solve It

“Do it elsewhere, bring back results”

The key insight: Sub-agent Context never flows back to main dialogue.

  • Independent conversation history
  • Specialized system prompts
  • Restricted tool sets (e.g., Explore agent: Read/Grep/Glob only)
  • Returns “answer,” not “process”

This is Fork — branch out, execute independently, merge results.


Skills: Reusable Workflows

What They Are

Modular packages that extend Claude’s capabilities. Claude auto-detects when to use them.

Why They Were Created (v2.0.20 - 2025-10-16)

Initially, Skills provided:

  • Reusable workflow definitions
  • Auto-detection (vs manual slash commands)
  • Bundled resources (scripts, references, assets)

Limitation: Skills ran in Main Context using the default agent.


The Major Upgrade: Skills + Fork (v2.1.0 - 2026-01-07)

Just 3 months after Skills launched came the game-changing update:

Two Superpowers Added

  1. context: fork — Execute in isolated sub-agent context
  2. agent field — Specify which agent executes the skill

What Changed

Before v2.1.0After v2.1.0
Runs in Main ContextRuns in forked context
Uses default agentUses specified agent
Execution pollutes Main ContextMain Context stays clean

The Evolution Timeline

Skills 2.0.20 (2025-10-16)
❌ No fork context
❌ No agent specification

├── 3 months →


Skills 2.1.0 (2026-01-07) ⚡ MAJOR UPGRADE
✅ context: fork
✅ agent: Explore | general-purpose | custom

├── 2 days →


Skills 2.1.3 (2026-01-09)
Slash Commands & Skills merged
(now Slash Command = Skill + user-invocable: true)

Complete Progressive Disclosure

With v2.1.0, Skills achieved full progressive disclosure:

  1. Definition layer → SKILL.md frontmatter
  2. Trigger layer → description determines when to use
  3. Execution layer → specify specialized agent
  4. Isolation layer → fork context keeps things clean

The Merge (v2.1.3 - 2026-01-09)

Just two days after v2.1.0, slash commands and skills merged:

“Merged slash commands and skills, simplifying the mental model with no change in behavior”

Now: Slash Commands are Skills — just with user-invocable: true.

This unified the mental model while preserving all functionality.


The Unified Architecture

All four tools solve the same core problem from different angles:

┌─────────────────────────────────────────────────┐
│              Main Context                        │
│         (Current Task + Project Config)         │
└───────────────────┬─────────────────────────────┘

    ┌───────────────┼───────────────┬─────────────┐
    │               │               │             │
    ▼               ▼               ▼             ▼
┌───────┐     ┌───────┐      ┌──────┐    ┌───────┐
│  MCP  │     │Skills │     │Agents│    │Command│
└───────┘     └───────┘      └──────┘    └───────┘
    │              │              │            │
  External     Workflows      Expert      Quick
   Tools         Knowledge     Execution    Triggers

【Move universal knowledge out】【Load on demand】【Isolate execution】

Solution Matrix

ToolSolvesHow
MCPExternal API knowledgeMove docs to external server
CommandsWorkflow detailsDon’t load until triggered
AgentsComplex task executionFork out, complete independently
SkillsReusable workflowsCombine all three

The Goal: Main Context only holds “current problem + project config.” Everything else loads on demand, executes in isolation, or exits when done.


The Essence: It’s All Prompts

Strip away the fancy names, and what remains?

MCP Server       = External system prompts
Agent            = Role-based prompts
Skill            = Workflow prompts
Slash Command   = User-triggered prompts

Tool names exist for different stages of use.

  • “Connect MCP” is easier than “load external prompt package”
  • “Use Explore agent” is clearer than “use exploration-type prompts”
  • “Run /commit” is simpler than “trigger commit prompt”

The Design Philosophy

“Put the right prompt, in the right place, at the right time.”

This is progressive disclosure. This is context saving. This is the architecture of Claude Code.


Summary: 9 Months of Evolution

DateVersionMilestone
Before 0.2.31-MCP foundation
2025-04-02v0.2.31Slash Commands
2025-07-24v1.0.60Custom Subagents
2025-10-16v2.0.20Skills introduced
2026-01-07v2.1.0Skills + Fork + Agent (major upgrade)
2026-01-09v2.1.3Commands & Skills merged

Nine months of iterative improvement, each tool building on the last — all toward the same vision.


Want to Explore Further?

Check out the interactive evolution timeline at /evolution to see this history visualized, or dive deeper into:


This article is based on the official Claude Code CHANGELOG and git commit history.