Skillset’s catalog search uses Postgres full-text matching as its primary strategy, with an automatic trigram fallback when full-text finds nothing. The result is that a mistyped query likeDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/org-quicko/skillset/llms.txt
Use this file to discover all available pages before exploring further.
angulr still returns building-angular-applications — without any special configuration on the writer’s side. This page covers how the two-stage search works, the available filters and sort options, pagination, and how to invoke search from the API, CLI, and MCP server.
How search works
Search is a two-stage pipeline:- Full-text search (
tsvector/tsquery) runs first. It tokenises and stems the query against each Resource’s indexed fields. - Trigram fallback (
pg_trgm) runs only when full-text returns no results. It matches the raw query string against Resource names and descriptions using character-level similarity, catching typos and partial words.
The trigram fallback requires the
pg_trgm Postgres extension. The baseline migration creates it automatically at startup. On managed Postgres, CREATE EXTENSION may require a privileged role — see Deployment → Database if the migration fails.API
Search and filtering are controlled by query parameters onGET /api/resources. No authentication is required.
The search term. Blank or whitespace-only is treated as no query — the full catalog is returned, sorted by recency. When a term is given, results are sorted by relevance unless
sort_by overrides it.Narrow results to one Kind:
skill, mcp-server, or plugin. Omit to return all Kinds. An unrecognised value is rejected with a 400.Filter by Tag id. Repeatable — pass multiple
tag_id values to require any of them. Malformed UUIDs are silently dropped rather than rejecting the whole request.Page number, 1-indexed. Values below 1 or non-numeric values default to page 1.
Results per page. Default: 10. Min: 1. Max: 100. Values outside this range are clamped, not rejected.
One of
relevance, updated_at, or installs. When q is set, defaults to relevance; otherwise defaults to updated_at. Passing relevance with no query silently falls back to updated_at. An unrecognised value is rejected with a 400.asc or desc. Defaults to desc. An unrecognised value is rejected with a 400.Response shape
CLI
--tag flag accepts a Tag name; the CLI resolves it to a Tag id by fetching GET /api/tags before sending the search request. If the name does not match any Tag, the CLI lists the available Tags in the error message.
The
skillset search command always searches Skills only — the CLI sends kind=skill with every request. To search MCP Servers or Plugins, query the API directly: GET /api/resources?kind=mcp-server or GET /api/resources?kind=plugin.MCP
Thesearch_skills tool on the bundled MCP server exposes the same catalog search to any agent using the MCP server.
Optional. The search term. Omit to list the full catalog.
Optional. A Tag name. Resolved to a Tag id automatically.
Optional. Maximum number of results to return.
Optional. A cursor returned by a previous
search_skills call. Use next_cursor from the prior response to page forward.search_skills includes allowed_tools, so what a Skill claims the right to access is visible before any install decision — you do not need to call read_skill first.
Sorting behaviour
| Condition | Default sort_by |
|---|---|
q is set | relevance |
q is absent | updated_at |
sort_by=relevance with no q | Falls back to updated_at |