App scope. Default: matches skills.app_ids plus global rows. With the X-Use-Taxonomy header: an app slug resolved through the category taxonomy (no global rows); an unknown slug 404s. None = no filter.
One of the following:
string
null
}
categoryoptional
Filter by category. Default: skills.category string. With the X-Use-Taxonomy header: a categories.id UUID.
One of the following:
string
null
}
is_activeoptional
Filter by active flag.
One of the following:
boolean
null
}
searchoptional
ILIKE match on name or description.
One of the following:
string
null
}
limitoptionalinteger
maximum: 200 · minimum: 1 · default: 50
offsetoptionalinteger
minimum: 0 · default: 0
Header parameters
X-Use-Taxonomyoptionalboolean
When true, resolve app_id (as an app slug) and category (as a categories.id UUID) through the admin apps/categories taxonomy instead of the legacy app_ids array and category string. When absent/false, app_id and category use their legacy meanings.
default: false
X-On-Behalf-Ofoptional
One of the following:
string
null
}
X-External-User-Idoptional
One of the following:
string
null
}
X-App-Idoptional
One of the following:
string
null
}
Returns
200
Successful Response
JSON
skillsarray ofobjectrequired
idstringrequired
user_idrequired
Owner user_id, NULL for presets.
One of the following:
string
null
}
app_idsrequired
Apps this skill is assigned to. NULL means all apps (global/unscoped).
One of the following:
array<string>
null
}
keystringrequired
namestringrequired
descriptionrequired
One of the following:
string
null
}
promptstringrequired
categoryrequired
Freeform grouping label (legacy string). Distinct from categories.
One of the following:
string
null
}
iconrequired
One of the following:
string
null
}
argument_hintrequired
One of the following:
string
null
}
allowed_toolsarray ofstringrequired
metadataobjectrequired
is_presetbooleanrequired
is_activebooleanrequired
sort_orderintegerrequired
forked_from_skill_idrequired
One of the following:
string
null
}
usage_countintegerrequired
Global invocation count, bumped via POST /skills/{id}/usage.
last_used_atrequired
When the skill was last invoked, NULL if never.
One of the following:
string
null
}
parent_synced_atrequired
For forks: the preset updated_at this fork is synced to. The fork is stale when its preset's updated_at is newer. NULL for non-forks.
One of the following:
string
null
}
created_atstringrequired
format: date-time
updated_atstringrequired
format: date-time
app_idrequired
DEPRECATED, read app_ids instead. Legacy single-app scalar derived from app_ids for pre-multi-app consumers: the first app id, or null for all apps. Lossy for multi-app skills.
One of the following:
string
null
}
categoriesoptionalarray ofobject
Category entities assigned via the registry. Returned by the list endpoints, the single-skill reads (user and admin) and PUT /admin/skills/{skill_id}/categories; omitted by writes.
idstringrequired
namestringrequired
}
use_caseoptional
When this skill applies, in natural language. Read by skill selection.
One of the following:
string
null
}
detection_patternsoptional
Example utterances that should invoke this skill.
One of the following:
array<string>
null
}
licenseoptional
SKILL.md license: a license name, or the file in the skill that holds it.
One of the following:
string
null
}
compatibilityoptional
SKILL.md compatibility: what the skill needs to run (product, packages, network).
One of the following:
string
null
}
}
totalintegerrequired
Total rows matching the filters before LIMIT/OFFSET.