Whisky Search & Information
Search and retrieve whisky information from WhiskySpace database. Use this skill whenever users mention whisky names, brands (Macallan, Glenfiddich, etc.), a...
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
Whisky Search
Query the WhiskySpace API to find whiskies, get details, and explore brands. This skill helps users discover and learn about whiskies by providing structured, accurate data from a comprehensive database.
Core workflow
- Understand intent - Is the user searching for whiskies, getting details on a specific bottle, exploring brands, or discovering filter options?
- Build request - Construct the appropriate API URL with relevant parameters
- Fetch data - Use Bash curl with
-H "Accept: application/json"to query the API - Format output - Present results in a clear, scannable format with clickable links
API endpoints
Search whiskies
GET https://www.whiskyspace.com/api/search
Key parameters:
q- Search queryregion,country,type,cask_type- Filtersmin_age,max_age- Age range (0-100)min_abv,max_abv- ABV range (0-100)min_rating,max_rating- Rating (0-5)sort-rating(default),name,age,price,newestper_page- Max 50, default 20
Get whisky details
GET https://www.whiskyspace.com/api/whiskies/{slug}
Use slug or numeric ID.
List brands
GET https://www.whiskyspace.com/api/brands
Parameters: country, region, sort (name/founded_year/whisky_count), per_page
Get brand details
GET https://www.whiskyspace.com/api/brands/{identifier}
Get filter options
GET https://www.whiskyspace.com/api/search/filters
Returns available regions, countries, types, cask types.
Examples
Search by name:
curl -s "https://www.whiskyspace.com/api/search?q=Macallan&per_page=5" -H "Accept: application/json"
Filter by region and age:
curl -s "https://www.whiskyspace.com/api/search?region=Speyside&min_age=12&max_age=18&sort=rating" -H "Accept: application/json"
Get details:
curl -s "https://www.whiskyspace.com/api/whiskies/macallan-12-year-old" -H "Accept: application/json"
List brands by country:
curl -s "https://www.whiskyspace.com/api/brands?country=Scotland&sort=whisky_count&order=desc" -H "Accept: application/json"
Output format
Present results in a way that helps users quickly scan and find what they need. Include clickable links so users can explore further on the website.
Search results - Show top 5-10 matches. For each whisky include:
- Name and age (e.g., "Glenfiddich 12 Years Single Malt Whisky")
- Key specs: Volume, ABV, rating (X/5 with review count)
- Origin: Brand, region, country
- Price: Amount with currency and date recorded (if available)
- Cask types: List the maturation casks used
- Link:
https://www.whiskyspace.com/whiskies/{slug}
Why this format: Users typically scan by name/age first, then check rating and price. Grouping specs together makes comparison easier across multiple results.
Example output:
Found 10 Glenfiddich 12 year whiskies:
1. **Glenfiddich 12 Years Single Malt Whisky** (700ml, 40% ABV)
- Rating: 3.16/5 (2 reviews)
- Price: €41.74 (recorded 2024-08-27)
- Origin: Glenfiddich, Speyside, United Kingdom
- Casks: Bourbon Casks, Oloroso Sherry
- [View details](https://www.whiskyspace.com/whiskies/0fb1e7488f60806e351d7de2b0a7dc57)
2. **Glenfiddich 12 Years** (700ml, 40% ABV)
- Rating: 3.14/5 (1 review)
- Price: Not available
- Origin: Glenfiddich, Speyside, United Kingdom
- Casks: Bourbon, Oloroso Sherry
- [View details](https://www.whiskyspace.com/whiskies/f9ef7609fd23c5f54b3572cef82b3a36)
Whisky details - When showing a single whisky's full information:
- Header: Name, brand, category (e.g., Single Malt Whisky)
- Specs: Age, ABV, volume
- Quality: Rating (X/5) with review count
- Description: Full product description if available
- Maturation: List all cask types used
- Pricing: Current prices with currency, market, and date recorded
- Link: Direct link to the whisky page
Why this structure: Details pages need more depth than search results. Users come here to learn everything about a specific bottle before purchasing.
Brand list - When showing multiple brands:
- Name and founding year
- Location: Region and country
- Portfolio size: Number of whiskies in database
- Link:
https://www.whiskyspace.com/brand/{id}
Brand details - When showing a single brand's full profile:
- Overview: Name, description, history
- Location: Region, country
- Founded: Year established
- Website: Official URL if available
- Notable attributes: Any special characteristics or awards
Why separate brand list vs details: List view prioritizes scanning and comparison, detail view provides comprehensive background for users researching a specific distillery.
Handling edge cases
No results found: When a search returns empty, suggest alternatives:
- Check spelling of brand/whisky name
- Try broader search terms (e.g., "Macallan" instead of "Macallan 18 Sherry Oak")
- Use filter options to explore similar whiskies from the same region or category
API errors: If the API returns an error or times out:
- Inform the user clearly what went wrong
- Suggest trying again or simplifying the query
- Don't expose raw error messages - translate them into user-friendly language
Missing data: Some whiskies may lack prices, ratings, or descriptions:
- Show "Not available" or "No ratings yet" rather than omitting the field
- This helps users understand the data is incomplete, not that you skipped it
Large result sets: When searches return many matches (50+):
- Show the top 10 by default (sorted by rating)
- Mention total count: "Found 156 results, showing top 10 by rating"
- Suggest filters to narrow down: "Try adding region, age range, or price filters"
Why handle these explicitly: Users get frustrated when searches fail silently or return confusing output. Clear guidance helps them refine their query and succeed on the next attempt.
Notes
- Pricing: Prices may not reflect current market rates. Always show the recorded date so users know how recent the data is
- Ratings: Whiskies with fewer reviews may show less reliable scores
- Authentication: No API key required - all endpoints are publicly accessible
Files
1 totalComments
Loading comments…
