A Claude Code skill that picks wines from a restaurant menu based on your personal taste profile and Vivino history.
You send a photo, link, or text of a wine list. WineSelect returns 3 ranked picks in seconds — filtered against grapes you dislike, prioritized toward grapes you want to explore, cross-checked against live Vivino ratings, and tied back to your own past scores.
your wine list (photo / link / text)
↓
Step 1: Load your taste profile
(liked · disliked · neutral · want-to-try grapes + regions)
↓
Step 2: Read the menu
(photo OCR · WebFetch · direct text)
↓
Step 3: Filter + rank
┌─────────────────────────────────────┐
│ ✗ Eliminate disliked grapes │
│ ✗ Eliminate neutral grapes │
│ 🎯 Prioritize want-to-try grapes │
│ 🆕 Surface unknown grape varieties │
│ ✅ Favor liked grapes │
│ 🌍 Bonus: preferred regions │
│ ⭐ Live Vivino rating check │
└─────────────────────────────────────┘
↓
Step 4: Return 3 picks
(grape · region · ABV · why you'll like it)
↓
Step 5: Vivino sync (silent, desktop only)
(new ratings → auto-written to your profile)
🍷 WINE PICKS
📍 Restaurant Name
#1 — Wine Name (Grape — Region/Country)
🎯 Want to try
ABV: 13.5% | Vivino: 4.1
Why: You rated two Etna Rossos above 4.0 — this is the same volcanic style.
#2 — Wine Name (Grape — Region/Country)
🆕 New variety
ABV: 14.0% | Vivino: 3.8
Why: From South Africa, a region you consistently rate highly for reds.
#3 — Wine Name (Grape — Region/Country)
✅ Favorite grape
ABV: 13.0% | Vivino: 3.9
Why: Syrah from the Rhône — matches your top-rated profile exactly.
🥂 Drinking order (low → high ABV):
1. Wine Name 13.0%
2. Wine Name 13.5%
3. Wine Name 14.0%
💡 Interesting fact about one of the picks.
---
Rate this recommendation: ws0 (skipped) ws1 ws2 ws3 ws4 ws5
| Step | What happens |
|---|---|
| Load profile | Reads your wine-profile.md — grapes you like, dislike, want to try, and your Vivino rating history |
| Read menu | Accepts a photo, URL, or pasted text. Looks up grape variety via web search if not listed |
| Filter | Removes disliked and neutral grapes. Never suggests what you've already ruled out |
| Rank | Prioritizes want-to-try grapes first, then unknowns, then favorites. Region is a tiebreaker, not a filter |
| Vivino check | Pulls live community ratings for each candidate. Below 3.0 gets deprioritized. Missing rating is not penalized |
| Output | 3 picks with grape, region, ABV, and a one-line reason tied to your past ratings |
| Rate | ws0–ws5 logs recommendation quality (not the wine). Helps track if suggestions are actually useful |
| Vivino sync | Runs silently on every call. Detects new Vivino ratings and writes them into your profile automatically |
Invoke /wineselect followed by a wine list.
Photo from your phone:
/wineselect [attach photo of wine list]
Menu URL:
/wineselect https://restaurant.com/wine-list
Pasted text:
/wineselect Syrah 2021 · Pinot Noir 2020 · Cabernet Franc 2019 · Grenache 2022 · Riesling 2021
Then rate the recommendation quality:
ws1 ws2 ws3 ws4 ws5
ws0 = I didn't try any of them · ws5 = perfect pick
wine-profile-template.md is the knowledge base WineSelect reads at every call.
It contains:
- Grapes you like, dislike, are neutral about, and want to try — for Red, White, and Rosé
- Preferred regions (used as a tiebreaker, not a hard filter)
- Your full Vivino rating history (synced automatically in Step 5)
What's in the profile is what gets used. The more complete it is, the more personal the picks.
| File | Description |
|---|---|
wineselect.md |
The Claude Code skill |
wine-profile-template.md |
Your personal taste profile — fill in your own data |
- Claude Code with a skill plugin (e.g. Superpowers)
- An Obsidian vault or any folder Claude can read/write
- Chrome MCP (optional — for live Vivino rating lookup and Vivino sync)
- Telegram bot (optional — for mobile use and ws0–ws5 rating flow)
- Place
wineselect.mdin your Claude Code skills folder - Copy
wine-profile-template.mdto your vault — fill in your grape preferences - Replace placeholders in
wineselect.md:
| Placeholder | Replace with |
|---|---|
YOUR_VAULT_PATH |
Absolute path to your vault or notes folder |
YOUR_FALLBACK_PATH |
Backup path if primary is unavailable |
YOUR_LOG_PATH |
Where you want logs saved |
YOUR_VIVINO_USERNAME |
Your Vivino profile username |
Created by Serhat Kücükler