Search and load a skill
This is the core loop of Skill Library MCP, start to finish: discover what’s available, narrow to the skill you want, and load it. We’ll show the underlying tool calls and the shape of what comes back so you can recognize each step.
In practice you describe the goal in plain language and your assistant runs these calls for you — but seeing the raw inputs and outputs makes the workflow click.
1. Discover what’s available
Section titled “1. Discover what’s available”Start with list_categories when you’re not sure what the library covers. It takes no parameters:
list_categories()It returns the total skill count and every category with examples:
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- **DevOps & Infra** (…) — terraform-modules, k8s-deploy, ci-pipeline, +… more- **Testing** (…) — tdd-workflow, playwright-e2e, vitest-setup, +… more…Now you know roughly where your task lives — say, Testing — and you can search with confidence.
2. Search for a skill
Section titled “2. Search for a skill”Pass a keyword or a natural-language description to search_skill:
search_skill({ query: "end to end browser tests with playwright" })You get back a ranked list. Each line shows the skill’s name, its directory name in parentheses, an optional [+resources] marker, and a description:
Found 8 skills matching "end to end browser tests with playwright":
- **playwright-e2e** (playwright-e2e) [+resources] — Writing reliable end-to-end browser tests with Playwright.- **tdd-workflow** (tdd-workflow) — Red-green-refactor discipline for new features.- **vitest-setup** (vitest-setup) — Configuring Vitest for unit and component tests.…The top hit, playwright-e2e, is what we want — and the [+resources] marker tells us it ships extra material we can optionally pull in.
3. Load the skill
Section titled “3. Load the skill”Load the skill by the name (or directory name) from the search results. Matching is case-insensitive:
load_skill({ name: "playwright-e2e" })This returns the full SKILL.md content — the complete instruction document, ready for your assistant to apply:
---name: playwright-e2edescription: Writing reliable end-to-end browser tests with Playwright.---
# Playwright End-to-End Testing
## When to use this…full skill instructions follow…That’s the loop. For most tasks, the main skill document is all you need.
4. Load with resources
Section titled “4. Load with resources”When a skill is marked [+resources] and you want the deep-dive, set include_resources: true. The server appends the skill’s resources/*.md files to the returned content:
load_skill({ name: "playwright-e2e", include_resources: true })---name: playwright-e2edescription: Writing reliable end-to-end browser tests with Playwright.---
# Playwright End-to-End Testing…main skill content…
# Resource: selectors-cheatsheet…appended resource file…
# Resource: ci-integration…appended resource file…When the name doesn’t match
Section titled “When the name doesn’t match”If you load a skill by a slightly wrong name, load_skill runs a fuzzy search and suggests the closest matches instead of erroring out:
load_skill({ name: "playwright tests" })→ Skill "playwright tests" not found. Did you mean: playwright-e2e, tdd-workflow, vitest-setup?Re-run load_skill with one of the suggested exact names and you’re back on track.
Next steps
Section titled “Next steps”- MCP client setup — wire the server into Claude Code and verify the tools.
- Usage — the full parameter reference for all three tools.