aieveryminute

google/skills costs 9,020 tokens. Every session, before you use any of it.

Nine of the 53 listings on GitHub Trending today match on the word skill. I installed five of those, plus one the filter missed, and measured what each one costs to have sitting there. The largest is 40% of a clean startup context, and the model this site published for predicting it was 63% high on that pack and 64% high on another. One of these figures was wrong when first published and is corrected below.

Agent Skills are what GitHub is trending right now. This morning the daily, weekly and monthly boards carried 53 listings covering 48 distinct repositories, and nine of them match the word “skill” in the repository name or description: Google shipping skills for its own products, Addy Osmani’s engineering skills, Matt Pocock’s, an anti-AI-slop design skill, one that turns a technical book into a skill, one that distils long content into skills.

That keyword filter is crude in both directions, and worth saying so: it catches a database memory hub that is not a skill pack at all, and it misses cathrynlavery/diagram-design, which was the number one repository on the daily board and ships a Claude Code skill without ever using the word. The direction is not in doubt either way.

The obvious question if you are about to git clone one is what it costs you to have it installed. So I installed six and measured.

What they cost

Each pack was cloned, its skills copied into an otherwise empty project, and the whole session context measured against an empty floor from the same round. Four rounds each, then four more after the correction described in the next section.

Pack Skills shipped Tokens Per skill Median description
google/skills 111 9,020 81.3 397 chars
addyosmani/agent-skills 24 2,302 95.9 249 chars
mattpocock/skills 25 852 34.1 149 chars
cathrynlavery/diagram-design 1 274 579 chars
tt-a1i/archify 1 262 652 chars
Nutlope/hallmark 1 117 260 chars

Five of the six reproduced to the token across all four rounds of the first harness. Zero spread.

Four of them then reproduced to the token again in the second harness, a separate script in a separate process about twenty minutes later: addyosmani/agent-skills at 2,302, google/skills at 9,020, diagram-design at 274 and archify at 262, identical in all eight rounds. The two runs did not even share a floor, 22,283 in the first and 22,287 in the second, and every delta is measured against its own round’s floor, so a 4-token drift in the baseline passes straight through. That is what the paired design is for.

Be precise about how independent that second run is, because it is less independent than it sounds. Both harnesses read the same clones, cloned once before either ran; neither re-clones. So the second run re-tests the measurement and the machine state twenty minutes on, and it does not re-test the fixture at all. If a pack had been cloned wrong, both runs would be wrong together and agree perfectly.

mattpocock/skills is deliberately not in that four, and it matters for how much weight the number below carries. Its two harnesses measured different fixtures, 35 files then the 25 the manifest ships, so the second run cannot corroborate the first. The corrected 852 rests on four rounds in one harness. Zero spread within them, and no cross-harness replication behind it.

The correction

When I first published this, mattpocock/skills was listed at 35 skills for 1,209 tokens. That was wrong. The pack ships 25 skills, and they cost 852.

I had counted every SKILL.md file in the cloned repository. That is not what installing gives you. The pack’s .claude-plugin/plugin.json names 25 skills explicitly, and the other ten sit under skills/in-progress/ and skills/misc/ and are not shipped. So claude plugins install mattpocock-skills, the first install path in his own README, gives a user 25 skills, and I published a cost for 40% more than that against a named person’s project.

The other five packs are unaffected, and the reason is worth knowing before you check anyone else’s figure: an explicit skills list in the manifest is the exception rather than the rule. addyosmani/agent-skills points its manifest at a directory, so everything in it ships and the file walk was right.

google/skills is a third case, and it undercuts my own headline more than it undercuts anything else. It ships no plugin.json at all, so nothing enumerates its skills. What it does ship is a .claude-plugin/marketplace.json listing 16 plugins that live in 16 other repositories, none of them this one. So “installing google/skills” genuinely has no single meaning. The 111 skills are also not one thing: 96 of them are Google Cloud, 13 are Ads and 2 are Analytics. If you want the Ads skills you take 13, not 111, and you do not pay 9,020.

Two things I want to be straight about. The per-skill cost barely moved, 34.08 against 34.54, so the pricing was fine and only the count was wrong. And the correction made my own model look worse, not better: against 35 files the model over-predicted by 60%, and against the 25 skills actually shipped it over-predicts by 64%. Fixing the count did not rescue the model. I would rather say that than quietly let a correction absorb the blame for a separate failure.

The lesson generalises past this post: the number of skill files in a repository is not the number of skills you get. Check the manifest.

Google’s pack is 9,020 tokens, which is 40% of a clean startup context, paid on every session whether or not you ever invoke one of them. That is the number worth knowing before you install it.

The per-skill figure swings by 2.8x between packs, from 34.1 to 95.9. It does not order by description length, and my headline pack is the counterexample. google/skills has descriptions 1.6x longer than addyosmani/agent-skills and costs 15% less per skill. Matt Pocock’s 149-character descriptions are the cheapest per skill and Addy Osmani’s 249-character ones the dearest, which looks like a length effect until Google’s 397-character ones land in between. Three packs is not enough to say what drives it, and I am not going to invent a mechanism from three points.

The three one-skill packs are not measurable here

Re-verified 2026-08-18, and the warning below turned out to be an understatement. Twelve further readings of diagram-design on Claude Code 2.1.234, same commit, same isolation, returned 70 to 967 tokens — a 12.8x spread on the figure this post records as 274. That is the same pack that sat “identical in all eight rounds” above. Eight identical readings did not mean the quantity was stable; it meant eight draws landed together. The multi-skill packs held up far better on the same day: addyosmani/agent-skills ran 1,891 to 2,986, a spread of 0.58x its minimum against 12.8x for the one-skill pack. Details in flag-effect-2-1-234.json.

hallmark, archify and diagram-design came in at 117, 262 and 274 tokens. Do not read those as precise: this site has already measured that a single skill cannot be resolved against the floor, and one round measured hallmark 404 tokens BELOW the empty floor, which installing a skill cannot do. That is a 521-token range around a 117-token signal, while every multi-skill pack sat perfectly still. The second harness read 117 in all four rounds, which does not rescue the first. One skill is inside the noise. It is cheap; that is all this can tell you.

The part where my own model gets it wrong

This site published a model for exactly this question: a skill costs about 13.7 tokens plus 0.276 per character of its description. It would have been very easy to multiply that by a file count and publish a table without installing anything.

I deliberately did not, because that is arithmetic rather than measurement, and this site threw out a derived per-plugin table yesterday for the same reason. Having measured, here is how the model would have done:

Pack Model predicts Measured Error
addyosmani/agent-skills 2,124 2,302 8% low
mattpocock/skills 1,397 852 64% high
google/skills 14,699 9,020 63% high

It is within 8% on one pack and out by about 60% on two, and it misses in both directions, so you cannot even correct for it with a fudge factor. On Google’s pack it would have told you to expect 14,699 tokens when the real answer is 9,020.

Some of that is my own fault in a way the model already warned about: it was published as valid for descriptions of 30 to 300 characters, and Google’s median is 397. So for that pack the model is being run outside its stated range and the comparison is indicative. But mattpocock sits comfortably inside the range at 149 characters and the model is still 64% high there.

Why is not established. The description field may be truncated in the listing, real descriptions may tokenise differently from the prose the model was fitted on, or the listing may compact sooner when descriptions are long. Picking one of those would be inventing a mechanism, and this site has been caught doing that before.

The transferable point is the boring one: install it and measure it. The worst miss here is 64%, so the rate is good to roughly a factor of 1.6, which is fine for deciding whether something is worth installing and useless for a number you intend to publish.

What I would actually do with this

Skill packs are cheap enough to install and expensive enough to notice. Even Google’s 111-skill collection is 9,020 tokens, which on a 200K window is 4.5%. Nobody should be frightened of installing a pack. But three of them at once is a meaningful bite out of every session, and the cost is silent.

Terse descriptions are cheaper, but not by as much as a rate card implies. Matt Pocock’s pack costs 34.1 tokens a skill and Google’s 397-character-median pack 81.3, a 2.4x spread. The dearest per skill is neither of those. Write enough to match on and do not agonise: the gap between packs is under 3x, and the site’s own per-character rate did not predict any of them well.

The cost is for having, not using. Nothing here invoked a single skill. A skill body loads only when it runs, and these bodies are substantial: Google’s median is 8,948 bytes across 111 skills and Addy Osmani’s 11,756 across 24. Installed and never called, those are free. Both figures are in the corpus.

What this does not settle

One commit, one day. These are trending repositories and they move fast. Every pack is pinned in the corpus with its commit and date: google/skills 8f57a0d, addyosmani/agent-skills df1edb2, mattpocock/skills 8b78b53, cathrynlavery/diagram-design 09df49d, tt-a1i/archify cffdd42, Nutlope/hallmark 13ac0ec. All cloned 2026-08-15.

Listing cost only. This prices having a pack installed, not using it. Invoking a skill loads its body and costs more.

One machine, one model. Opus on Claude Code 2.1.233, project scope, --setting-sources project asserted onto the command line so this machine’s own skills could not leak in.

Single-skill packs are inside the noise, as above.

Why the model misses is unexplained, as above.

“Installed” has no single definition for a pack without a manifest. google/skills ships no plugin.json, so the headline 9,020 prices all 111 skills in the repository. Someone who copies in a subset pays less, in proportion to what they take.

Controls

Paired floor, re-measured every round, every delta against that round’s own. It read 22,283 in all four rounds of the first harness and 22,287 in all four of the second.

Arrival, and a partial injection check. Every reply had to be exactly OK, and all 56 were, across both harnesses. So none of these third-party descriptions changed the literal output: 163 in the shipped fixture, and 173 in the first harness, which carried the ten skills Matt Pocock does not ship. That is a weaker statement than it looks and this site has measured why: in prompt-injection-isolated.json a loud payload was obeyed 0 of 20 times, while a quiet one was followed 6 of 6 by Haiku and 0 of 6 by Opus, so an instruction can be acted on without the output looking wrong. There is no positive control here, no arm containing a known-steering description, so nothing demonstrates the check would fire. Treat it as a smoke alarm for blatant payloads, not a clean bill of health. reply_exact_ok is published per run.

No third-party body was ever executed or read. The prompt is trivial and no skill was invoked.

The fixture is measured, not assumed. Skills are counted back off disk per run and description lengths measured as installed, so “111 skills” is a fact about what was there rather than what the README claims. That control is what made the correction visible: the count published was a measured fact about the wrong fixture, which is exactly the failure a fixture control does not catch on its own.

No exclusions. All 56 runs are scored, across both harnesses.

Every run is published in skillpack-cost-2-1-233.json.

POSTaieveryminute.com#tool-trialbuilt 2026-08-31 17:47 UTC