Claude Code Features/Extensions
|
Feature |
Description |
Key capabilities |
When to use it |
Example |
Resources |
|---|---|---|---|---|---|
|
Persistent context file |
Provides consistent instructions/context across every session. |
Project conventions, “always do X” rules |
“Use pnpm, not npm. Run tests before committing.” | ||
|
Skills |
Extensible workflows ( |
Extends knowledge and workflows; can be invoked manually ( |
Reusable content, reference docs, repeatable tasks |
| |
|
MCP |
Model Context Protocol |
Connects Claude to external services, tools, and data sources. |
External data or actions |
Query your database, post to Slack, control a browser | |
|
Hooks |
Deterministic scripts |
Runs OUTSIDE the main LLM loop as pre-defined, reliable scripts. |
Automation that must run on every matching event |
Run ESLint after every file edit | |
|
Subagents |
Isolated execution loops |
Runs own loops in isolated context, returning summaries to the main session. |
Context isolation, parallel tasks, specialized workers |
Research task that reads many files but returns only key findings | |
|
Coordinate multiple independent Claude Code sessions |
Parallel research, new feature development, debugging with competing hypotheses |
Spawn reviewers to check security, performance, and tests simultaneously | |||
|
Plugins |
Distribution packages |
Bundles skills, hooks, subagents, and MCP servers for reuse across repositories (e.g. Claude in Chrome) |
When to Use a Feature
|
Trigger |
Add |
|---|---|
|
Claude gets a convention or command wrong twice |
Add it to CLAUDE.md |
|
You keep typing the same prompt to start a task |
Save it as a user-invocable skill |
|
You paste the same playbook or multi-step procedure into chat for the third time |
Capture it as a skill |
|
You keep copying data from a browser tab Claude can’t see |
Connect that system as an MCP server |
|
A side task floods your conversation with output you won’t reference again |
Route it through a subagent |
|
You want something to happen every time without asking |
Write a hook |
|
A second repository needs the same setup |
Package it as a plugin |
Key Technical Distinctions
- Invocation Control: Skills can run in the current session or be offloaded to subagents for modularity
- Loading Behavior: Descriptions load at session start to minimize latency, while full content is injected only when the skill is triggered
- Portability: Use Plugins when you need to share a specific set of tools or logic across multiple different project
When Features/Extensions Load into Context
---cognitive-computing---machine-intelligence/ai---subfields/natural-language-processing-(nlp)---computational-linguistics/language-models/large-language-models-(llms)/ai-agents/assistants/ai-coding-agents/assistants/claude-code/claude-code---features/extensions-(claude.md-skills-mcp-hooks-subagents-plugins--and--marketplace)/claude-code--context-loading.png)
Hooks Lifecycle
---cognitive-computing---machine-intelligence/ai---subfields/natural-language-processing-(nlp)---computational-linguistics/language-models/large-language-models-(llms)/ai-agents/assistants/ai-coding-agents/assistants/claude-code/claude-code---features/extensions-(claude.md-skills-mcp-hooks-subagents-plugins--and--marketplace)/claude-code--hooks-lifecycle.jpeg)