REFERENCE

The Claude Code Glossary: Skills, Hooks, MCP & More

A plain-English Claude Code glossary: short, accurate definitions of the terms you keep seeing — Skills, hooks, MCP, subagents, slash commands, CLAUDE.md, and more.

By Ian MacCallum··8 min read

This Claude Code glossary is a quick reference for the terms you keep running into when working with Anthropic's agentic coding tool — words like Agent Skills, hooks, MCP, subagents, and CLAUDE.md. Each entry is a short, plain-English definition so you can stop guessing what a feature does and get back to shipping. Where a topic deserves more depth, we link to a full deep dive and to the official docs. Claude Drops is an independent project and is not affiliated with Anthropic; for exact flags and syntax, always confirm against the official Claude Code docs.

Why this Claude Code glossary exists

Claude Code ships fast, and its vocabulary grows with it. This Claude Code glossary groups terms by theme: the core extensibility primitives first (Skills, slash commands, subagents, MCP, hooks), then the configuration and memory layer (CLAUDE.md, settings, permissions), then runtime concepts (plan mode, the context window, headless mode). If you just want a one-line lookup, jump to the quick-reference table at the end. For ongoing changes to any of these features, the Claude Code changelog is the source of truth, and you can get a push notification the moment a new release lands by grabbing the app.

These definitions describe concepts and behavior, not exact command syntax. Feature names and capabilities evolve, so verify specifics in the official docs before relying on them in scripts.

Extensibility: Skills, commands, subagents, MCP, hooks

Agent Skills

Agent Skills are reusable, self-contained packages of instructions (and optionally scripts or resources) that teach Claude Code how to do a specific task well — for example, generating a changelog, scaffolding an API route, or following your team's release process. A skill typically lives in a folder with a markdown file describing when to use it and what steps to follow, and Claude loads it on demand when the task matches. Skills make repeatable workflows consistent across a team. For a full walkthrough, see Claude Code Skills explained.

Slash commands

Slash commands are shortcuts you type starting with / to trigger an action. Some are built in (for managing the session, configuration, and context), and you can define your own as reusable prompts. A custom slash command is a lightweight way to package a frequently used instruction so you don't retype it. Slash commands differ from Skills in scope: a slash command is usually a single prompt you invoke explicitly, while a Skill is a richer capability Claude can reach for automatically. See our slash commands guide for examples.

Subagents

Subagents are separate, focused Claude instances that the main agent can delegate work to, each with its own context window and often its own tools or instructions. Because a subagent works in an isolated context, it's useful for parallelizable or noisy tasks — searching a large codebase, running a review pass, or doing research — without flooding the main conversation. The parent agent receives the subagent's result, not its entire transcript. Learn more in Claude Code subagents explained.

MCP / MCP server

MCP stands for the Model Context Protocol, an open standard for connecting AI tools to external systems. An MCP server exposes a set of tools, resources, or prompts — for example a database, an issue tracker, a browser, or a design app — that Claude Code can call during a session. Adding an MCP server extends what Claude can actually do beyond reading and writing local files. Read the full primer in Claude Code MCP explained, and check the docs for how to configure servers.

Hooks

Hooks are shell commands that Claude Code runs automatically at defined points in its lifecycle — for instance before or after a tool runs, or when a session ends. Because the harness (not the model) executes them, hooks are how you enforce deterministic behavior: auto-format code after an edit, block writes to protected paths, run a linter, or log activity. Hooks turn "please remember to" into a guarantee. See Claude Code hooks explained for patterns and examples.

Rule of thumb: use a Skill or slash command when you want Claude to do something on request; use a hook when you want something to happen automatically and reliably, every time, regardless of what the model decides.

Configuration & memory

CLAUDE.md / memory

CLAUDE.md is a markdown file that Claude Code reads as persistent project memory — conventions, architecture notes, commands to run, and dos and don'ts. A project-level file lives in your repo and applies to that codebase; a user-level file can hold personal preferences that apply everywhere. Keeping CLAUDE.md tight and accurate is one of the highest-leverage things you can do, because its contents are loaded into context and steer every response.

Settings / settings file

Claude Code stores configuration — options such as permissions, hooks, environment variables, and model preferences — in a JSON settings file. Settings are typically layered across scopes: user-level settings that apply across projects, and project-level settings checked into the repo, so teams can share a baseline while individuals override locally. Because automated behaviors (hooks, allowed tools) are defined here, the settings file is effectively the control panel for the harness. See the docs for the current file locations and keys.

Permissions / allowlist

The permission system governs which actions Claude Code can take without asking — running specific commands, editing files, or calling certain tools. An allowlist (allowed tools) is the set of operations pre-approved so they run without a prompt, which is what makes longer autonomous runs practical. Conversely, you can deny or require confirmation for sensitive operations. Tuning permissions is a balance between fewer interruptions and keeping a human in the loop for risky actions.

Runtime concepts

Plan mode

Plan mode is a way to have Claude Code investigate and propose an approach before it changes anything. The agent reads code and explains what it intends to do, and you approve the plan before edits or commands run. It's ideal for larger or higher-stakes changes where you want to review the strategy first rather than discover surprises mid-edit.

Output styles

Output styles let you adjust how Claude Code communicates — for example, more concise responses, or a different tone or format for explanations — without changing what it's able to do. They're a presentation-layer preference, useful for matching your workflow or for teaching contexts where you want more explanation. Check the docs for the styles currently available and how to select one.

Context window & compaction

The context window is the amount of text — your messages, files, tool results, and Claude's replies — the model can consider at once. Long sessions can fill it up, so Claude Code uses compaction: summarizing earlier parts of the conversation to free room while preserving the important details. This explains why very long sessions sometimes "forget" minor details, and why a clear CLAUDE.md (which is reloaded) is more durable than something said hundreds of messages ago.

Headless mode

Headless mode runs Claude Code non-interactively — typically from a script, CI pipeline, or another program — so it executes a task and returns a result without a live chat session. This is the foundation for automation: scheduled jobs, code review bots, batch refactors, or any workflow where no human is sitting at the prompt. See the docs for the exact invocation and output options.

The changelog

The changelog is the running list of what changed in each Claude Code release — new features, fixes, and behavior changes. Anthropic publishes it as CHANGELOG.md on GitHub. Because the tool ships frequently, keeping an eye on the changelog is the best way to learn about new primitives early. Claude Drops mirrors it in a browsable format at the Claude Code changelog and can notify you when a new version drops.

Quick-reference table

A one-line lookup for the most common terms. Use the sections above for fuller explanations and links to deep dives.

TermOne-line definition
Agent SkillReusable package of instructions that teaches Claude a specific task.
Slash commandA typed /shortcut that triggers a built-in or custom action.
SubagentA separate Claude instance with its own context for delegated work.
MCP serverAn external service exposing tools/resources Claude can call.
HookA shell command the harness runs automatically at lifecycle points.
CLAUDE.mdMarkdown project/user memory loaded into context every time.
Settings fileJSON config for permissions, hooks, env vars, and preferences.
Permissions / allowlistControls which actions run without asking.
Plan modePropose an approach for approval before making changes.
Output stylesAdjust how Claude communicates, not what it can do.
Context windowHow much text the model can consider at once.
CompactionSummarizing older conversation to free context space.
Headless modeRun Claude Code non-interactively from scripts or CI.
ChangelogThe running list of changes in each release.

Where to go next

This glossary is a map, not the territory — each term has more depth than a paragraph can hold. The fastest way to keep your mental model current is to skim new releases as they ship. Browse the Claude Code changelog to see what's new, dive into a deep dive on Skills, MCP, or hooks, or grab the app to get a push notification the moment a new Claude Code version lands. For exact syntax, the official docs are always the final word.

IM

Ian MacCallum

Maintainer, Claude Drops

Ian builds Claude Drops and reads every Claude Code release so you don't have to. He writes plain-English guides to Claude Code's features, drawing directly from the official changelog and documentation.

Stay on top of Claude Code

Get notified the moment a new version ships, and browse the full Claude Code changelog.

Get Claude Drops

FAQ

Frequently asked questions

What is the difference between a Skill and a slash command in Claude Code?+
A slash command is a shortcut you type starting with / to trigger a specific action or prompt, usually invoked explicitly. An Agent Skill is a richer, self-contained package of instructions (and sometimes scripts) that Claude can reach for automatically when a task matches. Use a slash command for a quick, on-demand prompt; use a Skill to encode a repeatable workflow your team relies on.
What does MCP mean in Claude Code?+
MCP stands for Model Context Protocol, an open standard for connecting AI tools to external systems. An MCP server exposes tools, resources, or prompts — such as a database, browser, or issue tracker — that Claude Code can call during a session, extending what it can do beyond reading and writing local files.
What is the difference between hooks and Skills?+
Hooks are shell commands the Claude Code harness runs automatically at defined lifecycle points (for example, after a file edit), so they enforce deterministic behavior regardless of what the model decides. Skills are capabilities Claude applies when relevant to a task. In short: use a hook when something must happen reliably every time; use a Skill when you want Claude to perform a task on request.
Is this glossary maintained by Anthropic?+
No. Claude Drops is an independent project and is not affiliated with Anthropic. This glossary describes concepts and behavior in plain language; for exact flags, settings keys, and syntax, always confirm against the official Claude Code documentation at docs.claude.com.
How do I keep up with new Claude Code terms and features?+
Claude Code ships frequently, and new features appear in its changelog first. Anthropic publishes the official CHANGELOG.md on GitHub. You can browse a readable version of the Claude Code changelog on Claude Drops, and the app sends a push notification whenever a new release lands.