You asked for the flowchart. It's below.

Then I'm going to show you the thing the reel didn't have room for — which is why the routing matters. It isn't taste. There's a number attached to every one of these choices, and once you've seen it you can't unsee it.

Decision flowchart: skill, subagent or MCP

Part 1 — What each one actually is

Is it knowledge? → Skill

A SKILL.md file with a bit of YAML on top. That's the entire mechanism.

~/.claude/skills/<name>/SKILL.md      # every project on your machine
.claude/skills/<name>/SKILL.md        # this project only
---
name: api-conventions
description: API design patterns for this codebase
---

Your instructions go here.

The directory name becomes the command. .claude/skills/deploy-staging/SKILL.md gives you /deploy-staging.

Is it a separate job? → Subagent

Its own context window, its own system prompt, its own tool access. It goes away, does the work, hands back a summary.

.claude/agents/<name>.md              # this project
~/.claude/agents/<name>.md            # all your projects

Does it touch the outside world? → MCP

A database, an API, your calendar, your issue tracker. This is the only one on the list that can reach off your machine.

claude mcp add --transport http <name> <url>

Project-scoped servers live in .mcp.json at the repo root, so they travel with the codebase. Type /mcp in a session to see what's connected.

Part 2 — The part that actually matters

Every one of those choices spends from the same 200,000-token budget. Anthropic publishes a walkthrough of a real session, and here's what's already gone before you type a single character:

Loaded at startup

Tokens

System prompt

4,200

Project CLAUDE.md

1,800

Auto memory

680

Skill descriptions (all of them)

450

Environment info

280

~/.claude/CLAUDE.md

320

MCP tool names (all servers)

120

Look at the two bold rows, because they're the whole argument.

Every skill you own costs you one line. Not the body — the description only. The instructions load when Claude decides the skill is relevant and not a moment before. You can keep a 4,000-word runbook on disk and carry almost none of it.

Which means the real skill-writing job isn't the body. It's the description. That one line is the only thing Claude sees on most turns, and it's the entire basis on which your skill gets used or ignored. Write it like it's the only line that exists, because usually it is.

The MCP myth

You've probably been told to keep your MCP server count down because the tool schemas eat your context.

Not any more. Full schemas stay deferred by default — you carry the tool names, and Claude pulls the schema it needs when a task actually calls for it. That's the 120 in the table, for everything connected.

If you want the old behaviour: ENABLE_TOOL_SEARCH=false loads every schema upfront. ENABLE_TOOL_SEARCH=auto loads them when they fit inside 10% of the window. The default sits between the two and is almost always the right call.

So prune MCP servers for security and noise. Not for context. That reason expired.

What a subagent actually saves you

Spawning one costs your main thread 80 tokens.

The subagent then loads its own system prompt (~900), its own copy of CLAUDE.md (~1,800), its own tools and skills (~970) — and none of that touches your window. Then it reads four files at 2,200, 800, 3,100 tokens and hands you back a paragraph.

That's the trade in one line: 80 tokens of yours to spend 9,000 of someone else's.

Which also tells you when not to bother. If the job doesn't generate a pile of intermediate junk you'll never look at again, a subagent is pure overhead. No mess, no subagent.

Part 3 — The fourth box

The reel gives you three. There are four, and the one missing from the diagram is the one people misuse most.

CLAUDE.md is always loaded. 1,800 tokens in that table, every turn, whether relevant or not.

So the actual full test runs like this:

The thing is...

It goes in

True every single turn

CLAUDE.md

Knowledge, but only sometimes relevant

Skill

A job that makes a mess

Subagent

Off your machine

MCP

Most bloated CLAUDE.md files are a pile of skills that never got extracted. If a section of yours reads like a procedure rather than a fact, it's a skill wearing the wrong hat — and you're paying for it on every turn of every session.

That's the highest-leverage thirty minutes you can spend on your setup this week. Open CLAUDE.md. Anything that's steps rather than truth, move it out.

Part 4 — Two gotchas that will bite you

1. The skill list doesn't survive /compact. Startup content gets re-injected after a compaction; the skill descriptions listing does not. Only the skills you actually invoked in that session are preserved. Long session, auto-compact fires, and Claude quietly stops volunteering skills it was using an hour ago. If it goes vague after a compact, that's your cause — invoke by name with /skill-name and it's back.

2. You can hide a skill completely. disable-model-invocation: true in the frontmatter keeps it entirely out of context until you type /name. Use it for anything long, expensive or destructive that you never want Claude reaching for on its own initiative.

Part 5 — The audit

Fifteen minutes, and it works on a setup you already have:

  1. Open CLAUDE.md. Every section that's a procedure → move to .claude/skills/. Every section that's a fact → leave it.

  2. Read your skill descriptions back. Ignore the bodies. Would you pick the right skill from those lines alone? If not, Claude can't either.

  3. Find your longest chat. Which part of it was you watching Claude read files? That's a subagent you haven't written.

  4. List your MCP servers with /mcp. Any of them there just to read a local file? That's a skill, and you built a server for it.

Number 4 is the one from the reel. It's still the most expensive mistake on the list, because an MCP server is a running process you have to write, host, authenticate and maintain — and the alternative was a markdown file.

One question settles it: does it need to leave the machine? If no, it's a file.

Reply and tell me which box you got wrong first. I'm collecting them, and the answers are going in a follow-up.

P.S. If it's the AI-workflow side of an actual business you're trying to fix rather than a config directory, that's what I do at optimax-ai.com.

]]>