The State of Claude Code Skills

An evidence-based audit of 214 public Claude Code skills across 18 repositories, graded by Skill Crossroads — the signpost for Claude Code artifacts. Includes the LLM-assisted triggering check. Every figure is traceable to the pinned git trees in the methodology.

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, 73% have a description that won't reliably trigger — 93 (43%) outright unlikely to fire, 63 (29%) borderline. "My skill never fires" is the #1 real-world skill failure, and it hides in the frontmatter description.

Skill Crossroads scored 214 of 214 skills for triggering.

The average Skill Crossroads score across all 214 skills is 73.6/100.

Will your skill even fire? (Triggering & Discoverability)

How the LLM triggering check graded each description:

fires reliably (pass)   █████░░░░░░░░░░░░░░░  27%  (58)
borderline    (warn)    ██████░░░░░░░░░░░░░░  29%  (63)
won't fire    (fail)    █████████░░░░░░░░░░░  43%  (93)

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
A10%
B3717%
C11353%
D5224%
F115%

How skills do on each check

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

STRUCT-01 valid YAML frontmatter               ███████████████████░  97%   n=214 (0 warn, 6 fail)
STRUCT-02 recommended fields present           ███████████████████░  94%   n=214 (7 warn, 6 fail)
STRUCT-05 supporting-file references resolve   ███████████████████░  95%   n=214 (0 warn, 10 fail)
TOKEN-01 under the line/token budget           ██████████████████░░  90%   n=214 (16 warn, 5 fail)
TOKEN-02 progressive disclosure                ████████████████░░░░  79%   n=214 (45 warn, 0 fail)
TOKEN-03 description budget footprint          ████████████████████  99%   n=214 (2 warn, 0 fail)
CLARITY-03 no ASCII-art / persona filler       ███████████████████░  95%   n=214 (5 warn, 5 fail)
SAFETY-01 no hardcoded secrets                 ████████████████████  99%   n=214 (0 warn, 3 fail)
SAFETY-02 allowed-tools least-privilege        ████████████████████  99%   n=214 (3 warn, 0 fail)
SAFETY-03 no destructive auto-invocation       █████████████████░░░  87%   n=214 (28 warn, 0 fail)
SAFETY-04 no shell-injection in ! blocks       ████████████████████ 100%   n=214 (0 warn, 0 fail)
TRIGGER-01 description triggers reliably       █████░░░░░░░░░░░░░░░  27%   n=214 (63 warn, 93 fail)
CLARITY-05 constraints & failure modes stated  ░░░░░░░░░░░░░░░░░░░░   0%   n=214 (12 warn, 201 fail)
VERIFY-04 verification step present            ░░░░░░░░░░░░░░░░░░░░   2%   n=214 (7 warn, 203 fail)

_LLM checks (TRIGGER-01, 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

0 of 214 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 (no LLM) plus the LLM-assisted triggering check (TRIGGER-01) were run 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/skillsmain9d2f1ae18723120
diegosouzapw/awesome-omni-skillmaina6b3c3005ced120
lionelsimai/claude-skills-collectionmain5c3b481f1879120
membranedev/application-skillsmainf484c8265e70120
Trompetilla/Skillsmaina4277979986e120
LeoYeAI/openclaw-master-skillsmain67e40a3ee347120
ComeOnOliver/skillshubmaindef8531e6511120
agentskillexchange/skillsmain561182614102120
ranbot-ai/awesome-skillsmain12b433915a83120
inbharatai/claude-skillsmain02077f8b2c05120
onfire7777/universal-ai-skills-librarymain1e29cd14119f120
FridrichMethod/awesome-skillsmain1380472e5c8c120
rootcastleco/rei-skillsmain9990ea381cfa120
itsmostafa/aws-agent-skillsmain4ab904a69cda120
kid-sid/claude-spellbookmaina51ebdd8902c120
Cortexa-LLC/ai-packmain8c7debe195a9100
Sandeeprdy1729/skill_galaxymain2dd36c8ab8f1120
excatt/superclaude-plusplusmain9c36a87a9edc120

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.