The index
Most skills are fine.
That is not the same as free.
A skill's frontmatter loads at session start for every skill you have installed, whether or not it ever fires, and its instructions load in full the moment it does. That is a budget too. So we graded every public Agent Skill in three repositories, pinned to exact commits, with the same command you can run against your own.
The Agent Skills Quality Index
efaimo v0.1.2 · 2026-08-0397%
of the 36 public Agent Skills in this corpus score an A from
check --skill. Most skills are fine. That is the finding,
and it is not the same as free.
grade distribution
Nothing scored B, D, F. One skill carries an error-level finding.
what the median costs you
1,632
tokens of instructions, loaded the moment the skill triggers. The spec recommends staying under 5,000.
38.5 tokens of metadata, loaded at session start for every installed skill whether it fires or not.
The one that is not fine claude-api scores C (73), and it is also the heaviest in the corpus: 18,419 tokens of instructions, about
11 times the median. It is Anthropic's own skill for
their own API, which is the useful part. A curated set maintained by the
people who wrote the spec still has one, so a set nobody audits has more.
3 repositories, pinned to exact commits:
anthropics-skills, anthropics-claude-cookbooks, obra-superpowers. Reproduce any row with npx efaimo check --skill <dir>.
And ours, by the same rules
efaimo publishes skills too, so they are graded by the same call and kept out of every number above. A corpus statistic is a claim about work other people did; folding our own in would quietly make "97% score an A" a sentence about a population that includes the author. The build fails if the two ever merge.
| skill | grade | metadata, always on | body, on trigger | referenced, on demand |
|---|---|---|---|---|
efaimo | A (100) | 58 | 816 | none |
mcp-stateless-migration | A (100) | 104 | 1,428 | 3 files, 3,690 |
claim-sweep | A (100) | 110 | 1,115 | 2 files, 2,647 |
red-before-green | A (100) | 115 | 984 | 2 files, 2,146 |
honest-chart | A (100) | 103 | 929 | 3 files, 2,391 |
The three level split is the whole reason to care: what a skill costs you when it is installed and idle is a different number from what it costs when it runs, and both are different from what it costs when it is read to the end.
What this is not
A grade here is a lint-quality signal, not a security audit and not a
measure of whether a skill helps. A well-formed skill can still make an
agent worse at the task, which is a different question, measured a
different way, on the commands page. The injection checks in
check --skill are surface heuristics and are
reported without ever moving a grade.