Submit a skill
BENCH ENGINE · IDLENEXT CYCLE · —:—:—NEXT · —:—
Changelog

What's new.

Ship log of Versuz, newest first. Bugs, features, infrastructure, data — all in public.

2026-05-14

V1.6 — landing flip, badge V2, gamification, content drafts

  • featLive ranking promoted to §01 — the leaderboard sits right under the hero now, manifesto (What / Why / How / Example) demoted to §02-§05. Headline category picked dynamically from the bench scope (first of sql / web / shell / data with data) instead of hardcoded "document".
  • featLive countdown in the top ticker — replaces the static "DAILY AT 06:00 UTC" with a live "NEXT CYCLE IN 02:47:12 UTC" computed client-side.
  • featSticky "Enter the Arena" CTA — floating bottom-right after 600px of scroll, hides near the footer, suppressed on /submit / /admin / /buy / /promote / /claim / /profile.
  • featBadge V2 — query params on /badge/[kind]/[slug] : ?show=score|elo|prior|rank + ?style=default|terminal (full dark palette for dark READMEs). Backward-compatible with v1.
  • featTwo new badge endpoints — /badge/author/[login] (tier progression : newcomer → veteran) and /badge/category/[cat] (count + bench coverage per category).
  • feat<EmbedBadgeBlock> enriched — Show / Style selectors below the tab strip, live preview updates as the user picks variants.
  • featGamification — migration 0052 introduces item_achievements (triple_crown / streak_milestone / category_winner / first_blood), author_achievements (newcomer → veteran), rank_history (per-cycle × subject × category snapshot), and streak columns on skills / claude_md_files.
  • featscripts/bench/post-cycle-hooks.mjs — to run after each completed cycle. Snapshots rank_history (top 100/cat), inserts achievements, updates streak counters. Idempotent on rerun.
  • featUI : 🔥 streak chip on <SkillRow> and on the skill detail header. ♛ Triple Crown badge (gradient amber → ember) on skill detail when unlocked. getItemAchievements(kind, subjectId) query helper.
  • featCLI v0.2.0 — `npx versuz battle <a> vs <b>` command (head-to-head terminal viz, ember-gradient verdict box). `npx versuz submit` post-success now prints the README badge markdown + --add-badge flag shows step-by-step PR instructions.
  • feat"Today's Upset" pipeline — /api/og/upset (1200×630 next/og social card) + getRecentUpsets() query helper diffing rank_history between cycles + admin dashboard /admin/content-drafts with preview cards, Copy URL, Open PNG. Pick 1-3 cards, publish, done.
  • fix§01 Live ranking was invisible — skills.category (native taxonomy) ≠ rankings.category (bench cycle scope), e.g. `peekaboo` is native=macos but was benched under sql scope. New helper getBenchedTopByCategory() queries rankings first and joins to skills, then stamps axes + recomputed weighted composite score.
  • fixHydration mismatches — <NextCycleCountdown> infinite loop on useSyncExternalStore (now useState + setInterval), <HeroSearch> placeholder Math.random()-init (now deterministic SSR + useEffect rotation), <NavAuthCluster> "Sign in" flash for signed-in users (now opacity 0 until /api/auth/me resolves).
  • fix/badge/category/document returned 404 — only 4 categories benched in prod, strict avg_score check returned no rows. New logic : count registry rows from skills / claude_md_files filtered by category. Label switches from RANKED to INDEXED when benched count is 0.
  • fixquality-judge skipped 100% of items as "content too short" — post-migration 0042, the bodies live in the public Storage bucket, not the inline column. New resolveItemContent() fetches from Storage as a fallback. The script now actually judges instead of skipping.
  • fixFooter "Boost a skill · $4.99 / 30 days" link pointed to /marketplace?promote=intro which was never handled. Now anchors to /pricing#boost (id added, scrollMarginTop: 96 so it clears the sticky header).
  • contentCLI v0.2.0 published with expanded npm description + keywords (claude-skills, skill-md, registry, benchmark, ranking, elo, anthropic, agent). User-Agent bumped to versuz-cli/0.2.0.
  • featNative promo surfaces — 5 monetisation slots across home / marketplace / leaderboard / skill detail. Home § Featured strip showcases Versuz first-party picks (vz-bench-debug, vz-scrape-runner). Marketplace + leaderboard get "Boost a skill · $4.99 / 30d" promo cards. Skill detail gets author-aware promo (Boost CTA for owners, Submit CTA for visitors) + cross-sell strip with other Featured items. Same editorial tone as the rest of the site — no AdSense aesthetic. New helper getFeaturedItems(kind, limit) in rankings.js.
2026-05-13

V1.5 — perf overhaul + legal pages

  • perfMarketplace + landing refactor: full-table loads replaced by range pagination + 14 composite indexes. Landing TTFB drops from 43s to <2s.
  • perfISR caching enabled on landing (60s) and leaderboard (300s). The /stats API stays no-cache for live counts.
  • featMulti-category: a skill can now belong to multiple categories (mcp-server + document, etc.). 9 new agent-specific buckets.
  • featLicense SPDX captured at scrape + license badge on cards. Copyleft items (GPL/AGPL) flagged crimson.
  • featNear-duplicate detection via normalized description_hash + automated archive script.
  • featSource view: badge on each card to distinguish GitHub / Sourcegraph / awesome-list / CLI submission.
  • featFull legal pages: Terms, Privacy (GDPR), Refund, DMCA, Imprint.
  • fixRepo bundle page: crash on skill display (prop name mismatch between RepoSkillCard and its consumer).
  • fixInconsistent marketplace count when a client-side filter was active (bundle / tokens-skills). Topics filter moved server-side.
  • infraCLI + MCP server: default URL switched to https://versuz.dev.
  • infraRLS performance fix: `auth.uid()` wrapped in `(select auth.uid())` across 14 policies. Per-query CPU divided by ~N (where N = rows scanned).
  • infraContent offload prep: SKILL.md / CLAUDE.md bodies are migratable to a public Supabase Storage bucket (frees 200-400 MB on the DB).
  • contentClassifier v3: extended with 9 new buckets (claude-skill, codex, cursor-rule, windsurf-rule, antigravity, mcp-server, continue-rule, roo-code, cline). Multi-cat output.
2026-05-11

Rubric v4 + live pipeline + auto-queue

  • featRubric v4 aligned with FLASK / JudgeBench / HELM. 5 weighted axes (instruction_following 0.35 / correctness 0.30 / completeness 0.20 / usefulness 0.10 / safety 0.05).
  • perfPrompt caching active on the bench (marker END SYSTEM RUBRIC). Hit rate 30-85% depending on the judge.
  • featLive drip pipeline: items show up on /marketplace seconds after the scrape, not after the full batch. Bench refresh every 25 outputs.
  • featAuto-queue submit: new items submitted via web or CLI are judged in the background + prioritized for the next bench cycle.
  • featAdmin /admin/cycles dashboard refresh: Raw/Quality/Benched funnel, judge histograms, ETA on agent + judge wall-time.
  • featLMArena-style leaderboard table: Model + 5 axis columns + Score, client-side sort, inline search, stats strip.
  • content+5 awesome-lists and +16 GitHub topics scraped (mcp, cursor-rules, windsurf, continue-dev, agentic-coding, etc.).
  • fixScraper bugs: fetchRaw fallback on the default_branch GitHub API + upsert tolerant onConflict on slug-collision.
2026-05

V1 polish — CLI + MCP + Stripe + Premium

  • feat`npx versuz` CLI v0.1.0: 8 commands (list/search/info/install/login/whoami/logout/submit). Interactive mode, ANSI shadow logo, colored tables.
  • feat`@versuz/mcp` MCP server v0.1.0: 5 tools for Claude Code (search, list, get, install, list_skills/list_claude_md).
  • featStripe Connect Express + destination charges: automatic 30/70 split, 6 webhook events handled (purchase, refund, dispute, account update).
  • featPremium content gating: private Supabase Storage bucket + signed URLs (7-day TTL) for premium downloads.
  • featPay-to-promote (Boost): flat $4.99 / 30 days, stacking up to 365 days max, 6 visible top-of-grid slots.
  • featReal-time landing KPIs: poll /api/stats every 8s, CountUp animation, ember dot pulse on update.
  • featOfficial badge: whitelist of 30 orgs (anthropics, google, openai, vercel, stripe, supabase…). Auto-flagged at scrape.
  • featCompare picker: checkbox top-left on each MarketplaceCard, floating compare bar, /compare side-by-side.
  • feat3-slide onboarding modal (Browse / Earn / Trust) on first /profile visit, persisted in localStorage.
  • featMobile responsive: Section + PageHero clamp() padding, hamburger drawer, mark logo shrinks below 1024px.
2026-03-04

V0 — public benchmark + marketplace

  • featFirst mass scrape: ~93 skills + ~129 CLAUDE.md indexed.
  • featEnd-to-end bench engine: agent + 3 judges + retry + rotation + circuit breaker + output dedup.
  • featAll canonical pages: marketplace, leaderboard, methodology, about, skills/[slug], standings, profile, admin.
  • featSupabase auth + GitHub OAuth, session caching.
  • featGlobal Cmd+K search modal, dynamic OG images, sitemap, RSS feeds, JSON API v1.
  • featSubmit form (URL fetch + content paste), claim flow, SVG embed badge.
  • feat5 verification levels + 3 commercial tiers (free / premium / featured).
Want raw commits? See the GitHub repo ↗ for the full history. RSS feed available at /feed.