The State of Claude Code Skills

An evidence-based audit of 216 public Claude Code skills across 18 repositories, graded by Skill Crossroads (rubric v1.2) — the signpost for Claude Code artifacts. Includes the LLM-assisted checks (full edition). Every figure is traceable to the pinned git trees in the methodology. Generated 2026-09-10.

Edition & pinning. Generated 2026-09-10 under rubric v1.2, LLM (full) edition. This report is a pinned snapshot: its figures are exact for the git trees and rubric named in the methodology, and are regenerated — never hand-edited — when the rubric moves.

Edition note — what changed since the v1.0 edition (2026-07-09). Rubric v1.2 added deterministic checks that v1.0 did not run — TRIGGER-02 (description long enough to anchor), TRIGGER-03 (invocation cues), TRIGGER-05 (invocation-flag consistency), VERIFY-01 (evals present), and VERIFY-03 (maintenance hygiene) — plus the informational TOKEN-04 cost estimate and the LLM-assisted CLARITY-02 contradiction check. Keyless scans now score all six categories, so grade distributions shift accordingly and are not comparable one-to-one with the v1.0 edition. Each edition pins its own rubric, git trees, and reproduction command; this one replaces the v1.0 edition as the live report.

Scope. A deliberately mixed sample: Anthropic's well-maintained anthropics/skills catalog alongside a spread of community-authored repos (up to 12 skills each). This is a read on skills people actually publish — not a curated best-of.

The headline

Among skills Skill Crossroads could score, 69% have a description that won't reliably trigger — 87 (40%) outright unlikely to fire, 61 (28%) borderline. "My skill never fires" is the #1 real-world skill failure, and it hides in the frontmatter description.

Skill Crossroads scored 215 of 216 skills for triggering — 1 could not be reached (model/network errors) and are excluded from the triggering figures.

The average Skill Crossroads score across all 216 skills is 82.1/100.

Will your skill even fire? (Triggering & Discoverability)

How the LLM triggering check graded each description:

fires reliably (pass)   ██████░░░░░░░░░░░░░░  31%  (67)
borderline    (warn)    ██████░░░░░░░░░░░░░░  28%  (61)
won't fire    (fail)    ████████░░░░░░░░░░░░  40%  (87)

A description fails when it reads like a title, buries the use case, omits the natural-language phrases a user would actually say, or is so broad it never anchors. All of it is fixable before you publish — that's the point of the check.

Grade distribution

GradeSkillsShare
A73%
B15672%
C4521%
D21%
F63%

Read the letter grades honestly. Most public skills clear the deterministic floor — structure, budgets, and safety are table stakes, and letter grades cluster high because of it. The discriminating findings live in the LLM-assisted checks: whether the description will actually trigger (TRIGGER-01), whether constraints and failure modes are stated (CLARITY-05), whether the instructions contradict themselves (CLARITY-02), and whether anything verifies the work (VERIFY-04). A high letter grade means "won't visibly break"; the LLM rows in the chart below are where "actually good" is decided — and they are where most of the sample falls down.

How skills do on each check

Share of skills that pass cleanly (higher is better):

STRUCT-01 valid YAML frontmatter               ███████████████████░  96%   n=215 (0 warn, 8 fail)
STRUCT-02 recommended fields present           ███████████████████░  96%   n=215 (1 warn, 8 fail)
STRUCT-05 supporting-file references resolve   ███████████████████░  94%   n=208 (0 warn, 13 fail)
TOKEN-01 under the line/token budget           ██████████████████░░  91%   n=215 (16 warn, 4 fail)
TOKEN-02 progressive disclosure                █████████████████░░░  84%   n=208 (33 warn, 0 fail)
TOKEN-03 description budget footprint          ████████████████████  99%   n=215 (2 warn, 0 fail)
TOKEN-04 recurring per-invocation cost         ██████████████████░░  91%   n=215 (19 warn, 0 fail)
CLARITY-03 no ASCII-art / persona filler       ███████████████████░  97%   n=215 (1 warn, 6 fail)
SAFETY-01 no hardcoded secrets                 ███████████████████░  97%   n=216 (0 warn, 6 fail)
SAFETY-02 allowed-tools least-privilege        ███████████████████░  95%   n=215 (10 warn, 0 fail)
SAFETY-03 no destructive auto-invocation       █████████████████░░░  87%   n=215 (28 warn, 0 fail)
SAFETY-04 no shell-injection in ! blocks       ████████████████████ 100%   n=215 (0 warn, 0 fail)
TRIGGER-02 description long enough to anchor   ██████████████████░░  90%   n=215 (13 warn, 9 fail)
TRIGGER-03 invocation cues in description      ██████████░░░░░░░░░░  52%   n=215 (96 warn, 8 fail)
TRIGGER-05 invocation flags consistent         ████████████████████ 100%   n=215 (0 warn, 0 fail)
VERIFY-01 evals present                        ░░░░░░░░░░░░░░░░░░░░   0%   n=208 (10 warn, 197 fail)
VERIFY-03 version/changelog/readme hygiene     ████████████████████ 100%   n=208 (0 warn, 0 fail)
TRIGGER-01 description triggers reliably       ██████░░░░░░░░░░░░░░  31%   n=215 (61 warn, 87 fail)
CLARITY-02 no internal contradictions          ████████████████░░░░  80%   n=208 (35 warn, 6 fail)
CLARITY-05 constraints & failure modes stated  ░░░░░░░░░░░░░░░░░░░░   0%   n=215 (21 warn, 193 fail)
VERIFY-04 verification step present            █░░░░░░░░░░░░░░░░░░░   3%   n=214 (6 warn, 202 fail)

_LLM checks (TRIGGER-01, CLARITY-02, CLARITY-05, VERIFY-04) show a smaller n than the deterministic checks when calls were dropped on transient model/network errors — each percentage is over the skills that check actually scored._

What this means

1 of 216 skills (0%) pass every check Skill Crossroads ran, cleanly.

The most common defects across the sample:

Each is catchable before publishing, with npx skillcrossroads ./your-skill — and each is exactly the kind of thing that makes a good skill look broken in someone else's session.

Methodology & reproducibility

Skill Crossroads' deterministic checks (rubric v1.2, no LLM) plus the LLM-assisted checks (TRIGGER-01 triggering judge, CLARITY-02 contradictions, CLARITY-05 constraints, VERIFY-04 verification) were run 2026-09-10 against each repo's git tree at the sha below. Deterministic figures are bit-reproducible from those trees; LLM verdicts are content-hash cached and pinned to the same trees, but model output is not guaranteed bit-identical across runs.

RepoRefTree shaSkillsErrors
anthropics/skills (source)main41bbe19d1a1a120
diegosouzapw/awesome-omni-skill (source)maina6b3c3005ced120
lionelsimai/claude-skills-collection (source)main5c3b481f1879120
membranedev/application-skills (source)mainf484c8265e70120
Trompetilla/Skills (source)maina4277979986e120
LeoYeAI/openclaw-master-skills (source)maine5199b56ae1f120
ComeOnOliver/skillshub (source)maindef8531e6511120
agentskillexchange/skills (source)maind320bec98077120
ranbot-ai/awesome-skills (source)maind58cd70385a4120
inbharatai/claude-skills (source)main02077f8b2c05120
onfire7777/universal-ai-skills-library (source)main2a76bf42ce5c120
FridrichMethod/awesome-skills (source)maincd408695c35a120
rootcastleco/rei-skills (source)main7894dcd04603120
itsmostafa/aws-agent-skills (source)main4ab904a69cda120
kid-sid/claude-spellbook (source)maina7c2ac930b2f120
Cortexa-LLC/ai-pack (source)main4710951439a9120
Sandeeprdy1729/skill_galaxy (source)main991d5af7a87f120
excatt/superclaude-plusplus (source)maina4beaf578860120

Reproduce: npm run build && BEACON_LLM=1 ANTHROPIC_API_KEY=… node scripts/state-of-skills.mjs (default repo set) — or pass owner/repo … to scan your own.