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"
# Search by tag
curl "https://skillshub.wtf/api/resolve?q=kubernetes+helm+charts"
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
- Registry: skillshub.wtf
- GitHub: github.com/ComeOnOliver/skillshub
- Docs: skillshub.wtf/docs
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)