Parse and query CellarTracker data for wine cellar management, inventory analysis, drinking window decisions, purchase history, consumption tracking, wishlist management, and scoring lookups. Uses MCP tools as the primary data source when available, with CSV fallback. Use this skill whenever the user asks about their cellar inventory, wants drinking window guidance, asks about past purchases or consumption history, references their wishlist, needs bottle counts or storage analysis, or asks anything that requires querying their wine collection data. Also trigger when the user says "check my cellar", "what do I have", "what should I drink", "my wishlist", "drinking window", "what have I consumed", "purchase history", or references CellarTracker data. This skill works alongside the wine-purchase-evaluator skill — use both together when evaluating purchases against existing inventory.
This skill enables Claude to parse, query, and cross-reference CellarTracker data for cellar management, purchase decisions, and drinking window guidance.
When MCP tools are available (Claude Code or Claude Desktop), use the following tools for live data:
search_cellar — query current inventory by wine name, region, varietal, producer, etc.drinking_recommendations — get maturity-aware suggestions for what to drinkcellar_stats — overview of cellar composition (counts, categories, regions)purchase_history — full buy history with pricing and retailer infoget_wishlist — current wishlist with notes on why each wine was addedrefresh_data — force a fresh pull from CellarTrackerWhen MCP is not available (Claude.ai Projects), look for uploaded CSV files:
*_latest.csv files (most common)List_20260313_015000.csvEight tables are exported from CellarTracker. Not all will always be available — work with what's present.
| Table | Primary Use | Key Columns |
|---|---|---|
| List | Current cellar inventory | Location, Bin, Price, Valuation, pro scores, drinking window |
| Notes | Tasting notes | Rating, TastingNotes, TastingDate, CScore |
| Purchase | Full buy history | StoreName, Price, PurchaseDate, Quantity, Remaining |
| Consumed | Drinking log | Consumed date, ConsumptionNote, context (who, food, occasion) |
| Availability | Maturity & pro scores | Drinking windows (multiple sources), all professional scores, maturity curves |
| Tag | Wishlists & custom lists | ListName, WinesNotes (why it's on the list) |
| Bottles | Individual bottle records | BottleState, per-bottle notes, combines cellar + consumed |
| Pending | In-transit orders | Same as Purchase but undelivered |
All CT export CSVs share these characteristics:
iWine is the universal join key across all tables1001import csv
with open('List_latest.csv') as f:
reader = csv.DictReader(f)
rows = list(reader)
Cross-reference tables using iWine:
# Example: Match inventory to availability/maturity data
list_by_wine = {row['iWine']: row for row in list_rows}
for avail_row in availability_rows:
cellar_row = list_by_wine.get(avail_row['iWine'])
if cellar_row:
# Now have both inventory location AND maturity data
For full column schemas for all 8 tables, see the schema reference file in references/schema.md.
Load the schema reference when you need to:
The most commonly relevant scores (full list in schema reference):
| Code | Reviewer |
|---|---|
| WA | Wine Advocate (Robert Parker / successors) |
| WS | Wine Spectator |
| AG | Antonio Galloni (Vinous) |
| JR | Jancis Robinson |
| WE | Wine Enthusiast |
| BH | Burghound (Allen Meadows) |
| JS | James Suckling |
| CT | CellarTracker community average |
| MY | User's personal score |
Score display rules:
88.7777...) — round to 1 decimalMY is the user's personal rating — always flag when presentWeb (link) and Sort (numeric) variantsThe Availability table provides the richest maturity data. Key fields:
BeginConsume / EndConsume: Consensus or personal drinking window (date format: M/D/YYYY or YYYY)Source: Where the window comes from — Personal, Community, or a professional reviewer nameAvailable: Maturity percentage (0-1 = approaching peak, ~1 = at peak, >1 = past peak)Bell / Linear / Early / Late / Fast / TwinPeak / Simple: Different maturity curve modelsMaturity interpretation:
Available < 0.3 — Too young, needs significant timeAvailable 0.3-0.7 — Approaching window, can open with decantingAvailable 0.7-1.0 — In window, good to drinkAvailable > 1.0 — Past peak or at tail end of windowWindow source priority: Personal > Professional reviewer > Community
The List table also has BeginConsume/EndConsume as year integers — use these as quick reference, Availability for detail.
The List table's Location and Bin fields map to physical storage. These are example locations — your CellarTracker locations will vary based on your setup:
| Location value | Physical space | Notes |
|---|---|---|
Wine Fridge | Dual-zone fridge | Bin format: row-position (e.g., 1-3 = row 1, slot 3) |
Bar Cabinet | Dark cabinet storage | Bin: Drawer 1, Drawer 2, Shelf Rack |
Rack | Floor racks | Usually no bin specified |
Boxed | Still in shipping box | Overflow / recently arrived |
Cellar | Generic / unspecified | May need location update |
# Active cellar size (exclude pending)
cellar_count = sum(int(row['Quantity']) for row in list_rows)
Report against your cellar capacity targets when known.
# Group by color, region, varietal, etc.
from collections import Counter
by_color = Counter(row['Color'] for row in list_rows)
by_region = Counter(row['Region'] for row in list_rows)
by_varietal = Counter(row['MasterVarietal'] for row in list_rows)
When checking if a new wine would be redundant:
Combine List + Availability to find what should be opened soon:
Available > 1.0 — Past peak, drink ASAPEndConsume year <= current year — Window closingRack — Already in drink-soon storagePurchase table tracks all historical buys:
Price = cost per bottle in USDRemaining vs Quantity shows consumption rateStoreName tracks where bottles were sourcedOrderNumber sometimes has context (e.g., "Gift from Liz")Tag table with ListName = *Wishlist:
WinesNotes often has context on why it was added (e.g., "Reddit QPR white burgundy", "Konstantin Baum best wines of 2025")When evaluating purchases, this skill provides:
search_cellar MCP tool or List CSVget_wishlist MCP tool or Tag CSVpurchase_history MCP tool or Purchase CSVWhen presenting cellar data: