The Resources API is the core of the Skillset catalog. It covers everything from browsing the public list of Skills to publishing a new version and downloading the Artifact zip. Catalog reads (list, fetch, file access, artifact download) require no authentication; writes and deletes are role-gated.Documentation 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.
Endpoints at a glance
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/resources | None | List and search the catalog |
| GET | /api/resources/stats | None | Catalog hero counts |
| GET | /api/resources/:kind/by-name/:name | None | Fetch a Resource by Kind and name |
| GET | /api/resources/:id | None | Fetch a Resource by id |
| GET | /api/resources/:id/installs/trend | None | Daily install trend |
| PUT | /api/resources/:kind/:name | Writer+ | Publish a Resource |
| PUT | /api/resources/:id/tags | Writer+ | Replace a Resource’s Tags |
| DELETE | /api/resources/:id | Admin+ | Delete a Resource |
| GET | /api/resources/:id/files | None | List Artifact files |
| GET | /api/resources/:id/files/:path | None | Read one Artifact file |
| GET | /api/resources/:id/artifact | None | Download the Artifact zip |
List the catalog
Query parameters
Filter by Resource Kind. Accepted value:
skill.Full-text search term. Matches against name and description. Falls back to trigram matching when no full-text matches exist, so a mistyped query still finds the right Skill.
Filter to Resources carrying the Tag with this id. Obtain Tag ids from
GET /api/tags.Page number (1-based).
Records per page. Clamped to the range 1–100; values outside that range are clamped rather than rejected.
Sort order. One of
installs, updated_at, or relevance. When q is set the default becomes relevance; requesting relevance with no q falls back to updated_at.Response fields
Array of Resource directory entries. Each entry contains:
Current page.
Records per page.
Total matching Resources across all pages.
Catalog stats
Response fields
Total number of Skills in the Registry.
Number of distinct publishers who have published at least one Skill.
Total install count across all Skills (periodically refreshed).
Fetch by Kind and name
Path parameters
Resource Kind. Currently
skill.Resource name.
Query parameters
Namespace to resolve the name within. Omit to use this Registry’s own namespace. Required when the same name exists in multiple namespaces — the server returns
409 ambiguous_name if it cannot resolve unambiguously.Error codes
| Code | Status | When |
|---|---|---|
not_found | 404 | No Resource with that Kind and name. |
ambiguous_name | 409 | The name exists in multiple Namespaces and none is this Registry’s own. |
Fetch by id
Path parameters
UUID of the Resource.
Install trend
Path parameters
UUID of the Resource.
Response fields
Ordered array of daily counts. Each point has:
Publish a Resource
Send the publish request
Send
PUT /api/resources/skill/:name with the metadata body. The files field declares the Artifact manifest — the paths and byte sizes of every file you intend to upload.Path parameters
Resource Kind. Currently
skill.Resource name. Must match the
name field in the Skill’s SKILL.md frontmatter.Request body
Short description of the Skill (max length enforced by the shared rules).
Full
SKILL.md Markdown content (the body of the Skill document, excluding frontmatter).Artifact manifest: one entry per file to upload. Each entry has:
path(string) — path relative to the Skill rootsize(integer) — byte size of the file
SPDX license identifier or custom license text.
Agents or environments this Skill is compatible with.
Free-form string-to-string key/value pairs.
Comma-separated list of tools the Skill is permitted to invoke.
Repository URL this Skill was imported from. Omit to record this Registry as the source.
Response fields
The Resource as stored — full
SkillSchema shape including id, kind, name, description, body, published_by, published_at, updated_at, installs, tags, namespace, source, license, compatibility, metadata, and allowed_tools.Presigned upload destinations for the Artifact files.
Set Resource Tags
Path parameters
UUID of the Resource.
Request body
Array of Tag name strings (e.g.
["typescript", "react"]). Send an empty array to remove all Tags.Response
Returns{ "tags": [{ "id": "...", "name": "..." }, ...] } — the resolved Tags now attached to the Resource.
Delete a Resource
Path parameters
UUID of the Resource to delete.
204 No Content on success.
List Artifact files
Path parameters
UUID of the Resource.
Response fields
Sorted list of Artifact files. Each entry has:
Read one Artifact file
Content-Type header is derived from the file’s extension. No authentication required.
Every file (except PDFs) is served with a strict Content-Security-Policy that disables scripts, plugins, and all external fetches. This prevents uploaded HTML, SVG, or XML files from executing against your Registry’s origin.
Path parameters
UUID of the Resource.
Path within the Artifact, preserving slashes (e.g.
references/java.md).Download the Artifact zip
Path parameters
UUID of the Resource.
Query parameters
Caller identity for install analytics. One of
web, cli, or mcp. Unrecognised or absent values are treated as web so old clients continue to work.application/zip stream with Content-Disposition: attachment; filename="<name>.zip".