# The Claude Code map (Hourwiz)

The main ones, not the complete list. Each loads at a different time, and that's what it costs.

## 1. CLAUDE.md: always on
- What: instructions Claude reads at the start of every session.
- File: ./CLAUDE.md or ./.claude/CLAUDE.md (project) · ~/.claude/CLAUDE.md (you, all projects) · ./CLAUDE.local.md (you, this project)
- Loads: session start, in full. Costs context on every request.
- Keep it under 200 lines (Anthropic's target). It's context, not enforcement.
- Add it when: Claude gets the same convention wrong twice.

## 2. Skills: on demand
- What: a folder with a SKILL.md (name, description, instructions).
- File: .claude/skills/<name>/SKILL.md (project) · ~/.claude/skills/<name>/SKILL.md (you)
- Loads: descriptions at session start; full text when used, or when you type /<name>.
- Custom slash commands are merged into skills. Side effects? Set disable-model-invocation: true.
- Add it when: you paste the same playbook a third time.

## 3. Subagents: a separate room
- What: a worker with its own context window, system prompt and tools. Returns a summary.
- File: .claude/agents/ (project) · ~/.claude/agents/ (you)
- Loads: starts fresh with its own prompt, your CLAUDE.md and the task. No chat history.
- Its requests still count toward your usage.
- Add it when: a side task floods your chat.

## 4. MCP: a plug, not a brain
- What: an open standard that connects Claude to outside apps and data.
- Setup: claude mcp add · scopes: local (default), project (.mcp.json), user
- Loads: tool names at session start; full schemas when a tool is needed.
- If a CLI tool (like gh) exists, try it first: it is more context-efficient. Only connect servers you trust.
- Add it when: you keep copying data out of a browser tab.

## 5. Hooks: outside, every time
- What: your script (or HTTP request, MCP tool, prompt, subagent) that runs at a lifecycle event, e.g. PreToolUse.
- File: .claude/settings.json · .claude/settings.local.json · ~/.claude/settings.json · a plugin's hooks/hooks.json
- Cost: zero context, unless it sends something back. PreToolUse + exit code 2 = blocked.
- Hooks run with your permissions: only use hooks you trust.
- Add it when: something must happen every time, without asking.

## 6. Plugins: the box
- What: skills, agents, hooks and MCP servers packaged as one unit.
- File: manifest at .claude-plugin/plugin.json · install with /plugin
- Cost: an enabled plugin's names and descriptions sit in context every turn, even unused.
- A plugin can run code with your user privileges. Open the box first.
- Add it when: a second repository wants the same setup.

## The short version (our wording)
Repeat a mistake: CLAUDE.md. Repeat a paste: skill. Must never fail: hook.

Triggers: Anthropic's "Extend Claude Code" docs (code.claude.com/docs/en/features-overview).
Checked against Claude Code v2.1.294, 8 Oct 2026. Claude Code changes often: check the docs.
Hourwiz is built with Claude Code, so we're biased. Not sponsored by Anthropic.
Sources and our tests: https://hourwiz.com/v/claude-code-map/
