Methodology

How we score Skills

Every Skill on this site has a composite 0–100 score. The number is derived from 9 verifiable inputs — no hand-curated quality dial, no hidden weights. The current rubric is version 1.0.

Inputs

The 9 inputs

InputWeightSource
Install count20Verified installs across skills.sh, npm, and GitHub releases (log-normalized).
Provenance15Anthropic > verified org > community. Community skills with high adoption get a partial boost.
GitHub stars15Stars on the source repo (log-normalized).
Recency10Days since the last commit. Skills updated in the last 14 days score full marks.
Compatibility10Number of agents (out of 5: Claude Code, Cursor, Codex, Gemini, Antigravity) the skill is verified to work with.
Documentation depth10README, docs URL, "best for", and "not ideal for" all present.
Install ergonomics10One-command install scores full; plugin install scores partial; manual install scores low.
License5OSI-approved permissive licenses score full; closed but verifiable scores half.
Verification freshness5How recently we tested that the install command still works.

Why

Design choices

Composite over single-axis. Other directories rank by install count alone, which rewards age over quality. We use 9 inputs so recency, provenance, and ergonomics also count.

No aggregateRating in JSON-LD. We do not collect user reviews and so do not publish a fake aggregate. The composite score is a quality signal, not a five-star average.

Provenance has weight, not a veto. Anthropic and verified-org skills get an automatic boost, but a community skill with high adoption can still outrank them — Superpowers (40k+ stars) is the canonical example.

Verification freshness matters. Five points of the score reflect when we last verified the install command works. A skill we have not retested in months loses points until we do.

Verification

What “verified” means here

Two different dates appear on every entry, and they mean different things. Last update is the upstream repository’s own last push — the skill’s freshness, not ours. Verified is the date we last tested that the install command still works.

Cataloguing an entry requires all of: the repository exists and is reachable; the SKILL.md is present at the exact path we publish; the licence is confirmed by reading the licence file rather than a README badge; the provenance tier is what the evidence supports; and the upstream last-push date is recorded from the repository.

The Verified date is set only when the install command has been executed. An entry that has cleared the checks above but has not had its install run yet ships with no Verified date at all — it loses the verification points until it does. That is deliberate: a badge that means “probably fine” is worth less than an empty field.

Compatibility lists tested agents only. The SKILL.md format is read by many agents, so almost any skill plausibly works everywhere. We list an agent when the skill was actually run there, or when the publisher documents a distinct install path for it. The characteristic cross-agent failure is a skill that loads and quietly does less, which is exactly what assumed compatibility hides.

Entries are removed. An archived upstream, an install command that stops working, a licence that changes in a hostile direction, or a publisher that cannot be verified all trigger de-listing, with a permanent redirect left behind rather than a dead URL. Every removal is on the changelog with the reason. The current re-verification backlog is published on the State of Agent Skills page — including the entries whose verification has aged past 60 days.

Worked example

Example: frontend-design

Frontend-design earns full marks on install count (277K+), provenance (Anthropic), compatibility (5/5 agents), license (MIT), and install ergonomics (one-command). Stars and recency are at 90% (a few weeks since last commit). Documentation is at 90% (a clear README and SKILL.md, no formal "not ideal for" section). Final score: 92.