Files
mop-skills/skills/shopping/SKILL.md
T

87 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: shopping
description: Intelligent shopping advisory, price comparisons across German supermarkets (Edeka, Rewe, Aldi, Lidl, Kaufland, Netto, Penny, dm, Rossmann), Geizhals retail best prices & price history, and eBay marketplace searches. Use when the user asks for shopping advice, supermarket offers (e.g. Mutti/Oro Tomatensaucen, Windeln Größe X, Vorratskäufe), price checks, or second-hand/refurbished deals.
---
# 🛒 Smart Shopper & Vorrats-Concierge
Comprehensive shopping advisor for the Graf family. Combines live German supermarket weekly brochures (Regensburg default), Geizhals retail price comparison & price histories, and eBay marketplace searches.
---
## 🛠️ MCP Tools Overview
### 1. Supermarket & Grocery Deals (`supermarket`)
- **`supermarket_search(query, city="Regensburg", lat=49.0134, lng=12.1016)`**:
- Searches live weekly offers and digital brochures across Edeka, Rewe, Aldi Süd, Lidl, Kaufland, Netto Marken-Discount, Penny, dm, Rossmann, V-Markt, Müller.
- Returns price in EUR, retailer, brand, validity dates, distance in km, and brochure page.
- **`supermarket_compare_staples(staples=["Mutti", "Oro di Parma"], city="Regensburg")`**:
- Batch search for multiple staple brands or product categories to compare discounts across all local supermarkets in one view.
### 2. Retail Price Comparison & History (`geizhals`)
- **`geizhals_search(query, country="de", limit=8)`**:
- Full-text search across Geizhals.de (and .at). Returns the best price, average price, offer count across all web shops, cheapest shop name, star ratings, and test review count & metascore.
- **`geizhals_price_history(product_id, days=31, country="de")`**:
- Analyzes 31, 91, 183, or 365-day price trends. Reports `period_min_price`, `current_best_price`, and flags if it is an `is_all_time_low`.
### 3. Marketplace & Second-Hand (`ebay`)
- **`ebay_search(query, condition, buying_format, min_price, max_price, limit=10)`**:
- Searches eBay.de using the official Browse API. Supports filtering by condition (`used`/`refurbished`/`new`) and buying format (`fixed_price`/`auction`).
- **`ebay_get_item(item_id)`**:
- Fetches listing details, photos, location, and seller reputation.
---
## 🍅 Vorratskauf & Supermarkt Protocol
When the user asks for groceries, weekly offers, or staples to stock up on:
### 1. Multi-Brand / Equivalency Queries (e.g. „Mutti oder Oro Tomatensauce“)
- Always run a comparative search (using `supermarket_compare_staples` or parallel queries).
- Group results by retailer and rank by best price.
- **Price Benchmarks for Staples**:
- **Tomaten / Passata / Polpa (Mutti / Oro di Parma)**:
- Normal: 1,69 € – 1,99 €
- 🟢 **Top-Vorratspreis**: $\le$ 1,10 € (z.B. Netto 0,88 € oder Penny 1,19 €)
- **Marken-Pasta (Barilla / De Cecco)**:
- Normal: 1,89 € – 2,29 €
- 🟢 **Top-Vorratspreis**: $\le$ 0,99 €
- **Kaffee ganze Bohnen (Lavazza, Segafredo, Melitta)**:
- Normal: 14,99 € – 17,99 € / kg
- 🟢 **Top-Vorratspreis**: $\le$ 11,99 € / kg
### 2. Windeln Größe X (Stückpreis-Berechnung)
Windel-Packungsgrößen variieren stark (Single-Pack vs. XXL-Box vs. Monatsbox).
- **Berechne immer den Cent-Preis pro Windel**:
$$\text{Stückpreis} = \frac{\text{Gesamtpreis}}{\text{Stückzahl}} \times 100\ \text{ct}$$
- **Orientierungswerte**:
- **Eigenmarke** (Lupilu / babylove): **11 – 14 ct / Windel**
- **Markenwindeln** (Pampers Baby-Dry): **18 – 24 ct / Windel** (über 26 ct ist teuer)
- Beispiel-Antwort: *„Bei Lidl gibt es Lupilu Gr. 4 (84 Stück) für 10,35 € (12,3 ct/Windel). Bei V-Markt sind Pampers Pants für 6,99 € im Angebot.“*
### 3. Location & Store Distance
- Default location is **Regensburg** (Lat: `49.0134`, Lng: `12.1016`).
- Mention the retailer and approximate distance (e.g. *„Netto Marken-Discount (0,5 km)“* oder *„Penny (1,4 km)“*).
- Mention the validity dates (z.B. *„Gültig bis Samstag, 12.09.“*).
---
## 💻 Tech & Electronics Advisory Protocol
When the user asks whether to buy a gadget, phone, laptop, or appliance:
1. **Model & Quality Check**:
- Inspect `test_reviews_count` and `test_reviews_metascore` in `geizhals_search`.
- If needed, run a quick web search on Stiftung Warentest / Chip / Reddit for common faults.
2. **Timing & Price History Check**:
- Run `geizhals_price_history(product_id)`.
- If `is_all_time_low` is true: *„🟢 Aktuell auf Tiefstpreis-Niveau!“*
- If significantly higher than `period_min_price`: advise waiting or setting a price alert.
3. **Refurbished / B-Ware Option**:
- Query `ebay_search` with `condition="refurbished"` or `"used"` to compare savings against brand-new retail.
---
## 🔗 Presentation Rules
- Follow OpenClaw's SOUL protocol: Hide hyperlinks behind descriptive text (`[Händler (Preis €)](url)`).
- Never send raw search URLs or unverified Google links.