Agent Skills vs MCP Tools: We Measured 6,434 Skills. The Median Costs You 78 Tokens, a Tool 177.5. A measurement of 6,434 distinct public agent skills, drawn from 7,670 SKILL.md files across 228 cloned repositories on 18 September 2026, found a skill's always-on context footprint is 78 tokens at the median versus 177.5 tokens for an MCP tool, making the tool 2.28× more expensive per unit. Decoding AI reported that 85.1% of an MCP tool's median cost is its JSON input schema, which skills do not ship, while skill descriptions run 2.94× longer than MCP tool descriptions because the description alone determines whether a skill fires. The mean skill cost is 91.3 tokens, the 75th percentile 122, the 90th 177, and the largest single skill 481 tokens, with the largest single MCP tool at 1,387 tokens. Decoding AI runs one original measurement a week and publishes the method with the number. We cloned 228 public repositories on 18 September 2026, found 7,670 SKILL.md files, and tokenized every one. A skill's always-on footprint is 78 tokens at the median. An MCP tool's is 177.5. The entire difference is the JSON schema, because a skill does not ship one. The usual claim in the agent skills vs MCP tools argument — that skills are the cheap option because only their metadata loads at startup — is true, and it is smaller than it sounds. Skill descriptions are actually 2.94× longer than MCP tool descriptions. They have to be, because the description is the only thing deciding whether the skill ever fires. Count your own before reading further. Public skills run 4.78 characters per token at the median, so a character count is a fair proxy — on the 19-skill anthropics/skills tree this returned 2,109 against a true o200k base count of 2,050, 2.9% high: find ~/.claude/skills -name SKILL.md -print0 \| xargs -0 awk 'FNR==1{f=0} /^--- \t $/{f++; next} f==1{print}' \| awk '/^ name|description :/{p=1} /^ a-zA-Z0-9 - +:/ && /^ name|description :/{p=0} p{c+=length $0 +1} END{printf "always-on metadata: ~%d tokens\n", c/4.8}' Status, 18 September 2026: every figure below is a count at repository HEAD on the day, and the corpus moves daily. The command above is the one-line re-check for your own machine; the full run is ./measure/run.sh against the archived repository list. The first version of this post said one vendor’s skill pack costs 35,298 tokens to install — 17.6% of a 200K context window. It was arithmetically correct and editorially false. That repository’s own README calls itself a catalog, and its documented install path prompts you to pick one skill. Nobody installs 366 skills at once, so the number described a thing that does not happen. That is the fourth time a beautiful headline on this account has died on the denominator, and it is why the pack figures below are reported with the install model attached rather than as a single scary total. A public agent skill costs 78 tokens of always-on context at the median, measured across 6,434 distinct skills on 18 September 2026. The mean is 91.3, the 75th percentile is 122, the 90th is 177, and the largest single skill in the corpus is 481 tokens. That figure is the name and description fields only — the two things a runtime loads at startup for every installed skill, before the user has typed anything. The body of SKILL.md is not counted, because it does not enter the context window until the skill is triggered. The spread matters more than the centre. A third of skills sit above 100 tokens, and the top decile costs more than twice the median. Install ten skills from the wrong end of that distribution and you have paid for twenty from the right end. An MCP tool costs 177.5 tokens at the median against a skill’s 78 — the tool is 2.28× more expensive per unit. We re-derived the MCP side from the raw tools/list captures archived for our September measurement of nine MCP servers https://medium.com/@decoding ai by nureravi/we-diffed-96-releases-of-9-agent-tool-servers-48-broke-the-cache-prefix-810ec6fbabe2 : 108 tools, 36,320 tokens for the whole block, same o200k base tokenizer, same position in the prompt. The re-derivation reproduced the published total exactly, which is the only reason the two numbers can be put beside each other at all. On means rather than medians the gap widens to 3.69×, because a handful of MCP tools carry enormous schemas — the largest single tool in the set is 1,387 tokens. Because the description is not what you are paying for. 85.1% of an MCP tool’s median cost is its JSON input schema — the parameter names, types, enums, defaults and nested objects that a tool-use API has to forward so the model can produce a valid call. Measured on their own, MCP tool names and descriptions run 26.5 tokens at the median. A skill’s name and description run 78. So the honest sentence is the inverse of the one usually written. A skill’s prose is 2.94× more expensive than an MCP tool’s prose; the skill still wins because it has no schema to carry. That is not a rhetorical point. A skill’s description has to do the entire job of deciding when the skill fires, and it is competing for that decision against every other installed skill. An MCP tool gets registered as a callable function and does not have to argue for itself. Which is the more expensive place to have put your instructions? That depends on how many of each you have — and this is where the two mechanisms stop resembling each other. Yes at the average and no at the edges. Anthropic’s Agent Skills documentation states a cost of roughly 100 tokens per skill and describes the design as letting you install many skills without a context penalty. Against 6,434 real published skills the mean is 91.3 tokens, which is about as close as a published rule of thumb ever gets. The failure is in the tail. 2,116 skills — 32.9% — are over 100 tokens , 1,010 are over 150, and 410 are over 200. If you budget 100 tokens a skill and install from a catalogue that writes long descriptions, you will be out by a factor of two and you will never see it, because none of this appears in a token counter attached to a conversation. At the median, 100 installed skills cost 7,800 tokens, or 3.9% of a 200K context window. Ten cost 780. Fifty cost 3,900. You would need 466 skills before the always-on bill matched the 36,320-token tool block that those nine MCP servers ship between them — and nine servers is a normal, unremarkable setup. For almost everybody, that settles it: the skills tax is small, the documentation is broadly right, and the argument is over a rounding error. The interesting cases are the repositories that ship hundreds of skills at once. The median public skill pack is 5 skills and 353.5 tokens , which is nothing. But 14 of 214 packs cost more than 10,000 tokens installed whole, and three cost more than the entire nine-server MCP block. The largest in the corpus is 781 skills and 109,781 tokens — 54.9% of a 200K window. Whether that matters to you depends entirely on whether the pack expects to be installed whole or browsed one skill at a time. Most of the large ones are catalogues. Some are not. The install model, not the token count, is the thing to check before you add a marketplace. 412 of 6,434 skills 6.4% declare a name that does not match their parent directory name , which the Agent Skills specification https://agentskills.io/specification lists as a requirement. A further 45 0.70% use characters the spec forbids in a name — uppercase letters, underscores or consecutive hyphens — and 29 0.45% carry a description longer than the documented 1,024-character limit. None of these is fatal in every runtime; loaders differ in how strictly they validate. All of them are cheap to catch, and a skill that fails to load is worse than an expensive one, because it costs you nothing and does nothing. Cloned 228 repositories on 18 September 2026 , taken from the index maintained at VoltAgent/awesome-agent-skills, each at --depth 1 on its default branch. All 228 cloned successfully. Walked every tree for SKILL.md, parsed the YAML frontmatter with PyYAML, and tokenized name + "\n" + description with o200k base via gpt-tokenizer — the same tokenizer used for the September MCP measurement, so the two are directly comparable. From 7,670 files: 7,601 carried a parseable name and description; 54 test fixtures and example directories were excluded; 968 copies of skills vendored more than once inside the same repository were collapsed; global deduplication by normalised name-and-description left 6,434 distinct skills across 214 repositories . Verification: 60 randomly sampled files were re-extracted with a second, deliberately naive line-scanning parser that does not use a YAML library, and compared against the primary parse. Zero mismatches. The MCP side was recomputed from the archived raw captures and reproduced the published 108-tool, 36,320-token total exactly. Scripts, the repository list and the result JSON are archived in the draft folder alongside this post. Do agent skills use tokens when they are not being used? Yes. Every installed skill’s name and desciption sit in the system prompt from startup, whether or not the skill is ever triggered. Measured across 6,434 public skills, that is 78 tokens each at the median and 91.3 on average. The body of the skill file costs nothing until the skill fires. Are agent skills cheaper than MCP tools? Per unit, yes, by 2.28× at the median — 78 tokens against 177.5. The saving comes entirely from the absence of a JSON input schema, which is 85.1% of an MCP tool’s cost. It is a real advantage and a smaller one than the framing usually implies. How many skills can I install before it matters? At 78 tokens each, 100 skills cost 7,800 tokens, under 4% of a 200K window. You would need roughly 466 to match the always-on cost of nine typical MCP servers. The number that bites is not how many skills you install but whether a single pack installs hundreds at once. How long should a skill description be? The specification caps it at 1,024 characters and the median public skill uses 353. Longer is not automatically worse — the description is the only thing that decides whether the skill triggers — but a third of public skills are above the documented ~100-token guideline, so budget from the measurement rather than the rule of thumb. Has anyone measured this before? A September 2026 post on DEV https://dev.to/topuzas/agent-skills-vs-mcp-i-stopped-reading-hot-takes-and-measured-the-actual-context-cost-1cp1 built ten equivalent capabilities both ways and reported a 2.9× gap using a four-characters-per-token estimate. Our 2.28× on 6,434 real skills and 108 real tools, with an actual tokenizer, is an independent confirmation of the direction at a smaller magnitude. If you have skills installed right now, count them and multiply by 78 — what fraction of your context window is sitting there before you type anything, and were you expecting that number? Decoding AI publishes one original measurement a week, with the method and the raw counts attached. Next week: how many of those 6,434 descriptions are specific enough to fire at all — and how many are so close to each other that two skills compete for the same request. Related measurements: how much context nine MCP servers cost before the first user message https://pub.towardsai.net/how-much-context-do-mcp-servers-actually-cost-we-measured-38-900-tokens-bd6187ca140d , and what 592 repositories actually put in their agent instruction files https://medium.com/@decoding ai by nureravi/agents-md-vs-claude-md-we-counted-592-top-repos-57-of-claude-md-files-are-just-redirects-525d1ee69703 . Written by Decoding AI. We run first-hand measurements on agent and LLM engineering and publish the number with the method attached. Agent Skills vs MCP Tools: We Measured 6,434 Skills. The Median Costs You 78 Tokens, a Tool 177.5. https://pub.towardsai.net/agent-skills-vs-mcp-tools-we-measured-6-434-skills-the-median-costs-you-78-tokens-a-tool-177-5-4f4bd109e294 was originally published in Towards AI https://pub.towardsai.net on Medium, where people are continuing the conversation by highlighting and responding to this story.