Toolproof

The nine

Census

Methodology

Badges

API

Toolproof

The nine

Census

Methodology

Badges

API

Embed a badge

Toolproof

The nine

Census

Methodology

Badges

API

Embed a badge

Toolproof/Census

445,348 listings measured · 43,199 fail · 9.70% · scraped 2026-08-14 · edition 2026.1

The State of Agent Tooling

9.70% of the published Claude Code artefact ecosystem — 43,199 of 445,348 listings — fails a structural check and will not load as published. Nobody has measured this before, so there is nothing to compare it against yet. That is the point of publishing it.

What was measured

Every skill, subagent, plugin and marketplace SkillWorks could find on GitHub and skills.sh, read from source on 2026-08-14 and checked for whether an agent runtime could load it. Not whether it is any good, whether it is popular, or whether anyone maintains it — only whether the file it ships is structurally capable of being registered. 43,199 are not.

Population
445,348 listings — 347,382 skills, 71,430 subagents, 20,212 plugins, 6,324 marketplaces.
Failing
43,199 listings, 9.70% of the population.
Method
Static structural checks. Nothing is executed, no model judges anything, and no row is hand-curated. The full method.
Denominator
Everything found, including everything that failed. Nothing is dropped for being unreadable — a catalogue that omits what it could not process publishes a healthier ecosystem than exists.

Subagents are the broken half of the ecosystem

The aggregate rate hides the finding. Subagents fail at 21.9% — 2.8× the rate of skills — and the reason is structural rather than cultural: a subagent’s name and description are Required: Yes in Anthropic’s frontmatter reference, while a skill’s are not. The same careless file is a working skill and a dead subagent.

Structural failure rate by artefact kind · 445,348 listings · scraped 2026-08-14
KindListingsFailRate
Skills347,38227,3987.89%
Subagents71,43015,66921.9%
Plugins20,212330.16%
Marketplaces6,324991.57%

Almost all of it is one defect

38,183 of the 43,199 failures — 88.4% of them — are a YAML block at the top of a file that does not parse. This is the cheapest class of bug in software and it is sitting in front of the most-copied artefacts in a fast-growing ecosystem, because nothing in the publishing path checks it. There is no registry gate, no CI convention, and no error surfaced to the author: the file is committed, the repository is starred, and the artefact silently never loads.

Every fatal cause · a listing can carry more than one, so the column sums above 43,199
CauseListingsWhat it means
Frontmatter does not parse38,183The YAML block at the top of the file is malformed, so nothing downstream can read a name, a description or a tool list out of it.
Subagent has no name4,119Required: Yes for a subagent, per Anthropic's frontmatter reference. Without it there is no identifier to register under. The same omission on a skill is not fatal — a skill falls back to its directory name — and this index published the opposite until 2026-08-02.
Subagent has no description1,799Also Required: Yes for a subagent. It is the sentence that tells Claude when to delegate, so an absent one leaves nothing to route on.
Manifest is not valid JSON128plugin.json or marketplace.json does not parse as JSON.
Marketplace lists no plugins99The manifest is valid and lists nothing, so there is nothing to install.

Four things this number is not

Published here rather than left for someone else to find, because a census that only states its strengths is an advertisement.

Not a count of distinct artefacts
It counts listings — one artefact in one repository. The 445,348 come from 14,233 distinct repositories, an average of 31.3 apiece, because this ecosystem is overwhelmingly forked and vendored and the same file is counted once per repository carrying it. The failure rate is the citable figure; the population count is not a claim about how many different things exist. The failures concentrate too: 3,168 repositories account for all 43,199 of them.
Not an execution result
Nothing was run. A listing that passes every check here can still be useless, wrong, or dangerous. Passing means the file parses into something a runtime could register — a floor, not a verdict.
Not a quality judgement
No model scored anything and no human curated the list. Every fatal cause in the table above is a specific, checkable, arguable defect, and the row-level data is published so the argument can be had against the evidence.
Not complete
Discovery is bounded by GitHub’s search API, which is rate-limited and does not return everything. What discovery truncated is logged rather than hidden, but the population is a large sample of the public ecosystem, not the whole of it.

A correction published with the first edition

Preparing this census turned up a defect in the index that produced it. SkillWorks carried a missing-references flag — a skill naming a bundled file that is not in its repository — and it fired on 139,623 listings, 40.2% of every skill in the index. It was wrong roughly seven times in eight, from three bugs in one regular expression:

  1. The extension alternation put js ahead of json, and JavaScript alternation is first-match — so every package.json was captured as a missing package.js, and every res.json(data) inside a fenced code block became a missing file called res.js. 12,178 and 6,946 listings respectively.
  2. Nothing scoped the match to the skill’s own bundle, so the most-reported “missing files” in the entire index were the framework names Next.js (21,014) and Node.js (19,383), the skill’s own SKILL.md (27,002), and CLAUDE.md (11,371) — a file that lives in the user’s project and never in the bundle.
  3. A reference written ./run.sh could never resolve against the repository tree, so 1,498 listings were reported missing a file that was sitting right there.

Corrected, 18,657 skills — 5.37% — name a bundled file that is genuinely absent. The flag is a score deduction and was never a load verdict, so the 9.70% headline is unaffected: it comes from the fatal causes in the table above and from nothing else. The fix is in the open-source scraper these indexes share and lands in the index at the next nightly rebuild.

This is on the page rather than in a changelog because an index that publishes other people’s broken metadata has to publish its own.

The data

Published in full under CC BY 4.0, including every failing row, so the headline can be recomputed by anybody who wants to check it.

  • census.json — every aggregate on this page, plus the exact rule that decides a failure.
  • broken-listings.csv — 43,199 rows, one per failing listing, with its repository, path and the cause that condemned it.
  • listings.csv.gz — the full population, 445,348 rows, on the archived record.
  • The measurement vocabulary — what load rate, drift, shipping status and skill decay mean here, so a citation carries a definition with it.

Citing it

The dataset is archived on Zenodo with a permanent DOI, so a citation survives this site.

This edition
doi.org/10.5281/zenodo.21936490 — edition 2026.1, scraped 2026-08-14. Fixed forever; cite this one when you quote a figure.
All editions
doi.org/10.5281/zenodo.21936489 — always resolves to the newest census. Cite this one when you mean “the current figures”.
Reference
Kynth Studios (2026). The State of Agent Tooling 2026.1 — a structural census of the Claude Code artefact ecosystem. Zenodo. https://doi.org/10.5281/zenodo.21936490

Licensed CC BY 4.0 — reuse it, including commercially and including by the catalogues this masthead competes with. Attribution is the only condition.

Also from Kynth Studios

Built for the same person as Toolproof

SkillWorks

Claude Code skills and plugins, scored

skillworks.kynth.studio

StillShipping

Which agent tools have stopped shipping

stillshipping.kynth.studio

ToolDrift

What the AI coding tools changed last night

tooldrift.kynth.studio

RuleStack

AGENTS.md gallery and agent-config comparison

rulestack.kynth.studio

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof

The studio list

One product, taken apart, once a month

Kynth Studios pulls one shipped product open every month — what it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did. One email a month, nothing in between.

Double opt-in — we send one confirmation link and nothing else until you click it.

Toolproof

Built by

Kynth Studios

the studio behind SkillWorks, StillShipping and ToolDrift

Toolproof

The nine
Methodology
About

Indexes

SkillWorks
StillShipping
ToolDrift
BlockDex

Reference

Read API
index.json
Badges
Corrections

© 2026 Toolproof. A Kynth Studios product. Changelog

Toolproof