Public Skills Leaderboard — ranked by performance dimension within a window
Anonymous-readable, time-windowed ranked leaderboard.
Distinct from the registry browse endpoint:
- Registry
/skills?sort=is about exploration (filter + paginate) - This endpoint is about ranking (top N by performance dimension)
Axes (every axis is an earned place; each one’s gate is stated in the UI sub-copy):
evidence(DEFAULT since 2026-08-15): the same measured-lift population asbiggest_improvement, ordered so that a skill with MORE evidence legs outranks a single-leg skill — a lift that two independent instruments agree on beats a bigger lift only one instrument ever saw. Carries an evidence FLOOR (seeevidence_floor) so an unmeasured seed cannot outrank measured work. Every row still reports its ownlegs,provisionalflag andactivations_30d, so the UI can label exactly how much evidence a row stands on rather than implying it is settled.skill_score: SkillScore v2 DESC. A skill charts once it has at least one evidence signal (≥1 leg); skills with no evidence never chart. Signal count is a tie-break, not an entry gate, so aprovisional(single-signal) score still ranks — every row reports its ownlegscount andprovisionalflag alongside the score. At an equal score this axis orders by measured benchmark lift, then by a stable id. Rolling 30d rollup, sowindow_daysdoes not apply to this axis.biggest_improvement: latest verified SkillTestRun in the window, pass-rate delta vs the no-skill baseline.efficiency: token savings ASC (most negative = cheapest); skills that INCREASED token cost are excluded.most_turn_savingsis the legacy param for the turns-keyed variant and keeps working.top_rated: SkillRaterReport mean in the window, ≥10 rated traces (matches the v2 rater-leg gate).
category narrows every axis to one skill.category and re-ranks inside
it, so the caller gets the top N of that category rather than whatever
slice of it happens to reach the global top N. Unknown values return an
empty board rather than a 400 — unlike sort, which selects a code path,
a category is a data filter, and “no skills match” is a true answer. That
also matches browse, which has filtered on the same column since forever.
Authorizations
Enter your API key (e.g. dai_sk_test_key_001)
Query Parameters
evidence (default) | skill_score | biggest_improvement | efficiency | top_rated (legacy: most_turn_savings)
Time window (≤3650 ≈ 'all time')
1 <= x <= 36501 <= x <= 100Rank WITHIN one skill.category (exact match, as on browse). Omit for the whole registry.
100evidence axis only. True (default) DEMOTES weakly-evidenced rows: a row that is simultaneously zero-activation and single-leg, or that is uncategorised and never activated, sorts below everything else. It is a ranking tier, not a filter — the board never empties, and a cold-start catalogue still returns a full page. Pass evidence_floor=false to rank without the demotion. (The window_days benchmark-recency bound is NOT part of this switch; it applies to the axis either way.) Ignored by every other sort.
Response
Successful Response