Skip to content

Usage

Skill Library MCP exposes exactly three tools. Two help your assistant find a skill, and one loads it. The whole library is driven through these three:

ToolPurpose
list_categoriesBrowse all 13 categories with counts and examples — discover what’s available.
search_skillFind skills matching a keyword or natural-language query.
load_skillLoad the full content of a specific skill (optionally with its resource files).

The three tools are designed to be used in order, narrowing from “what exists” to “the exact skill I want”:

  1. list_categories — get the lay of the land. Useful when you don’t yet know what’s available or want to point search at the right area.
  2. search_skill — find candidate skills for your task.
  3. load_skill — pull in the one you picked.

For a fully worked walkthrough of this loop, see Search and load a skill.

Lists every category with its skill count and a few example skills. It takes no parameters. Use it to discover what’s in the library before you search.

list_categories()

The response counts the full library and names each category:

15223 skills in 13 categories:
- **Frontend** (…) — react-patterns, tailwind-layouts, accessibility-audit, +… more
- **Backend** (…) — fastapi-service, graphql-schema, rest-api-design, +… more
- **AI & LLM** (…) — rag-implementation, agent-patterns, prompt-engineering, +… more

The 13 categories are: Frontend, Backend, AI & LLM, DevOps & Infra, Data & Databases, Security, Testing, Mobile, Automation, Python, TypeScript & JS, Architecture, and Other (skills that don’t match a keyword category).

Searches the library and returns a ranked list of matching skills. Search is IDF-weighted, so it surfaces the most distinctive matches — and it handles natural-language queries, not just bare keywords.

ParameterTypeRequiredDescription
querystringYesKeywords or a natural-language description of what you need.
search_skill({ query: "react patterns" })
search_skill({ query: "help me debug a memory leak" })

Each result line shows the skill’s name, its directory name in parentheses, an optional [+resources] marker, and the description:

Found 12 skills matching "react patterns":
- **react-patterns** (react-patterns) [+resources] — Composition, hooks, and render patterns for React apps.
- **react-performance** (react-performance) — Profiling and reducing unnecessary re-renders.
- **state-management** (state-management) — Choosing and structuring client state.

If nothing clears the relevance threshold, you get back a plain No skills found matching "<query>". — try broadening the query or running list_categories to find the right area first.

Loads the full content of a single skill. This is what actually brings the skill’s instructions into your assistant’s context.

ParameterTypeRequiredDefaultDescription
namestringYesThe skill’s frontmatter name or its directory name. Case-insensitive.
include_resourcesbooleanNofalseWhen true, appends the skill’s resources/*.md files to the returned content.

Load just the main skill document:

load_skill({ name: "react-patterns" })

Load it together with its resource files:

load_skill({ name: "react-patterns", include_resources: true })

The name accepts either form shown by search_skill — the human-readable frontmatter name or the directory name — and matching is case-insensitive, so React-Patterns and react-patterns both work.

If load_skill can’t find an exact match, it doesn’t fail silently — it runs a fuzzy search and suggests the closest skills:

load_skill({ name: "react pattern" })
→ Skill "react pattern" not found. Did you mean: react-patterns, react-performance, state-management?

Pick one of the suggestions and call load_skill again with that exact name.