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.
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.
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.
| Thing | Runs in | Context cost | Best for |
|---|---|---|---|
| Skill | Your conversation (or forks) | Description always; body on invoke | Repeatable procedures, on-demand reference |
| Subagent | Isolated window | Only the summary returns | Verbose work you don't want in context |
| CLAUDE.md rule | Every turn | Every request, forever | Facts 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.
--- 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)"
description is the trigger — capped 1,536 chars, triggers first. Official claude-api skill uses literal TRIGGER when: ... SKIP: ... routing.!`cmd` = render-time shell injection (preprocessing, not Claude executing). ${CLAUDE_SKILL_DIR} = portable script paths.paths: only auto-activates for matching files. context: fork runs it in a subagent.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.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.
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
4-phase MCP-server build. Points at references/*.md instead of bloating the body.
steal: phased reference pattern
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★).
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.
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
skills/, agents/ inside .claude-plugin/. Only plugin.json lives there.Type /plugin → Installed tab to see per-plugin context cost, then /skills to toggle a noisy skill to name-only.
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.
--- 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...
Explore (Haiku search), Plan (read-only research), general-purpose. Agent(worker, researcher) whitelists which sub-subagents may spawn.@"db-reader (agent)" .... Become one: claude --agent db-reader.memory: project persists learnings across sessions in .claude/agent-memory/. Gotcha: subagents can't spawn subagents; disk-added agents need a restart.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.
| Key | Does | Key | Does |
|---|---|---|---|
| Space | Peek + reply without attaching | Enter | Attach / dispatch |
| ← | Background ANY session → view | Ctrl+X ×2 | Stop + delete worktree |
| Ctrl+T | Pin | Ctrl+S | Group by state/dir |
Filters: a:name, s:working, #PR. Scriptable: claude agents --json.
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.
"5 teammates, each a theory for the bug, debate to disprove each other, write consensus." Beats anchoring.
4 teammates, disjoint file sets. Sonnet teammates, Opus lead. Plan approval before writes.
claude --bg "..." or /bg; manage with claude logs/attach/respawn/stop/rm; supervisor survives sleep (not shutdown).claude --worktree feature-x · subagent isolation: worktree · bg agents auto-isolate before first edit..worktreeinclude auto-copies .env. worktree.symlinkDirectories shares node_modules. Not isolated: DB, ports, fresh node_modules.Run claude agents, then claude --bg "summarize this repo in 5 bullets", hit Space to peek. Whole loop in 30s.
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.
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.
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.
@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
claudeMdExcludes kills other teams' noise. HTML comments are stripped = free notes.| System | Who writes | What / where |
|---|---|---|
| CLAUDE.md | You | Rules & facts. Full load every session. |
| Auto Memory 💡 (v2.1.59+) | Claude | Saves learnings to ~/.claude/projects/<repo>/memory/. Only MEMORY.md (200 lines) loads at start. Auto Dream periodically consolidates & prunes it. |
| API Memory Tool | Your app | Separate SDK primitive for building agents — not a CLI feature. |
/memory = audit panel (what's loaded). # = quick-save. /doctor = budget check.
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.
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.
| Event | Classic 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/ConfigChange | React to disk/dir/config events |
"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.
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.
OS-level (Seatbelt/bubblewrap) isolation of Bash + children. Injection physically can't read ~/.ssh. /sandbox to enable.
combo: autoAllowBashIfSandboxed
default, acceptEdits, plan, 💡auto (−84% prompts), bypassPermissions. Shift+Tab cycles.
tip: /fewer-permission-prompts
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.
/sandbox for isolation status, then /fewer-permission-prompts to auto-build a safe allowlist from your own transcripts.
The platform grew a cloud execution surface, scheduled agents, self-driving loops, and phone control in four months. Reverse-chronological, complete.
claude agents) — the dashboard. /goal 💡 — set a completion condition, Claude auto-runs turns until it holds. Fast mode → Opus 4.7. Rewind "summarize up to here". claude agents --json./usage (merged /cost+/stats). Ultraplan — plan mode in the cloud. Monitor tool 💡 — bg watchers streaming into the convo. /loop — self-pacing scheduled tasks. /autofix-pr — watches CI, pushes fixes till green. /ultrareview — cloud bug-hunt fleet. Plugins from .zip/--plugin-url. Cross-project Ctrl+R. claude project purge. Resume by PR URL. Windows without Git Bash.if). Flicker-free render (CLAUDE_CODE_NO_FLICKER=1). /powerup 💡 — in-terminal interactive lessons. Plugin bin/ on PATH./loop launch + Linux PID-namespace sandboxing.Run /powerup — Anthropic's own in-terminal lessons (context, hooks, MCP, subagents, /loop). The granny-cure, built in.
The built-in commands worth knowing. Type / in any session to see yours (skills + plugins add more).
| Command | What it does |
|---|---|
/goal 💡 | Set a completion condition; Claude auto-loops turns until met |
/loop | Run a prompt on a recurring interval (or self-paced) |
/powerup 💡 | In-terminal interactive lessons on CC features |
/recap | Summary of what a session did while you were away |
/usage | What's driving your limits (sessions, subagents, cache misses) |
/team-onboarding 💡 | Turn your usage history into a shareable teammate ramp-up guide |
/ultrareview · /ultraplan | Cloud bug-hunt fleet · cloud plan mode |
/autofix-pr | Claude watches your PR's CI & review, pushes fixes till green |
/agents · /plugin · /skills | Manage agents · plugins · skills (with context cost) |
/mcp · /memory · /sandbox | Manage MCP servers · audit memory · sandbox status |
/doctor · /fewer-permission-prompts | Diagnose config/budget · auto-build a safe allowlist |
/theme · /config · /init | Custom colors · settings UI · generate CLAUDE.md |
/rewind · /resume · /compact | Roll 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.
| Shift+Tab | Cycle permission mode |
| Ctrl+B | Background running Bash command |
| Ctrl+T | Toggle task list |
| Ctrl+X Ctrl+K | Kill background subagents |
| Ctrl+R | History search (cross-project) |
| Ctrl+O | Transcript viewer (/ to search) |
| ← | Background session → Agent View |
| Space | Peek + reply without attaching |
| Enter | Attach (or dispatch) |
| Shift+Enter | Dispatch + attach |
| Ctrl+T / Ctrl+R | Pin / rename |
| Ctrl+S | Group by state / directory |
| Ctrl+X ×2 | Stop, then delete |
| ? | All shortcuts |
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.
skill-creator for one killer skill Gut betclaude agents. Most "wow," highest tokens./fewer-permission-prompts + sandbox/goal + background loop hands-on