Human overview · for understanding

Névsorrend-őr — a K-X hiba javítása + örök védőháló

"Tisztelt Balint!" → "Tisztelt Budai Bálint!" — és soha többé · 2026-07-07

"Tisztelt Balint!" → "Tisztelt Budai Bálint!" — és soha többé

Master summary — the gist in 30 seconds

TL;DREgy kínos köszönés (Tisztelt Balint!) egy rendszerhibát leplezett le: minden K-X lead nevéről lehullottak az ékezetek, és a köszönés csak keresztnevet használ. Kijavítjuk mind a 92 leadet, és beépítünk egy olcsó Gemini-ellenőrt, ami ezt minden kampány előtt megfogja.

Bemenet: lekapart nevek ékezetek nélkül (Balint, Gabor) + naiv 'keresztnév' köszönés. Kimenet: helyes magyar megszólítás (Tisztelt Budai Bálint!) minden leadnél, és egy kapu, ami küldés előtt ellenőriz.

Why this mattersEgy rossz köszönés az első mondatban lelövi a hidegemail hitelességét. Nem egyszeri baki volt — az egész audienciát érinti, és minden jövőbeli kampányt is, amíg nincs ellenőrzés.
flowchart LR
  A["Lekapart név<br/>Balint / Budai"] --> B{"Névsorrend-őr<br/>(Gemini)"}
  B -->|"egyértelmű"| C["Tisztelt<br/>Budai Bálint!"]
  B -->|"kétes"| D["Emberi<br/>jóváhagyás"]
  C --> E["Feltöltés<br/>Instantly"]
  D --> E

1 · Miért történt (a gyökérok)

TL;DRHárom hiba egyszerre: eltűnt ékezetek, csak-keresztnév köszönés, és semmi ellenőrzés.

Bemenet: LinkedIn/Vayne export ASCII-ra lapítja a neveket (Bálint→Balint). A szöveg 'Tisztelt {{first_name}}'-t ír. Kimenet: 'Tisztelt Balint!' — rossz ékezet ÉS rossz regiszter.

Why it mattersEgyik hiba önmagában is ciki, de a három együtt garantálja a bakit — és mivel nincs kapu, minden lead így megy ki, nem csak Budai úr.
flowchart TD
  X["1. Export lelapítja<br/>az ékezeteket"] --> Z["Tisztelt Balint!"]
  Y["2. Köszönés csak<br/>keresztnevet használ"] --> Z
  W["3. Nincs ellenőrző<br/>kapu feltöltés előtt"] --> Z

2 · Mennyire terjed (mind a 92 lead)

TL;DRNem egy lead — az egész K-X audiencia ékezet nélküli, plusz egy roncsolt sor (13000 | Peter).

Bemenet: extended_tab.csv 92 sora. Kimenet: minden keresztnév ékezet nélkül (Tamas, Gabor, Laszlo…), egy sor teljesen hibás adat.

Why it mattersEz dönti el, hogy nem egy folt kell, hanem teljes újraaudit + újrafeltöltés. Egyetlen lead javítása 91 rossz emailt hagyna futni.
pie showData
  title K-X nevek állapota
  "Ékezet-sérült" : 91
  "Roncsolt sor" : 1

3 · A javítás (élő adat)

TL;DRLeállítjuk a küldést, végigfuttatjuk az őrt, feloldjuk a kéteseket, újratöltjük, élőben ellenőrizzük.

Bemenet: a mostani hibás K-X audiencia. Kimenet: javított nevek + helyes 'Tisztelt Vezetéknév Keresztnév!' megszólítás minden leadnél az Instantlyben.

Why it mattersA küldés szüneteltetése a csere alatt megakadályozza, hogy félig javított állapotban menjenek ki emailek. A végén élő ellenőrzés — nem elég a 'sikeres' log.
flowchart LR
  A["Élő státusz<br/>check"] --> B["Küldés<br/>szünet"]
  B --> C["Őr lefut<br/>92 leaden"]
  C --> D["Kétesek<br/>feloldva"]
  D --> E["Újratöltés"]
  E --> F["Élő<br/>ellenőrzés"]
  F --> G["Folytatás"]

4 · A védőháló (Gemini-őr)

TL;DREgy olcsó Gemini-hívás: ékezet vissza, magyar sorrend, és CSAK a valóban kétes neveket kéri emberhez.

Bemenet: egy lead nyers neve + email. Kimenet: helyreállított ékezet, eldöntött Vezetéknév–Keresztnév sorrend, kész megszólítás — vagy 'kétes' jelölés, ha tényleg nem egyértelmű.

Why it mattersA modell 99.9%-ot elintéz olcsón; a maradék bizonytalanságot nem tippeli meg, hanem megkérdez. Így az emberi kapu sérthetetlen marad, a baki mégis megszűnik.
flowchart TD
  A["Nyers név"] --> B{"Szemét?<br/>(13000, üres)"}
  B -->|igen| R["Elutasít"]
  B -->|nem| C["Gemini:<br/>ékezet + sorrend"]
  C --> D{"Egyértelmű?"}
  D -->|igen| E["Megszólítás kész"]
  D -->|nem| F["name_review_needed.csv<br/>→ ember"]

5 · A globális szabály + a skill

TL;DRÚj invariáns a hub CLAUDE.md-ben, és egy külön skill, ami minden kampányindítás előtt kötelezően ellenőriz.

Bemenet: bármely jövőbeli kampány feltöltés előtt. Kimenet: a köszönés csak akkor mehet, ha átment az őrön; kétes név → megkérdez téged.

Why it mattersA szabály nem az, hogy MINDIG teljes név kell — hanem hogy MINDIG ellenőrizzük. A skill teszi a kaput automatikussá, hogy ne emberi fegyelmen múljon.
flowchart LR
  A["Kampány<br/>indítás"] --> B["campaign-name-guard<br/>skill (kötelező)"]
  B --> C{"Minden név<br/>rendben?"}
  C -->|igen| D["Feltöltés<br/>engedélyezve"]
  C -->|nem| E["Blokk +<br/>kérdés hozzád"]
Teljes technikai handoff →Prompt az Instance 2-nek →