For how the core agentic loop works, see How Claude Code works.
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
- Code intelligence connects Claude to a language server for symbol-level navigation and live type errors
- MCP connects Claude to external services and tools
- Subagents run their own loops in isolated context, returning summaries
- Agent teams coordinate multiple independent sessions with peer-to-peer messaging, plus a shared task list for agents that have the Task tools
- Hooks run your script, HTTP request, prompt, or subagent when Claude Code reaches a lifecycle event
- Plugins and marketplaces package and distribute these features
/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.
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.
Build your setup over time
You don’t need to configure everything up front. Each feature has a recognizable trigger, and most teams add them in roughly this order:
The same triggers tell you when to update what you already have. A repeated mistake or a recurring review comment is a CLAUDE.md edit, not a one-off correction in chat. A workflow you keep tweaking by hand is a skill that needs another revision.
Compare similar features
Some features can seem similar. For a deeper walkthrough of choosing between them, see Steering Claude Code: when to use CLAUDE.md, skills, hooks, and subagents on the blog. Here’s how to tell them apart.- Skill vs Subagent
- CLAUDE.md vs Skill
- CLAUDE.md vs Rules vs Skills
- Subagent vs Agent team
- MCP vs Skill
- Hook vs Skill
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
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 or when your context window is getting full. The subagent might read dozens of files or run extensive searches, but your main conversation only receives a summary. Since subagent work doesn’t consume your main context, this is also useful when you don’t need the intermediate work to remain visible. 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.