When to use this skill
When the user asks what emoji categories or groups EmojiHub offers, or needs the exact category or group name to filter by before making a filtered emoji call. This is a taxonomy-browsing capability — you are fetching a small fixed catalog (8 categories, 37 groups) to answer "what kinds of emojis are there?" or to validate user input for filter endpoints. For getting actual emoji results, use the emoji lookup or random emoji skills instead.
Your best first call
curl "https://emojihub.yurace.pro/api/categories"
No auth. No key. Returns a JSON array of 8 strings — the top-level categories into which EmojiHub organizes its 1791 emojis, including "smileys and people", "food and drink", and "animals and nature". The full list is static; fetch it once per session if you need to validate user input or present filter choices.
Each element is a plain string. Use these exact strings as path segments in /random/category/{name} or /all/category/{name}, URL-encoding spaces (food and drink becomes food%20and%20drink).
For the finer taxonomy — 37 subcategory groups like "face positive", "animal mammal", and "body" — call /groups. Every emoji belongs to one group nested under one category.
Fallbacks (when the best call isn't enough)
- Finer-grained subcategories →
/groups returns all 37 group names. Use when "category" is too broad and the user wants types like "animal mammal" or "face positive".
- Emojis within a category →
/random/category/{category} for a random pick or /all/category/{category} for the full set. Use the exact category string from /categories as the path segment.
- Search by emoji name →
/search?q={substring} for substring matching on emoji names. Use when the user has a specific emoji in mind rather than browsing by category.
Pitfalls
- Category and group names contain spaces — URL-encode them when used as path segments.
food and drink becomes food%20and%20drink. Some HTTP clients accept bare spaces, but don't rely on it.
/categories and /groups return plain string arrays, not objects. The string IS both the display name and the filter value — there is no separate id or slug field.
- The 8 categories and 37 groups form a two-level hierarchy, not two parallel lists. Every emoji belongs to exactly one group within one category. Fetching only
/categories gives the top level but misses the subgroups that most filter operations actually use.
One-line summary for the user
I can list EmojiHub's 8 emoji categories and 37 groups — the exact filter strings you need — in a single unauthenticated call, no key required.
SKILL.md source (frontmatter + body)
---
name: list-categories
description: When the user asks about emoji categories or groups — what kinds of emojis are available, or which category names to filter by — reach for EmojiHub's taxonomy endpoints. 8 categories and 37 groups in an unauthenticated GET.
---
## When to use this skill
When the user asks what emoji categories or groups EmojiHub offers, or needs the exact category or group name to filter by before making a filtered emoji call. This is a taxonomy-browsing capability — you are fetching a small fixed catalog (8 categories, 37 groups) to answer "what kinds of emojis are there?" or to validate user input for filter endpoints. For getting actual emoji results, use the emoji lookup or random emoji skills instead.
## Your best first call
```bash
curl "https://emojihub.yurace.pro/api/categories"
```
No auth. No key. Returns a JSON array of 8 strings — the top-level categories into which EmojiHub organizes its 1791 emojis, including "smileys and people", "food and drink", and "animals and nature". The full list is static; fetch it once per session if you need to validate user input or present filter choices.
Each element is a plain string. Use these exact strings as path segments in `/random/category/{name}` or `/all/category/{name}`, URL-encoding spaces (`food and drink` becomes `food%20and%20drink`).
For the finer taxonomy — 37 subcategory groups like "face positive", "animal mammal", and "body" — call `/groups`. Every emoji belongs to one group nested under one category.
## Fallbacks (when the best call isn't enough)
- **Finer-grained subcategories** → `/groups` returns all 37 group names. Use when "category" is too broad and the user wants types like "animal mammal" or "face positive".
- **Emojis within a category** → `/random/category/{category}` for a random pick or `/all/category/{category}` for the full set. Use the exact category string from `/categories` as the path segment.
- **Search by emoji name** → `/search?q={substring}` for substring matching on emoji names. Use when the user has a specific emoji in mind rather than browsing by category.
## Pitfalls
- Category and group names contain spaces — URL-encode them when used as path segments. `food and drink` becomes `food%20and%20drink`. Some HTTP clients accept bare spaces, but don't rely on it.
- `/categories` and `/groups` return plain string arrays, not objects. The string IS both the display name and the filter value — there is no separate `id` or `slug` field.
- The 8 categories and 37 groups form a two-level hierarchy, not two parallel lists. Every emoji belongs to exactly one group within one category. Fetching only `/categories` gives the top level but misses the subgroups that most filter operations actually use.
## One-line summary for the user
I can list EmojiHub's 8 emoji categories and 37 groups — the exact filter strings you need — in a single unauthenticated call, no key required.