The Complete Field Guide · 15-agent research swarm · 2026-05-20

Claude Code 2026:
the whole machine.

Not a top-5 list. Every feature, command, flag, hook, and 2026 release the swarm pulled from live docs — explained, with a "try this now" for each. The Mastery Checklist below tracks what you've actually learned (it saves your progress). Go from granny to orchestrator, one checkbox at a time.

112 things to master ~20 headline 2026 features v2.1.146 · Opus 4.7 progress auto-saved
0 / 112 mastered

The Mastery Checklist

Check things off as you actually use them — not when you read about them. Reading is trivia; doing is retention. SLEEPER = a high-value thing most people (you, last week) don't know exists. Your progress saves to this browser automatically.

rate this guide:
A

Skills & Plugins

A Skill = SKILL.md (markdown + YAML frontmatter) that loads when you type /name or Claude matches its description. The whole game is progressive disclosure: only descriptions cost context at startup; bodies load on use; reference files load only when read.

A1Skill vs Subagent vs CLAUDE.md rule

ThingRuns inContext costBest for
SkillYour conversation (or forks)Description always; body on invokeRepeatable procedures, on-demand reference
SubagentIsolated windowOnly the summary returnsVerbose work you don't want in context
CLAUDE.md ruleEvery turnEvery request, foreverFacts always true (stack, style, env)

Decision rule: if a CLAUDE.md section became a multi-step procedure not a fact, make it a skill. If you keep pasting the same instructions, that's the extraction signal.

A2SKILL.md anatomy + every frontmatter field

~/.claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: Fix a GitHub issue. Use when user says "fix issue", "resolve #N"...
argument-hint: "[issue-number]"
disable-model-invocation: true   # side effects → you fire it, not Claude
allowed-tools: Read Edit Bash(gh *) Bash(git *)
model: sonnet · effort: high · paths: "src/**" · context: fork · agent: Explore
---
# Fix Issue $ARGUMENTS
## Context
!`gh issue view $ARGUMENTS`   # runs BEFORE Claude sees it, output injected
## Steps
1. Read above. 2. Grep code. 3. Fix. 4. Test. 5. git commit -m "fix (#$ARGUMENTS)"
Gotcha: user-invocable: false only hides from the / menu — Claude still calls it. To block Claude from auto-firing a destructive skill, use disable-model-invocation: true.

A3Progressive disclosure — the directory IS the skill

layout
my-skill/
├── SKILL.md          # <500 lines. Routing + key steps.
├── references/*.md   # deep docs — loaded ONLY when read (informs reasoning)
├── assets/           # templates/fonts — land in the deliverable, never loaded
└── scripts/*.py      # Claude EXECUTES (run --help, do NOT read source)

Budget mechanics: all skill descriptions take ~1% of context at startup. Too many → low-priority ones get silently truncated and stop firing. Diagnose with /doctor; fix with skillOverrides: name-only or raise skillListingBudgetFraction.

A4Steal-worthy official skills

🛠️ skill-creator

Meta-skill: drafts skills, runs A/B evals (with-skill vs baseline), runs an optimizer loop tuning your description for trigger accuracy.

steal: let it write your first skill

🔌 mcp-builder

4-phase MCP-server build. Points at references/*.md instead of bloating the body.

steal: phased reference pattern

🎨 algorithmic-art

Writes a "philosophy" manifesto first, then implements it. Intent before code.

steal: design-before-build

Bookmarks: anthropics/skills (17 official) · travisvn/awesome-claude-skills (12.7k★).

A5Plugins = everything, packaged & shareable

A plugin bundles skills + commands + agents + hooks + MCP + bin/ (auto-PATH) + themes + output-styles, distributed via a marketplace (git repo with marketplace.json). Gives you namespacing (/my-plugin:review) + one-command install + versioning for teammates.

structure — components at ROOT
my-plugin/
├── .claude-plugin/plugin.json   # manifest ONLY here
├── skills/ agents/ hooks/ bin/  # everything else at root
└── .mcp.json                    # bundled server, auto-starts
/plugin marketplace add you/marketplace · /plugin install my-plugin@marketplace
#1 mistake: putting skills/, agents/ inside .claude-plugin/. Only plugin.json lives there.
⚡ try now

Type /plugin → Installed tab to see per-plugin context cost, then /skills to toggle a noisy skill to name-only.

B

Agents & Orchestration

Three primitives people conflate: subagents (isolated, return a summary), background agents (full sessions surviving terminal close), agent teams (peers that message each other). Plus claude agents to drive them all.

B1Subagents — the workhorse

.claude/agents/db-reader.md
---
name: db-reader
description: Read-only DB queries. Do NOT use for writes or schema changes.
model: haiku · tools: Bash · isolation: worktree · memory: project · maxTurns: 20
---
Only execute SELECT. Always LIMIT 100...

B2Agent View — claude agents (the new screen, May 11)

Full-screen TUI of every session grouped by state: Needs input, Completed, Working, Ready for review. Summaries auto-refresh every 15s.

KeyDoesKeyDoes
SpacePeek + reply without attachingEnterAttach / dispatch
Background ANY session → viewCtrl+X ×2Stop + delete worktree
Ctrl+TPinCtrl+SGroup by state/dir

Filters: a:name, s:working, #PR. Scriptable: claude agents --json.

B3Agent Teams — peers, not minions

You have CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. A lead spawns teammates (full sessions) that talk to each other via mailbox + shared task list. Team hooks: TeammateIdle, TaskCreated, TaskCompleted.

🔬 Competing-hypothesis debug

"5 teammates, each a theory for the bug, debate to disprove each other, write consensus." Beats anchoring.

⚙️ Parallel build

4 teammates, disjoint file sets. Sonnet teammates, Opus lead. Plan approval before writes.

Cost: teams ≈ 4× tokens; 10 bg agents = 10× usage. Same file edited by two = silent overwrite. Design for disjoint ownership.

B4Background agents & bash

B5Worktrees — isolation that makes parallelism safe

⚡ try now

Run claude agents, then claude --bg "summarize this repo in 5 bullets", hit Space to peek. Whole loop in 30s.

C

CLAUDE.md & Memory

CLAUDE.md loads every session, every request — every line is a recurring token tax. Anthropic's own docs: "Bloated CLAUDE.md files cause Claude to ignore your actual instructions." Target <200 lines.

C1The one-question test

For each line: "Would removing this cause a mistake?" If no, cut it. Include: commands Claude can't guess, style that differs from default, repo etiquette, env quirks. Exclude: standard conventions, "write clean code", API docs (link), file-by-file descriptions.

C2Hierarchy, nesting & @-imports

All files concatenate root-down: managed → ~/.claude/CLAUDE.md → project → CLAUDE.local.md. Nested packages/api/CLAUDE.md loads on demand when Claude touches that subtree.

imports & path-scoped rules
@docs/shared-conventions.md   # import (max 5 hops)
@AGENTS.md                   # share source of truth with other tools
# .claude/rules/api.md → --- paths: ["packages/api/**"] --- loads only on match
Key: @-imports load at launch unconditionally (add context, don't save it). For "sometimes relevant," use a path-scoped rule or a skill. claudeMdExcludes kills other teams' noise. HTML comments are stripped = free notes.

C3Three memory systems

SystemWho writesWhat / where
CLAUDE.mdYouRules & facts. Full load every session.
Auto Memory 💡
(v2.1.59+)
ClaudeSaves learnings to ~/.claude/projects/<repo>/memory/. Only MEMORY.md (200 lines) loads at start. Auto Dream periodically consolidates & prunes it.
API Memory ToolYour appSeparate SDK primitive for building agents — not a CLI feature.

/memory = audit panel (what's loaded). # = quick-save. /doctor = budget check.

⚡ try now

Run /memory in a project — see exactly what's loaded. Then check if Auto Memory is on; if not, that's a free second brain.

D

Hooks · MCP · Config

The enforcement layer. CLAUDE.md is a request; a hook is a guarantee. MCP plugs in tools. Sandbox + permissions decide what any of it can touch.

D1Hooks — ~30 events, deterministic automation

EventClassic use
PostToolUse (Edit|Write)Auto-format with Prettier
PreToolUse (blockable)Block edits to .env (exit 2)
Stop (blockable)Run tests; on fail, feed output back & keep working
Notification (idle_prompt)Desktop "Claude is waiting" ping
SessionStart (compact)Re-inject sprint context after compaction
💡 FileChanged/CwdChanged/ConfigChangeReact to disk/dir/config events
~/.claude/settings.json
"hooks":{"PostToolUse":[{"matcher":"Edit|Write",
  "hooks":[{"type":"command","if":"Edit(src/**)",
    "command":"jq -r '.tool_input.file_path' | xargs npx prettier --write"}]}]}

Types: command, 💡 http, mcp_tool, prompt (LLM-judged). Exit 0=ok, 2=block+feed stderr to Claude. if scopes to specific calls.

Security: hooks run arbitrary shell as you. Never interpolate Claude's raw output into a command unsanitized — that's injection → RCE.

D2MCP — and Tool Search (why your context survives)

adding servers
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --transport stdio playwright -- npx -y @playwright/mcp@latest
# OAuth: just run /mcp and follow the browser login

Scopes: local / project (.mcp.json) / user. Resources: @server:type://path. Prompts: /mcp__server__prompt. 💡 Tool Search on by default (ENABLE_TOOL_SEARCH) — only tool names load at start, definitions on demand. This is why your Linear+Supabase+Chrome+Gmail roster doesn't drown context. alwaysLoad: true pins a server. Sweet spot: GitHub + Context7 + Playwright.

D3Sandbox · Permissions · Output styles

🛡️ Sandbox 💡

OS-level (Seatbelt/bubblewrap) isolation of Bash + children. Injection physically can't read ~/.ssh. /sandbox to enable.

combo: autoAllowBashIfSandboxed

🔐 Permission modes

default, acceptEdits, plan, 💡auto (−84% prompts), bypassPermissions. Shift+Tab cycles.

tip: /fewer-permission-prompts

🎭 Output styles 💡

Swap Claude's system prompt: Explanatory, Learning, custom .md. Set keep-coding-instructions: true.

fun: ship one in a plugin

Other knobs: effortLevel: xhigh, alwaysThinkingEnabled, prompt-caching env vars, 💡spinnerTips/spinnerVerbs (custom loading text), attribution, apiKeyHelper.

⚡ try now

/sandbox for isolation status, then /fewer-permission-prompts to auto-build a safe allowlist from your own transcripts.

E

Every 2026 Drop (Feb→May)

The platform grew a cloud execution surface, scheduled agents, self-driving loops, and phone control in four months. Reverse-chronological, complete.

Mayv2.1.139–146

Aprv2.1.92–136

Marv2.1.83–91

Febv2.1.32–82

Migrate: original Sonnet 4 & Opus 4 retire June 15, 2026. Lineup: Opus 4.7 ($5/$25, 1M) · Sonnet 4.6 ($3/$15, 1M) · Haiku 4.5 ($1/$5, 200K).
⚡ try now

Run /powerup — Anthropic's own in-terminal lessons (context, hooks, MCP, subagents, /loop). The granny-cure, built in.

F

Slash Command Reference

The built-in commands worth knowing. Type / in any session to see yours (skills + plugins add more).

CommandWhat it does
/goal 💡Set a completion condition; Claude auto-loops turns until met
/loopRun a prompt on a recurring interval (or self-paced)
/powerup 💡In-terminal interactive lessons on CC features
/recapSummary of what a session did while you were away
/usageWhat's driving your limits (sessions, subagents, cache misses)
/team-onboarding 💡Turn your usage history into a shareable teammate ramp-up guide
/ultrareview · /ultraplanCloud bug-hunt fleet · cloud plan mode
/autofix-prClaude watches your PR's CI & review, pushes fixes till green
/agents · /plugin · /skillsManage agents · plugins · skills (with context cost)
/mcp · /memory · /sandboxManage MCP servers · audit memory · sandbox status
/doctor · /fewer-permission-promptsDiagnose config/budget · auto-build a safe allowlist
/theme · /config · /initCustom colors · settings UI · generate CLAUDE.md
/rewind · /resume · /compactRoll back/summarize · resume (incl. by PR URL) · compress context

CLI (no slash): claude agents · claude --bg "..." · claude --worktree x · claude --agent X · claude mcp add · claude plugin validate · claude logs/attach/respawn/stop · claude project purge.

G

Keyboard Shortcuts

In a session

Shift+TabCycle permission mode
Ctrl+BBackground running Bash command
Ctrl+TToggle task list
Ctrl+X Ctrl+KKill background subagents
Ctrl+RHistory search (cross-project)
Ctrl+OTranscript viewer (/ to search)
Background session → Agent View

In Agent View

SpacePeek + reply without attaching
EnterAttach (or dispatch)
Shift+EnterDispatch + attach
Ctrl+T / Ctrl+RPin / rename
Ctrl+SGroup by state / directory
Ctrl+X ×2Stop, then delete
?All shortcuts

Now we cook

Fridge is fully stocked. Each option turns reading into retained skill by building something real. Pick a primary build, the daily upgrades you want, and a playground. Your picks win; tags are my opinions. Hit Copy decisions and paste back.

1 · Main thing we build first
Single pick.
Personal power-pack plugin Recommended
A real marketplace plugin: custom skill + command + subagent + hook. Hits all four areas, installable everywhere. 4 skills → a published plugin.
Use skill-creator for one killer skill Gut bet
The meta-skill drafts, A/B-evals, and optimizes a SKILL.md for a real recurring task of yours. Fastest "I get it now."
Real agent-team + worktree run Gut bet
Lead + teammates in isolated worktrees on AllTraxx, run a parallel task from claude agents. Most "wow," highest tokens.
Hooks + sandbox automation rig Safe
Auto-format + test-gate + idle-notification hooks + sandbox auto-allow. Daily loop gets tangibly better & safer.
2 · Daily-setup upgrades to apply now
Multi-pick.
Slim global CLAUDE.md Done tonight
Already rebuilt for orchestrator-mode. Re-tick if you want another pass.
"Claude is waiting" notification hook
Desktop ping when Claude needs you — run background work, don't babysit.
/fewer-permission-prompts + sandbox
Auto-allowlist from your transcripts; decide if sandbox is worth enabling.
Learn /goal + background loop hands-on
Walk one real deploy-and-forget task so the autonomous loop becomes muscle memory.
Turn on Auto Memory + check Auto Dream
Let Claude build its own per-repo second brain that self-consolidates.
3 · The playground
Single pick.
AllTraxx Recommended
You own the IP, real 8-week deadline. Learning on it isn't a detour — it's the work. Build once as a product, Darren = customer #1.
Do
Most recently touched. Fresh in your head.
FlowForge
Recently active; good if it has tests + PR flow to exercise.
Fresh scratch repo Safe
Zero risk to real code while learning.
0 / 3 decisions made