Claude Power-Ups ยท Reference

Claude Code ships with several distinct extension mechanisms. They overlap in confusing ways. This page cuts through it: what each thing is, how it differs, and when to reach for it.

Mental Model ยท Layers

Tools
Native functions Claude can call: Read, Write, Bash, Grep, WebSearch…
Foundation
MCP Servers
Add more tools by connecting external servers via the Model Context Protocol
Extend tools
Connectors
Pre-built MCP servers for named apps (Slack, Gmail, Linear, GitHub…)
MCP for apps
Skills
Saved slash-command workflows that orchestrate existing tools
Saved workflows
Plugins
Installable bundles of multiple skills, packaged and distributed
Skill bundles
Agents / Subagents
Isolated Claude sessions spawned to do parallel or expensive work
Parallel work
Hooks
Shell commands that fire automatically on Claude events (start, stop, tool calls)
Automation
๐Ÿ”ง
Tools
The base layer โ€” everything else builds on these
Foundation

Native functions Claude can call directly. These ship with Claude Code and cannot be removed. Every other extension mechanism either adds more tools or orchestrates existing ones.

Think of as: the standard library. You don't install them. They're always there.
Read โ€” open a file
Bash โ€” run a shell command
Grep โ€” search code
WebSearch โ€” search the web
Agent โ€” spawn a subagent
Always active
๐Ÿ”Œ
MCP Servers
Model Context Protocol โ€” adds new tools
Extend tools

External servers Claude connects to that expose additional tools. MCP is a standard protocol, so any developer can build and publish an MCP server. Once connected, Claude sees those tools alongside its native ones.

Think of as: USB peripherals. Plug one in, Claude gains new capabilities. Unplug it, they're gone.
computer-use โ€” mouse and keyboard control
claude-in-chrome โ€” browser DOM access
preview_* โ€” dev server control
Any custom server you build
Use when: need Claude to touch something it can't natively
๐Ÿ”—
Connectors
Pre-packaged MCP for popular services
MCP for apps

Connectors are just MCP servers, but pre-built and maintained for specific named products. You install them instead of building from scratch. They handle auth, API quirks, and schema so you don't have to.

Think of as: MCP servers with a brand name on the box. Slack connector = MCP server for Slack.
Slack โ€” read/write messages and channels
Gmail โ€” read email, draft replies
Linear โ€” create and update tickets
GitHub โ€” PRs, issues, code search
Use when: want Claude inside a specific named app
โšก
Skills
Slash commands โ€” saved, repeatable workflows
Saved workflows

Markdown files containing instructions Claude follows when you type /skillname. They encode domain knowledge, step sequences, and behavior rules for tasks you run repeatedly. Claude reads the skill file and executes accordingly.

Think of as: macros. Write the instructions once, invoke with a slash command forever.
/edit-dashboard โ€” safe edit protocol with checks
/pillars-management โ€” bulk data operations
/recap โ€” harvest insights into memory
/caveman โ€” activate terse response mode
Use when: task is repeatable and has known steps
๐Ÿ“ฆ
Plugins
Installable bundles of multiple skills
Skill bundles

Plugins package several related skills together for distribution. You install a plugin and get all its slash commands at once. Anthropic and third parties can publish plugins; you can build your own.

Think of as: an app that installs multiple slash commands. One install, many capabilities.
caveman plugin โ€” adds /caveman, /caveman-review, /caveman-commit
cowork plugin โ€” adds session, memory, and planning skills
Custom domain plugin โ€” bundle all your team's workflows
Use when: someone ships a workflow package worth installing
๐Ÿค–
Agents & Subagents
Isolated Claude sessions for parallel or isolated work
Parallel work

Claude can spawn separate Claude sessions (subagents) to run tasks in parallel or in isolation. Each subagent gets its own context, tool set, and instructions. Results come back as a single message. The spawning Claude is the "agent"; what it spawns is a "subagent."

Think of as: forking threads. Main Claude dispatches work; subagents do it in parallel; results merge back.
Run QA audit while main session continues
Explore 3 different files simultaneously
Isolate expensive research from main context
Specialized types: Explore, Plan, general-purpose
Use when: work is parallelizable or needs isolation
๐Ÿง 
Memory
Two distinct systems people constantly conflate
Persistence

CLAUDE.md โ€” always-loaded instructions. Every session reads these automatically. Two levels: global (~/.claude/CLAUDE.md) and project (./CLAUDE.md). Use for rules, preferences, and constraints that always apply.

Memory files โ€” saved facts recalled on demand. Four types: user (who you are), feedback (how to work with you), project (current context), reference (where to find things). Claude loads these when relevant, not always.

Key distinction: CLAUDE.md = rules that always fire. Memory files = context recalled when relevant. Don't put rules in memory files โ€” Claude may not load them.
CLAUDE.md: "Never use em dashes. Always move files to archived/, never delete."
Memory: "User is a data scientist. Prefers backend analogies for frontend concepts."
Memory: "Feedback: don't add trailing summaries โ€” user can read the diff."
Rules โ†’ CLAUDE.md  ยท  Facts โ†’ Memory files
๐Ÿ›ก๏ธ
Permissions & Settings
settings.json โ€” controls what Claude can do without asking
Config

Claude prompts you before every tool call by default. settings.json lets you pre-approve categories of actions so Claude can work autonomously. This is also where Hooks live.

Think of as: sudo rules. Define what Claude is allowed to do unattended vs. what requires your explicit approval each time.
Allowlist Bash(git *) โ€” no prompt for any git command
Allowlist Read(*) โ€” Claude reads files silently
Denylist Bash(rm *) โ€” always block, no override
Hooks defined here fire automatically on events
Two scopes: user-level (~/.claude/) and project-level (.claude/)
Use when: tired of approving the same tool calls repeatedly
๐ŸŽš๏ธ
Model Tiers
Opus ยท Sonnet ยท Haiku โ€” mix per task
Performance

Three tiers with different capability and cost tradeoffs. The main session uses one model, but each spawned agent can run on a different one. Use expensive models where reasoning matters; cheap models for mechanical lookups.

Key insight: you can mix models mid-session by specifying the model when spawning an agent. Run Opus for planning, Haiku for file search, Sonnet for implementation.
Haiku โ€” fastest, cheapest. File searches, simple lookups, mechanical edits.
Sonnet โ€” balanced default. Most coding, writing, moderate reasoning.
Opus โ€” most capable, most expensive. Complex reasoning, architecture, ambiguous problems.
Agents accept a model param: "haiku" / "sonnet" / "opus"
Match model tier to task complexity โ€” don't default everything to Opus
โš™๏ธ
Hooks
Shell commands triggered by Claude events
Automation

Hooks are shell commands wired to lifecycle events in Claude Code. They run automatically without Claude having to remember. Configured in settings.json. The output feeds back to Claude as context.

Think of as: git hooks, but for Claude actions. Event fires, shell runs, Claude sees the result.
UserPromptSubmit โ€” fires before every Claude reply
Stop โ€” fires when Claude finishes a response
PreToolCall โ€” fires before any tool runs
Common use: inject active mode reminders, auto-log sessions
Use when: behavior should be automatic, not remembered

When to Use What

I want to… Reach for Not
Give Claude access to a specific app Connector (if one exists) Tools
Give Claude access to a custom system MCP Server Connector
Automate a repeatable workflow Skill Agent
Install a set of workflows someone built Plugin Skill (one-by-one)
Run heavy work without burning main context Agent Inline in main session
Run independent tasks at the same time Agents (parallel) Sequential tool calls
Enforce behavior without Claude remembering Hook Memory files
Control mouse, keyboard, desktop apps MCP (computer-use) Connector
Interact with a web app in a browser MCP (claude-in-chrome) MCP (computer-use)
Set rules/preferences that always apply CLAUDE.md Memory files
Save facts about user/project for later Memory files CLAUDE.md
Stop getting prompted for routine tool calls settings.json allowlist Asking Claude to remember
Run expensive reasoning task Opus agent Default Sonnet for everything
Run fast/cheap lookup or search Haiku agent Opus (overkill)