Guides & ReferenceConcepts in Plain English

Claude Code Skills vs Agents, MCP, Plugins, and Hooks in Plain English

Last updated: June 10, 2026

Claude Code is an assistant sitting at your computer, one that reads your files, writes new ones, and runs programs. Everything else you have heard about (skills, agents, MCP, plugins, hooks) is a way to give that assistant one of four things: instructions, memory, tools, or coworkers. That is the whole mental model, and it is the one I wish someone had handed me before I read forty developer blog posts.

If you searched claude code skills vs agents and every result assumed you write code for a living, this page is the other kind of answer. Each concept below gets a plain-English definition, an example with zero code in it, and an honest note on when you would actually care. Near the end: a glossary table, a decision guide, and the confusions that snag almost everyone.

The Whole System in One Mental Model

Every confusing term bolts onto one plain idea: an assistant who can read your files, write new ones, and run programs, taking direction in conversation. The add-ons sort into four buckets.

  • Instructions: CLAUDE.md (standing notes about your project) and skills (recipes for specific jobs)
  • Memory: sessions, checkpoints, and auto memory
  • Tools: MCP connections, which reach apps beyond your computer
  • Coworkers: subagents and parallel agents

Two leftovers. Hooks and permissions are the house rules, and plugins are gift baskets containing any mix of the above.

The tightest compression I have found comes from a developer named Moeed: “Skills are knowledge. MCP servers are actions. Subagents are isolation. Hooks are guarantees.” Keep that line in your pocket. One other writer joked that these concepts overlap like a Venn diagram designed by someone who hates clarity, which is fair, and also fixable. Anthropic’s own feature overview uses the same skeleton I use here; their examples are all linting and pull requests, so mine will be newsletters, venues, and receipts.

Sessions and Context: Why Claude Forgets Between Conversations

A session is one conversation, and context is everything Claude holds in mind during it: your messages, the files it has read, whatever instructions loaded at the start. End the session and that working memory empties, like an assistant clocking out for the day.

You will care the first morning you come back and Claude has never heard of “the newsletter.” Type /resume to reopen any past conversation, or run claude --continue in your terminal to pick up the most recent one. Claude Code also saves a checkpoint at every prompt and keeps them for 30 days, so /rewind (or tapping Escape twice) restores your files, your conversation, or both, per the checkpointing docs. Two smaller friends worth knowing: /compact summarizes a long conversation to free up room, and /context shows exactly what is loaded right now.

CLAUDE.md Is the Notebook Claude Keeps About Your Project

CLAUDE.md is a plain text file of standing instructions that loads at the start of every session in a folder. It is the notebook a good assistant keeps about you: this folder is my newsletter, the audience is retired teachers, never touch the archive folder, always write in first person.

The notebook earns its keep the second time Claude gets the same thing wrong. The fix takes one sentence: say “add that to CLAUDE.md” and Claude updates its own notebook, or type /init and it drafts one from scratch; the project memory lesson in the course turns this into a reflex. Official guidance is to keep the file under 200 lines and move step-by-step procedures into skills.

One warning, straight from the docs: CLAUDE.md is “context, not enforced configuration.” Claude follows it the way people follow sticky notes, which is to say usually. For something that must happen every time, you want a hook, covered below.

There is also a second, newer memory system called auto memory: notes Claude writes for itself about each project, with the first 200 lines loading automatically every session. You do nothing; it just accumulates.

Claude Code Skills Explained: Saved Recipes With a Slash Name

A skill is a folder holding a SKILL.md file: written instructions for one repeatable job, which you run by typing its /name, or which Claude can load on its own when the task matches its description. If you have pasted the same “here is how I like my weekly digest formatted” message three times, that message wants to be a skill.

Say you save a reading-digest skill: open my clippings folder, group everything by theme, write 200 words per theme, save the result as a dated file. From then on the whole chore is /reading-digest. Claude Code ships with several built in, including /code-review, /batch, /debug, and /loop, and your own live in ~/.claude/skills/ (available everywhere) or .claude/skills/ (one project), per the skills docs.

Two facts clear up most of the arguing online. First, custom slash commands and skills are now one feature: Anthropic merged them, every skill answers to a /name, and old command files keep working. (Ignore anyone calling slash commands legacy; they were absorbed, and the slash lives on.) Second, skills launched in October 2025 and became an open standard that December, with Canva, Notion, Figma, and Stripe publishing their own.

Skeptics on Hacker News keep asking what skills add beyond a regular prompt, and honestly, the answer is almost nothing. A skill is a saved prompt with a folder and a trigger. The magic is boring, which is exactly why it works. One caution before you trust the auto-trigger: a community evaluation across 51 multi-turn tests saw skills fire on their own anywhere from 6% to 66% of the time. Those are unofficial numbers, but they match my experience, so when it matters, type the slash yourself. Slash basics take five minutes in the course.

Claude Code Skills vs Agents: The Comparison Everyone Actually Means

A skill is a recipe. A subagent is a coworker. When people search for skills vs agents, the “agents” they usually mean are Claude Code subagents: specialist assistants Claude delegates to, each with its own context window, its own instructions, and its own tool access, doing the work in a separate conversation and walking back with a summary (subagents docs).

You will care about subagents when a side task would flood your main conversation. Suppose you are planning an event and want 60 venue pages read and ranked. A subagent does that reading at its own desk, burns through its own scratch paper, and hands you one tidy page of findings while your main chat stays clean. A few come built in (Explore and Plan), the /agents menu manages them, and custom ones are markdown files in .claude/agents/, which the course walks through in the custom subagents lesson.

Now the confession. In my first month I built six custom subagents, one per workflow, because subagents felt like the power-user move. I used two of them, twice each. Skills would have covered all six, and one writeup of Anthropic’s internal guidance explains why: subagents exist for parallel work and context isolation, full stop. Extra intelligence is nowhere on that list. The same model does the thinking either way; a subagent does it at a different desk.

Skills vs subagents at a glance
SkillSubagent
What it isA recipe Claude follows in your current conversationA coworker that works in a separate conversation
Where the work happensRight in front of you, in your chatOff to the side; you get back a summary
Best forRepeatable procedures: weekly digest, edit pass, invoice formattingBig, messy side jobs: read 60 venue pages while you keep working
How you trigger itType its /name, or let Claude match itAsk for it, mention the agent by name, or use /agents
CostCheap; the recipe loads only when usedHeavier; a whole separate context gets spun up
Based on the official Claude Code docs, June 2026

My rule now: when in doubt, make a skill. Promote a job to a subagent only when its mess keeps shoving your real conversation out of view.

Parallel Agents: Clones for Batch Work, in Four Flavors

When one task repeats 30 times, you want clones, and as of June 2026 Claude Code offers four official flavors. Subagents run inside your current session. Agent view (run claude agents in your terminal) is a dashboard for dispatching and watching multiple background sessions, currently a research preview. Agent teams are separate full sessions that message each other and share a task list, experimental and off by default behind a CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 setting. Dynamic workflows have Claude write a coordination plan that runs a whole fleet of subagents for one big job.

A naming landmine the docs themselves flag: /agents typed inside a conversation and claude agents typed in your terminal are different features. The first manages subagents; the second opens the dashboard.

The 60-second chooser, borrowed from a comparison I like and practiced for real in the agents lesson: subagents are freelancers, agent teams are a war room, and one question decides it, whether your workers need to talk to each other. For summarizing 30 podcast transcripts they do not, so freelancers win and cost far less, since each teammate in a team is a separate Claude instance running its own meter.

What Is MCP in Claude Code? The Power Strip Explanation

MCP (Model Context Protocol) is an open standard that plugs Claude Code into apps beyond your computer: Notion, Gmail, your calendar, and roughly ten thousand others. Out of the box, Claude works only with what is on your machine; each MCP connection is one more appliance plugged into the power strip.

You will care the first time you catch yourself copy-pasting between a browser tab and Claude. One terminal command makes a connection. This one is the official example and links Notion:

claude mcp add --transport http notion https://mcp.notion.com/mcp

I keep step-by-step recipes for the common connections in the Notion guide and the Gmail guide.

Now the vocabulary trap. Each connection is called an “MCP server,” a word that makes people picture a machine in the cloud, a confusion Hacker News relitigates regularly. Often the “server” is a small program running quietly on your own laptop. Same name, much less drama.

The size of the ecosystem genuinely surprised me.

Public MCP servers, late 2024 to mid 2026
Nov 2024~50
Q1 2025~400
Q3 2025~2,500
Q1 2026~7,000
May 20269,652 in the official registry
Sources: Presenc MCP ecosystem research; DigitalApplied registry count, May 24, 2026

Anthropic counted more than 10,000 active public MCP servers and 97 million monthly SDK downloads in December 2025, up from around 50 servers in November 2024. You need almost none of them: a Zuplo survey found 70% of MCP users run between two and seven. Stick to reviewed connectors from the Anthropic Directory, because the docs warn that untrusted servers can smuggle malicious instructions into your session. And one stale complaint to ignore: connected tools no longer eat your context while idle, since tool search now loads them only when needed.

Claude Code Plugins Explained: Gift Baskets You Install From a Menu

A plugin bundles skills, subagents, hooks, and MCP connections into one installable package. Anthropic launched plugins in October 2025; type /plugin to browse, the official marketplace is built in, and the community catalog adds with one line:

/plugin marketplace add anthropics/claude-plugins-community

Plugins start to matter when someone has already packaged a setup you were about to assemble by hand, say a podcast kit with a transcript skill, a summary skill, and the right connections, installed in one shot. Plugin skills arrive namespaced, like /kit-name:summarize, so they never collide with yours.

My honest advice is to skip plugins for your first month. Writing one CLAUDE.md and two small skills teaches you more about how the pieces fit than installing ten strangers’ bundles ever will.

Claude Code Hooks: If-This-Then-That Rules That Always Run

A hook is an automatic rule attached to a specific moment in Claude’s work: after a file edit, when Claude needs your attention, when a session starts. The hooks docs state the point plainly: hooks give you “deterministic control,” ensuring certain actions always happen “rather than relying on the LLM to choose.”

Remember the sticky-note problem from the CLAUDE.md section. Instructions are requests; hooks are guarantees. “Copy every edited draft to my backups folder” written in CLAUDE.md happens most of the time. Written as a hook, it happens every time.

No code required on your end. Tell Claude “write me a hook that backs up any file you edit in my drafts folder” and it configures the rule itself; the /hooks menu then shows what is in place. The case for hooks makes itself the first time “most of the time” costs you a document.

Permissions and Settings: Deciding What Claude May Touch

Permissions control what Claude can do without asking first: which files, which commands, which connections. Rules are checked in a fixed order (deny first, then ask, then allow), and the /permissions menu edits them without any config-file spelunking (permissions docs).

Day to day you will mostly use modes, cycled with Shift+Tab. Default mode asks before changes. Plan mode proposes and touches nothing, which is where I tell every nervous beginner to live for week one. There is also acceptEdits, which stops asking about file edits, and an auto mode in research preview, available on every plan (Team and Enterprise admins must switch it on first). Reading files inside your project folder never needs permission; Claude only asks before looking elsewhere.

The Claude Code Glossary: Every Term in One Table

Anthropic maintains an official glossary written for developers. This one trades completeness for plain English.

TermPlain EnglishWhere to poke
SessionOne conversation with Claude Code/resume reopens past ones
ContextEverything Claude is holding in mind right now/context shows it
CompactSummarizing a long conversation to free up room/compact
CheckpointAutomatic save point at every prompt, kept 30 days/rewind restores
CLAUDE.mdYour standing-instructions notebook, loads every session/init drafts one
Auto memoryNotes Claude writes for itself about each projectAutomatic
Slash commandA typed /name shortcut, today the front door to a skill/help lists them
SkillA saved recipe for one repeatable jobType its /name
SubagentA coworker with its own context that returns a summary/agents
Agent viewDashboard for many background sessions (research preview)claude agents in the terminal
Agent teamSeparate sessions that message each other (experimental)Off by default
Dynamic workflowClaude scripts a fleet of subagents for one big jobAsk for it
MCPThe standard that plugs Claude into outside apps/mcp shows connections
MCP serverOne such connection, often a small program on your own machineclaude mcp add
PluginAn installable bundle of skills, agents, hooks, and connections/plugin
MarketplaceA catalog you install plugins from/plugin marketplace add
HookAn automatic rule that always runs at a set momentAsk Claude to write one
Permission modeHow much Claude may do without askingShift+Tab cycles modes
Output styleThe voice and depth Claude replies with/config, then Output style

Bookmark whichever row you keep forgetting. For the ten commands worth memorizing out of the dozens that exist, the cheat sheet is the companion page.

The Decision Guide: Match the Want to the Feature

The escalation ladder below is adapted from Anthropic’s own triggers, translated out of developer-speak.

When to reach for which feature
  1. 1
    Just ask
    Most jobs need no feature at all. Plain English is the whole interface.
  2. 2
    Claude gets the same fact wrong twice
    Write it into CLAUDE.md, the notebook that loads every session.
  3. 3
    You paste the same playbook a third time
    Save it as a skill and give it a /name.
  4. 4
    You keep copying data out of a browser tab
    Add an MCP connection to that app.
  5. 5
    A side task is flooding your conversation
    Hand it to a subagent and keep working.
  6. 6
    Something must happen every single time
    Have Claude write a hook. Rules beat reminders.
  7. 7
    A second project needs the same setup
    Package the pieces as a plugin.
I want…Reach forFirst move
Claude to stop forgetting my preferencesCLAUDE.mdSay “add that to CLAUDE.md”
One command for a chore I repeatA skillAsk Claude to save the steps as a skill
A messy side job out of my main chatA subagentSay “use a subagent for this”
The same task done 30 times at onceParallel agentsSay “do these in parallel” or use /batch
Claude inside Notion, Gmail, or my calendarMCPclaude mcp add
A ready-made setup someone else builtA plugin/plugin
Something to happen every single timeA hookSay “write me a hook that…”
To limit what Claude can touchPermissions/permissions, or Shift+Tab to plan mode
To undo the last ten minutesCheckpoints/rewind

If a row leaves you torn between two features, pick the lighter one. A skill beats a subagent, CLAUDE.md beats a skill, and plain asking beats everything.

Skills vs Subagents vs MCP vs Plugins, Side by Side

Four features cause most of the confusion online, so here they are in one table.

SkillSubagentMCP connectionPlugin
What it isA saved recipe with a /nameA coworker with its own context windowA plug into an outside appA bundle of the other three
When you careYou repeat the same playbookA side task floods your chatYou keep copy-pasting from a browserSomeone packaged a setup you want
Example/reading-digest builds your weekly summaryReads 60 venue pages, reports back oneClaude files Gmail receipts into NotionA podcast kit: two skills plus two connections
DifficultyEasy; it is a text fileMedium; a text file plus a menuEasy; one command per appEasiest; pick from a catalog

Here is my one unhedged opinion for the whole page: most people reading this need exactly three things, a CLAUDE.md, one or two skills, and a single MCP connection. Everything else can wait until month two, and plenty of happy users never get past those three.

The Confusions That Snag Almost Everyone

“Subagents are the stronger option.” People assume the isolated worker must be smarter. Same model, separate desk, summary on return; choose subagents for tidiness and parallel work, never for brainpower.

“An MCP server lives in the cloud.” Often it is a small program on your own laptop. The name is the only intimidating part.

“CLAUDE.md rules are enforced.” The docs call the file “context, not enforced configuration.” When a rule has to hold every time, use a hook or a permission rule instead.

“Slash commands are obsolete.” They were merged into skills, and typing the slash remains the main way to invoke one. Anyone telling you to ignore commands is reading old posts.

“Skills fire reliably on their own.” Auto-invocation landed anywhere between 6% and 66% of the time in the community eval mentioned earlier. I cannot tell you why the range is that wide; nobody outside Anthropic seems to know, and the docs are silent on it. Type the slash.

Learn These by Using Them (the Course Is Free)

You will forget half this glossary by Friday, and that is fine, because the terms stick once your hands are on them. My free course runs inside Claude Code itself: install it in about 15 minutes, download the course materials, type /start-1-1, and Claude teaches you in conversation, with real files. Memory, subagents, and parallel agents each get their own lesson, and by Module 2 you are building an app that actually ships. If you want a broader orientation first, start with Claude Code for Non-Developers.

FAQ

What is the difference between Claude Code skills and agents?

A skill is a saved set of instructions Claude follows inside your current conversation, like a recipe card you hand it. A subagent is a separate worker with its own context window that does the task elsewhere and returns a summary. Reach for a skill when you repeat a procedure, and a subagent when a side task would clutter your main conversation.

Are slash commands and skills the same thing in Claude Code?

Yes. Custom slash commands have been merged into skills, so every skill gets a /name you can type, and old command files in .claude/commands still work. If a command and a skill share a name, the skill wins.

What is MCP in Claude Code, in plain English?

MCP (Model Context Protocol) is an open standard that plugs Claude Code into outside apps such as Notion, Gmail, and your calendar. Each connection takes one claude mcp add command, and Anthropic counted more than 10,000 active public MCP servers as of December 2025.

Does Claude Code remember anything between sessions?

Yes, three ways. CLAUDE.md holds notes you write, auto memory holds notes Claude writes for itself about each project, and /resume reopens past conversations. A brand-new session still starts with an empty conversation, which is by design.

Do I need plugins to use Claude Code?

No. A plugin is a shareable bundle of skills, agents, hooks, and MCP connections that someone else packaged. Start without any, then install one when it contains a setup you were about to build by hand.