llms.txt
# Claude Skills Hub — https://claudeskills.info
> A searchable directory of harness components for AI coding agents. We return objective facts
> and source links. Installation and selection are up to you — go to each result's source repo.
## Links
- [Search API](https://claudeskills.info/api/v1/search): read-only JSON search over the directory
- [Item API](https://claudeskills.info/api/v1/items/): fetch one item by slug
- [Meta API](https://claudeskills.info/api/v1/meta): counts, valid categories, types, sorts
- [Directory homepage](https://claudeskills.info/): browse skills, subagents, plugins, commands
- [Official publishers](https://claudeskills.info/official): vendor-official agent skills
## Query API (read-only JSON, CORS: *, cached 5 min)
Search (skills deduped per source repo; everything else shown individually — see dedup note):
GET https://claudeskills.info/api/v1/search?q={keywords}&type={skill|subagent|plugin|command|hook|automation|memory-tool|claude-md-example}&category={optional}&limit={1-100,default 20}&offset={n}&sort={stars|newest}
-> { "total": 128, "limit": 20, "offset": 0, "results": [ItemJSON, ...] }
One item:
GET https://claudeskills.info/api/v1/items/{slug} -> ItemJSON (404 if unknown)
Use the slug exactly as /search returns it. A component whose slug a skill or plugin also uses carries its type as a prefix, e.g. subagent:architect.
Discover (counts, valid category values, sorts, data scope):
GET https://claudeskills.info/api/v1/meta
ItemJSON:
{
"slug": "obra-brainstorming",
"name": "brainstorming",
"description": "You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.",
"category": "product-management",
"type": "skill",
"confidence": "high",
"origin": "catalog",
"stars": 261677,
"featured": 0,
"source": { "repo": "obra/superpowers", "url": "https://github.com/obra/superpowers/tree/HEAD/skills/brainstorming" }
}
## Notes for agents
- Every result has source.url — the authoritative repo. Read it there for how to install; we ship no install commands.
- Every item has a `type`: skill, subagent, plugin, command, hook, automation, memory-tool, claude-md-example. Filter with ?type=. Call /api/v1/meta for the full `types` map (counts per type).
- Dedup is type-aware: type=skill collapses per source repo (one representative, the most installed skill), while every other type is shown individually — so ?type=plugin returns every plugin, not one-per-repo.
- q on skills and plugins matches word prefixes in the name or description, and every word must match ("review" also finds "reviewer"). Components, and queries with no Latin word of two or more characters (such as 数据 or c++), use a plain substring match.
- confidence (high|low) and origin (author|aggregator-mirror|curated) are objective signals on components (subagents, commands, hooks, …) — you decide whether to trust a low-confidence or aggregator-mirrored entry. Skills and plugins always report confidence=high, origin=catalog.
- featured is always 0: the human-curated flag was retired, and ?featured=1 is rejected with HTTP 400.
- Most components have no category (it's a skill and plugin field) — filter components by type, not category.
- Same source repo may appear both as a skill and as components (different granularity: repo-level skill vs file-level component).
- sort=stars ranks by GitHub stars (default; components inherit their repo's stars). sort=newest by date added (coarse — batch-imported). No full-text relevance ranking yet.
- limit defaults to 20, max 100 (clamped, not rejected).
- Data scope: the same directory the website shows — listed skills, plugins, and components (subagents, commands, hooks, automations, memory tools, CLAUDE.md examples). Call /api/v1/meta for counts (total_items, unique_repos, types).
- Call /api/v1/meta first to learn valid `category` values before filtering.
- Human pages: skills at https://claudeskills.info/skills/{owner}/{repo}/{name}/ , plugins at https://claudeskills.info/plugins/{owner}/{repo}/{name}/ (ItemJSON's source.repo gives {owner}/{repo}).
- API URL note: this API lives at claudeskills.info/api/v1/. If it ever moves to api.claudeskills.info, this path will 301-redirect and keep working.