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

4.8 KiB
Raw Blame History

name, description
name description
shopping 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.