cellartracker-data — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cellartracker-data (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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 dataFor 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:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.