-
Notifications
You must be signed in to change notification settings - Fork 0
Home
One shared skill corpus. One router. Every AI agent.
The Universal AI Skills Library (UASL) is a router-first skill system that lets Codex, Claude, Cursor, Hermes, Paperclip, OpenCode, and many other AI agents search, preflight-route, and load ~1,812 skills on demand from a single shared corpus — without copying the skills into every client.
The full corpus lives once in skills/. Each AI client gets only a compact instruction file or a tiny wrapper that calls the skill-router CLI when — and only when — a real user prompt needs a matching skill. No corpus duplication, no context bloat.
Note
This wiki documents the repository at its current state on main. The skill catalog is generated from manifest.json (schema v2.2.8). Counts and numbers throughout cite that manifest and the in-repo docs.
| Problem | How UASL solves it |
|---|---|
| Every AI client wants skills in a different directory. | Compact per-client adapters all point back to one canonical router + corpus. |
| Large skill libraries bloat the model's context window. | Deterministic preflight decides if any skill is needed, then loads exactly one. |
| Local AI stacks drift across Hermes, Paperclip, Codex, Claude, IDE tools. | Portable model/memory/routing/adapter config lives in repo-owned templates. |
| Public repos can leak machine state or secrets. | Public-safe defaults, ignored local state, validation scripts, release audit. |
The design intent, in the project's own words: this is "not a bundle to paste; a router-first skill system."
User prompt
│
▼
skill-router preflight ──► route? ──► load exactly one skill ──► host AI uses it
(deterministic, ├─ ambiguous ──► host AI picks from candidates
no extra LLM call) └─ no_route ──► continue normally
- A user-prompt hook runs
skill-router preflight --hook-event UserPromptSubmit --json "<prompt>". - If the decision is
route, the host loads one skill viaskill-router skill <name>. - If
ambiguous, the host AI chooses from the listed candidates. - If
no_route, nothing is loaded and the agent proceeds normally.
See Architecture for the full search → route → load pipeline.
- New here? → Quick Start
- Installing? → Installation & Setup · Agent Support Matrix
- Understanding the design? → Architecture · Skills Corpus
- Using the CLI? → Skill Router CLI · MCP Server
- Contributing? → Contributing · Testing & CI
- Where's the project headed? → Roadmap & Phases · Node → Go Migration
| Skills | ~1,812 (18 core + 1,794 library) |
| Router |
skill-router — a single Go CLI (also speaks MCP) |
| Contract surface |
manifest.json (v2.2.8) |
| Architecture | Router-first, three decoupled layers: Router · Corpus · Registry |
| Supported clients | 30+ AI agents & IDE tools — see the matrix |
| Install |
bash install.sh (macOS/Linux/WSL) · .\install.ps1 (Windows) |
| License | MIT |
| Repo | onfire7777/universal-ai-skills-library |
UASL keeps three concerns strictly separated (see Architecture):
-
Router — the
skill-routerGo CLI. Owns no skill content. Resolves prompts to skills through the manifest. -
Corpus —
skills/. Knows nothing about the router; it is just normalized skill directories. -
Registry —
manifest.json. The only contract between the two, regenerated deterministically byscripts/registry/.
This decoupling is what makes the same corpus usable from any client and what enables the in-progress Node → Go migration to swap the router implementation with byte-for-byte identical output.
Looking for the source docs? The repo's docs/ folder is the upstream source for everything in this wiki.
Getting started
Concepts
Reference
Project
- Roadmap & Phases
- Node → Go Migration
- Performance & Benchmarks
- Testing & CI
- Contributing
- Security
- Known Issues
Help