DEV Community

Luren L.
Luren L.

Posted on

SkillsHub March 2026 Dev Log: BM25, Rate Limiting, and 5,900+ AI Agent Skills

SkillsHub March 2026 Dev Log: BM25, Rate Limiting, and 5,900+ AI Agent Skills

March was a big month for SkillsHub — we shipped v0.2.0 with a completely revamped search engine, proper rate limiting, better docs, and crossed 5,900 skills in the registry. Here's what happened.

What's New in v0.2.0

BM25 Multi-Field Scoring

The biggest change: we replaced our TF-IDF (v2) skill resolution with BM25 multi-field scoring. If you've used SkillsHub's /resolve endpoint, you'll notice results are significantly more relevant now — especially for ambiguous queries where the old TF-IDF approach would surface noisy matches.

BM25 scores across multiple fields (name, description, tags) with field-specific weighting, so a match in the skill name carries more weight than a match buried in the description. It's the same family of algorithms that powers Elasticsearch under the hood.

Try it out:

# Resolve skills for a task description
curl "https://skillshub.wtf/api/resolve?q=deploy+nextjs+to+vercel"
Enter fullscreen mode Exit fullscreen mode
# Search by tag
curl "https://skillshub.wtf/api/resolve?q=kubernetes+helm+charts"
Enter fullscreen mode Exit fullscreen mode

In-Memory Skill Cache (~3.5x Faster)

Along with BM25, we added an in-memory skill cache with pre-computed corpus stats. The result: resolve latency dropped from ~700ms to ~200ms. The cache pre-computes term frequencies and document lengths at startup so BM25 scoring doesn't hit the database on every request.

Rate Limiting with Upstash Redis

SkillsHub is a free, open registry — but we need to keep it healthy. We added rate limiting backed by Upstash Redis:

Endpoint Limit
Read (resolve, search) 60 req/min
Write (update skills) 20 req/min
Register (new skills) 5 req/hr

These limits are generous for normal usage. If you're building an integration and need higher limits, open an issue.

Interactive Docs Page

We shipped a /docs page with interactive curl examples you can copy and run directly. No more guessing at API parameters — the docs show real requests and responses for every endpoint.

Check it out: skillshub.wtf/docs

Contributor Infrastructure

Getting a local dev environment running is now much easier:

  • db:push — push schema changes to your local database
  • db:seed-skills — seed your local instance with real skill data
  • .env.example — all the env vars you need, documented

We also added a public SKILL.md export — all 5,338 skills exported as individual .md files. Useful if you want to analyze the skill corpus, build alternative search, or just browse offline.

Other Improvements

  • YAML frontmatter stripping for proper SKILL.md rendering (no more raw --- blocks cluttering the display)
  • Chinese README sync — keeping our Chinese documentation up to date with the English version
  • Auth.js integration for contributor authentication

Featured: tanweai/pua 🔥

We added tanweai/pua as a featured skill pack — it's got 10k+ GitHub stars and contributes 9 skills to SkillsHub. PUA (Performance Ultimatum for AI) puts your AI on a structured performance improvement plan when it's stuck or giving up. Think of it as a "try harder" protocol with actual methodology behind it.

It's one of the most creative skill designs we've seen — worth checking out if you're building agent workflows that need resilience.

By the Numbers

  • 5,900+ total skills in the registry (up from ~5,300 at v0.2.0 launch)
  • ~3.5x faster resolve latency (700ms → ~200ms)
  • 5,338 public SKILL.md files exported

What's Next

  • Semantic search (embedding-based) alongside BM25 for hybrid resolution
  • Skill versioning and changelogs
  • SDK packages for popular agent frameworks
  • Community skill reviews and ratings

Links


If you're building AI agents, give SkillsHub a try. Register your skills, resolve what you need, and help grow the ecosystem. PRs and issues welcome. ✌️

Top comments (0)