Open Source · Pattern Library
skills.vishalvoid.com
A curated directory of 638+ AI agent skills and MCP servers — official submissions from 51 dev teams and community-adopted picks from 644+ providers. Browse by category, provider, or difficulty to find the right skill for your agent workflow.
Product
skills
Role
Creator & Maintainer
Timeline
2025 – Present
Patterns
70+
By the numbers
638+
Skills & MCP servers
51
Official providers
644+
Total providers
100%
Open source
Quick Start
Up and running in one command
Install once as a global package, run from any project directory. Santra indexes your repo automatically on first launch.
The Problem
AI agent tooling is scattered across hundreds of repositories
As AI agents become a core part of developer workflows, the ecosystem of skills and MCP servers has exploded — but there's no single, trustworthy place to discover what exists. Tools are scattered across GitHub, Discord, blog posts, and vendor docs. Official provider submissions have no central home. Developers waste hours hunting for integrations that already exist.
No canonical directory for MCP servers
Hundreds of MCP servers exist across GitHub and vendor sites — but without a curated index, developers either reinvent the wheel or miss tools that would solve their problem in minutes.
Official provider skills hard to find
Dev teams at Anthropic, Auth0, Stripe, Cloudflare, and others publish agent skills — but with no central registry, these official resources are buried in documentation sites and release notes.
No way to filter by difficulty or category
A beginner building their first agent has different needs than an enterprise developer integrating 20+ tools. Without difficulty tags and functional categories, discovery is one-size-fits-none.
Community-adopted skills lack visibility
The best community-built MCP servers and agent skills have no aggregation point. High-quality work gets overlooked because it never appears next to official vendor resources.
The Solution
One directory for every AI agent skill and MCP server.
skills.vishalvoid.com is the central directory for AI agent skills and MCP servers — aggregating 638+ official and community-adopted skills from 644+ providers into a single, searchable, always-current resource.
638+ Skills & MCP Servers
The largest curated index of AI agent skills and MCP servers — spanning cloud infrastructure, authentication, AI/ML, document processing, web search, blockchain, media generation, and more.
51 Official Provider Submissions
Skills submitted directly by the dev teams behind Anthropic, Auth0, Hugging Face, Browserbase, Brave, Expo, Microsoft, Cloudflare, Vercel, and 42 other vendors — authoritative, up-to-date, and source-verified.
Functional Categories
Skills are organized across Technical & Development (483), Creative & Design (76), Enterprise (42), and Office & Documents (37) — so you browse by what you're building, not by who made the tool.
Difficulty-Tagged for Every Level
Every skill is tagged Beginner, Intermediate, or Advanced, making the directory useful whether you're wiring your first agent or integrating 20+ tools into a production system.
Dark / Light Mode
The site respects system preference and allows manual toggle with zero flash on load — implemented with a synchronous inline script that sets the theme class before React hydrates.
Statically Generated, Always Fast
Fully static Next.js site with no database, no auth, no CMS. Every skill entry is defined in a strictly-typed TypeScript data layer — a missing field is a compile error, not a runtime surprise.
Technology Stack
Built with the right tools
Architecture
Static Site (Next.js App Router)
skills.vishalvoid.com/
├── app/
│ ├── page.tsx # Home — directory overview + stats
│ ├── skills/page.tsx # Full directory with filter UI
│ └── skills/[slug]/page.tsx # Individual skill detail
├── components/
│ ├── SkillCard.tsx # Skill entry cards
│ ├── FilterBar.tsx # Category / provider / difficulty filters
│ └── ProviderBadge.tsx # Official provider indicator
└── data/
└── skills.ts # 638+ skill entries (strictly typed)Development Journey
How it was built
Phase 01
The problem worth solving
The idea came from a real friction point: every time I evaluated a new MCP server or agent skill, I had to hunt across GitHub, Discord, and vendor docs to find what actually existed. There was no single place that aggregated official submissions alongside community-adopted tools — so I built it.
Phase 02
Designing the data schema
The key constraint was making the directory maintainable at scale. Every skill entry needed a strict TypeScript schema — provider, category, difficulty, tags, and source URL all required. A missing field is a compile error, not a runtime inconsistency. This structure meant the directory could grow from 70 to 638+ entries without becoming unmaintainable.
Phase 03
Curating official provider submissions
Getting to 51 official providers meant contacting dev teams directly, reviewing GitHub repos, and cross-referencing vendor documentation to ensure every listed skill was current and correctly attributed. The goal was a directory developers could trust — not just an aggregation of links.
Phase 04
Building the category and filter system
With 638+ entries, browsing without filtering is useless. I designed a four-category system (Technical & Development, Creative & Design, Enterprise, Office & Documents) and layered provider and difficulty filters on top — all computed at build time so there are no API calls, no latency, and no loading states.
Phase 05
The UI — fast, readable, distraction-free
The UI was built around one constraint: get developers to the right skill in as few clicks as possible. Tight typography, functional accents only, and a zero-flash dark mode implemented with a synchronous inline script — the same approach React docs use — so the theme is correct before React even hydrates.
Engineering Challenges
Hard problems, real solutions
Zero-flash theme switching
Problem
Next.js App Router hydrates asynchronously. A naive theme implementation using a React state hook will always flash the wrong theme on first load — the HTML renders without the theme class, React runs, and the class is applied too late.
Solution
Injected a synchronous inline `<script>` in the document `<head>` (before body render) that reads localStorage and sets the dark class on `<html>` immediately. This runs before paint, eliminating the flash entirely.
Keeping 638+ entries accurate and current
Problem
A directory at this scale drifts fast — providers deprecate tools, rename packages, or move documentation. A stale link in a trusted directory is worse than no link.
Solution
Built a strict TypeScript schema where every field (provider, category, difficulty, sourceUrl) is required and validated at compile time. Combined with periodic curation passes, this keeps the directory trustworthy as it scales.
Filtering 638+ entries without a backend
Problem
Provider, category, and difficulty filters over 638+ entries need to be instant. A backend or client-side fetch would introduce latency and loading states — bad for a reference tool.
Solution
All filtering is computed purely in React state on the client, against a statically bundled data set. No API calls, no network round trips — filter results are instant regardless of how many entries exist.
Quality & Testing
Static site — correctness is enforced by TypeScript.
As a static Next.js site with no backend, the primary quality mechanism is TypeScript's strict mode. Every skill entry, provider record, and page component is fully typed — a missing required field or invalid category is a compile error, not a production bug.
| Method | Endpoint / Function | Tests | Passing |
|---|---|---|---|
| GET | / | 0 | 0 |
| GET | /skills | 0 | 0 |
| GET | /skills/[slug] | 0 | 0 |
Project Roadmap
What's done, what's next
v2.0 · Stable
Upcoming · In Progress
Future · Planned