list_skills
Resolve a Zendesk routing attribute named 'skills' and return its values as skeletons. Supports attribute ID or name, filtering, and pagination.
Instructions
Convenience wrapper that resolves a "skills"-like routing attribute and returns its values as skeletons. Pass attribute_id to target one specifically, or attribute_name (case-insensitive; defaults to "skill"/"skills"). Modern Zendesk has no /skills.json endpoint, this tool exists because LLMs ask for "skills" by name; under the hood it's list_routing_attribute_values against the skill attribute. Plan-gated. For agent assignments use list_agent_skill_assignments.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return. Default 100. The full corpus is fetched and cached server-side; this only limits what the response carries. | |
| cursor | No | Opaque pagination token from a previous response. Slices the next page from the cached corpus. Stale cursors (older than the cache TTL) auto-reset to offset 0 and set cursor_invalidated: true. | |
| fields | No | Whitelist of field names. Overrides the default projection. Use to opt into extra fields (e.g. ["id","title","active","position","category_id","updated_at"]) without going fully verbose. | |
| filter | No | Structured filter applied to the cached corpus before slicing. Supported keys: active (bool), category_id (number/string), title_contains (string, case-insensitive), updated_since (ISO timestamp). Unsupported keys are ignored with a note in the response. | |
| refresh | No | Bypass cache and re-fetch | |
| verbose | No | Return full value objects | |
| instance | No | Override the sticky instance | |
| attribute_id | No | Specific routing attribute ID to enumerate as skills | |
| attribute_name | No | Match an attribute by name (case-insensitive). Default: matches "skill" or "skills". |