SpyBara
Go Premium

features-overview.md 2026-01-20 21:03 UTC to 2026-01-21 21:05 UTC

239 added, 0 removed.

2026
Sat 31 03:42 Fri 30 18:07 Thu 29 21:03 Wed 28 15:06 Tue 27 21:01 Mon 26 21:03 Sun 25 03:34 Sat 24 03:29 Fri 23 21:01 Thu 22 21:03 Wed 21 21:05 Tue 20 21:03 Mon 19 21:01 Fri 16 21:01 Wed 14 06:02 Mon 12 21:02 Sun 11 18:02 Sat 10 21:01 Fri 9 21:01 Thu 8 21:02 Wed 7 21:01 Tue 6 21:01 Sat 3 18:02

Extend Claude Code

Understand when to use CLAUDE.md, Skills, subagents, hooks, MCP, and plugins.

Claude Code combines a model that reasons about your code with built-in tools for file operations, search, execution, and web access. The built-in tools cover most coding tasks. This guide covers the extension layer: features you add to customize what Claude knows, connect it to external services, and automate workflows.

New to Claude Code? Start with CLAUDE.md for project conventions. Add other extensions as you need them.

Overview

Extensions plug into different parts of the agentic loop:

  • CLAUDE.md adds persistent context Claude sees every session
  • Skills add reusable knowledge and invocable workflows
  • MCP connects Claude to external services and tools
  • Subagents run their own loops in isolated context, returning summaries
  • Hooks run outside the loop entirely as deterministic scripts
  • Plugins and marketplaces package and distribute these features

Skills are the most flexible extension. A skill is a markdown file containing knowledge, workflows, or instructions. You can invoke skills with a slash command like /deploy, or Claude can load them automatically when relevant. Skills can run in your current conversation or in an isolated context via subagents.

Match features to your goal

Features range from always-on context that Claude sees every session, to on-demand capabilities you or Claude can invoke, to background automation that runs on specific events. The table below shows what's available and when each one makes sense.

Feature What it does When to use it Example
CLAUDE.md Persistent context loaded every conversation Project conventions, "always do X" rules "Use pnpm, not npm. Run tests before committing."
Skill Instructions, knowledge, and workflows Claude can use Reusable content, reference docs, repeatable tasks /review runs your code review checklist; API docs skill with endpoint patterns
Subagent Isolated execution context that returns summarized results Context isolation, parallel tasks, specialized workers Research task that reads many files but returns only key findings
MCP Connect to external services External data or actions Query your database, post to Slack, control a browser
Hook Deterministic script that runs on events Predictable automation, no LLM involved Run ESLint after every file edit

Plugins are the packaging layer. A plugin bundles skills, hooks, subagents, and MCP servers into a single installable unit. Plugin skills are namespaced (like /my-plugin:review) so multiple plugins can coexist. Use plugins when you want to reuse the same setup across multiple repositories or distribute to others via a marketplace.

Compare similar features

Some features can seem similar. Here's how to tell them apart.

Skills and subagents solve different problems:

  • Skills are reusable content you can load into any context
  • Subagents are isolated workers that run separately from your main conversation
Aspect Skill Subagent
What it is Reusable instructions, knowledge, or workflows Isolated worker with its own context
Key benefit Share content across contexts Context isolation. Work happens separately, only summary returns
Best for Reference material, invocable workflows Tasks that read many files, parallel work, specialized workers

Skills can be reference or action. Reference skills provide knowledge Claude uses throughout your session (like your API style guide). Action skills tell Claude to do something specific (like /deploy that runs your deployment workflow).

Use a subagent when you need context isolation. The subagent might read dozens of files or run extensive searches, but your main conversation only receives a summary. Custom subagents can have their own instructions and can preload skills.

They can combine. A subagent can preload specific skills (skills: field). A skill can run in isolated context using context: fork. See Skills for details.

Combine features

Each extension solves a different problem: CLAUDE.md handles always-on context, skills handle on-demand knowledge and workflows, MCP handles external connections, subagents handle isolation, and hooks handle automation. Real setups combine them based on your workflow.

For example, you might use CLAUDE.md for project conventions, a skill for your deployment workflow, MCP to connect to your database, and a hook to run linting after every edit. Each feature handles what it's best at.

Pattern How it works Example
Skill + MCP MCP provides the connection; a skill teaches Claude how to use it well MCP connects to your database, a skill documents your schema and query patterns
Skill + Subagent A skill spawns subagents for parallel work /review skill kicks off security, performance, and style subagents that work in isolated context
CLAUDE.md + Skills CLAUDE.md holds always-on rules; skills hold reference material loaded on demand CLAUDE.md says "follow our API conventions," a skill contains the full API style guide
Hook + MCP A hook triggers external actions through MCP Post-edit hook sends a Slack notification when Claude modifies critical files

Understand context costs

Every feature you add consumes some of Claude's context. Too much can fill up your context window, but it can also add noise that makes Claude less effective; skills may not trigger correctly, or Claude may lose track of your conventions. Understanding these trade-offs helps you build an effective setup.

Context cost by feature

Each feature has a different loading strategy and context cost:

Feature When it loads What loads Context cost
CLAUDE.md Session start Full content Every request
Skills Session start + when used Descriptions at start, full content when used Low (descriptions every request)*
MCP servers Session start All tool definitions and schemas Every request
Subagents When spawned Fresh context with specified skills Isolated from main session
Hooks On trigger Nothing (runs externally) Zero, unless hook returns additional context

*By default, skill descriptions load at session start so Claude can decide when to use them. Set disable-model-invocation: true in a skill's frontmatter to hide it from Claude entirely until you invoke it manually. This reduces context cost to zero for skills you only trigger yourself.

Understand how features load

Each feature loads at different points in your session. The tabs below explain when each one loads and what goes into context.

Context loading: CLAUDE.md and MCP load at session start and stay in every request. Skills load descriptions at start, full content on invocation. Subagents get isolated context. Hooks run externally.

When: Session start

What loads: Full content of all CLAUDE.md files (managed, user, and project levels).

Inheritance: Claude reads CLAUDE.md files from your working directory up to the root, and discovers nested ones in subdirectories as it accesses those files. See How Claude looks up memories for details.

Learn more

Each feature has its own guide with setup instructions, examples, and configuration options.


To find navigation and other pages in this documentation, fetch the llms.txt file at: https://code.claude.com/docs/llms.txt