Working…

AI Prompts

Copy-paste prompts for an external agent with its own vision-capable LLM (e.g. GitHub Copilot CLI, Claude Code) to drive the Discover API - see project memory for the staged rollout. Base URL: https://whale.sebastianchristoph.com/

1. Analyze ALL products in one shop (staged for review)

Agent picks a shop itself and posts suggestions - nothing goes live until a human accepts them on that shop's "AI suggestions" page.

Kontext: Du prüfst Produkt-Matches für ein internes Preisvergleichs-Tool (Paula's
Choice Produkte bei verschiedenen Webshops vs. Amazon, zum Schutz der Amazon-Buybox). Die
API-Antwort enthält bereits alle Vergleichsdaten, die du brauchst - kein Vorwissen über unseren
Katalog nötig. Kein Auth/API-Key nötig (Test-Setup, lauscht nur auf dieser internen IP). In
candidates[]: our_score ist NUR ein Hinweis unseres eigenen, schwächeren Text/Bild-Abgleichs,
keine Vorentscheidung - urteile selbst anhand Bild, Titel und Größe. sku_match=true bedeutet
eine exakte interne Artikelnummer-Übereinstimmung (starkes Zusatzsignal, aber kein Automatismus).

1. Ruf GET https://whale.sebastianchristoph.com/api/discover/ready-shops auf und wähle EINEN Shop aus (deine Wahl).

2. Ruf GET https://whale.sebastianchristoph.com/api/discover/{storefront_id}/tasks für diesen Shop auf. tasks[] enthält pro
   Produkt die Referenzwahrheit (product_name, product_size, product_image_url - aus der
   Kunden-CSV) und candidates[] (title, size, image_url, our_score als reiner Hinweis, keine
   Vorentscheidung).

3. Prüfe für JEDES Produkt jeden Kandidaten anhand von drei Signalen:
   - Bild: product_image_url vs. candidate.image_url visuell vergleichen.
   - Titel: inhaltlich dasselbe Produkt, auch bei anderer Formulierung/Sprache.
   - Größe: product_size muss mit der Kandidaten-Größe übereinstimmen.

4. Eindeutiger Treffer: POST https://whale.sebastianchristoph.com/api/discover/{storefront_id}/suggest mit
   {"asin": "...", "url": "...", "title": "...", "image_url": "...",
   "reasoning": "<kurze Begründung>"}. Schreibt NICHTS live, nur ein Vorschlag zur Prüfung.

5. Kein eindeutiger Treffer: Produkt überspringen, kein Call nötig.

6. Für alle Produkte des Shops wiederholen. Am Ende berichten: Shop, Anzahl Vorschläge, Anzahl
   übersprungen.

Ruf NICHTS unter /api/discover/*/accept auf - das übernimmt sofort live, hier geht's nur ums
Vorschlagen. Die Vorschläge landen zur Prüfung unter https://whale.sebastianchristoph.com/storefront/{storefront_id}/ai-suggestions.

2. Analyze ONE random unmatched product (quick spot-test)

Picks a random shop + product, reports back, asks you to confirm in chat before anything is accepted.

Kontext: Du prüfst Produkt-Matches für ein internes Preisvergleichs-Tool (Paula's
Choice Produkte bei verschiedenen Webshops vs. Amazon, zum Schutz der Amazon-Buybox). Die
API-Antwort enthält bereits alle Vergleichsdaten, die du brauchst - kein Vorwissen über unseren
Katalog nötig. Kein Auth/API-Key nötig (Test-Setup, lauscht nur auf dieser internen IP). In
candidates[]: our_score ist NUR ein Hinweis unseres eigenen, schwächeren Text/Bild-Abgleichs,
keine Vorentscheidung - urteile selbst anhand Bild, Titel und Größe. sku_match=true bedeutet
eine exakte interne Artikelnummer-Übereinstimmung (starkes Zusatzsignal, aber kein Automatismus).

1. Ruf GET https://whale.sebastianchristoph.com/api/discover/random-task auf. Die Antwort enthält
   storefront_id, asin, die Referenzwahrheit (product_name, product_size, product_image_url)
   und candidates[] (title, size, image_url, our_score als reiner Hinweis).

2. Prüfe jeden Kandidaten anhand von drei Signalen:
   - Bild: product_image_url vs. candidate.image_url visuell vergleichen.
   - Titel: inhaltlich dasselbe Produkt, auch bei anderer Formulierung/Sprache.
   - Größe: product_size muss mit der Kandidaten-Größe übereinstimmen.

3. Gib mir KEINE automatische Bestätigung. Nenne in deinem Bericht IMMER zuerst Shop-Name,
   storefront_id, ASIN und Produktname, die dir random-task gegeben hat (damit ich das
   nachverfolgen kann) - auch wenn kein Kandidat passt. Berichte dann, ob ein Kandidat eindeutig
   passt (welcher, mit Begründung je Signal) oder keiner passt.

4. Ruf NICHT POST https://whale.sebastianchristoph.com/api/discover/{storefront_id}/accept auf, bevor ich das bestätigt habe.
   Wenn ich bestätige: ruf den accept-Endpunkt mit {"asin": "<ASIN>", "url": "<Kandidaten-URL>",
   "image_url": "<Kandidaten-Bild-URL>", "title": "<Kandidaten-Titel>"} auf - title nicht
   weglassen, es wird als Alias-Name für dieses Produkt gespeichert und hilft beim Identifizieren
   in ANDEREN Shops.

3. Analyze ONE specific product in ONE specific shop

(choose a shop and a product above)