vt-c-messegelaende-cleanup¶
Bereinigt und vervollständigt Messegelände-Daten in Airtable anhand der Agent-Recherche-Ergebnisse. Korrigiert Namen, Flächen, identifiziert falsche Einträge und erstellt fehlende Hallen. Verwende diesen Skill wenn Messegelände-Daten geprüft, korrigiert oder vervollständigt werden sollen.
Plugin: core-standards
Category: Other
Command: /vt-c-messegelaende-cleanup
Messegelände-Datenbereinigung¶
Skill zur intelligenten Bereinigung von Messegelände-Daten basierend auf dem Airtable Agent-Feld "agent: detailrecherche zum gelände".
Zweck¶
Analysiert die Agent-generierten Recherche-Texte für jedes Messegelände und: 1. Korrigiert Namen (z.B. Adressen → korrekte Venue-Namen) 2. Vervollständigt Flächen (Innen- und Außenfläche) 3. Identifiziert falsche Einträge (Hallen statt Venues) 4. Erstellt fehlende Hallen mit korrekten Größen 5. Verifiziert Messegesellschaft (Betreiber)
Airtable-Konfiguration¶
Base ID: appiHEZpBUKiob9CD
Tabellen:
- Messegelände: tblczW4qZfe06cd6N
- Hallen: tblDgkc3SdrWYCnh5
- Companies: tbl4U3xdsw3wTdWmI
Schlüsselfelder Messegelände:
- Messegelände (Name): fldhufuHUsPhOaiFU
- Fläche innen: flddKrpmBNRzGhudS
- Fläche Aussen: fldQnNzDueVmdOrV6
- Messegesellschaft: [Link zu Companies]
- agent: detailrecherche zum gelände: [AI Button Feld]
Schlüsselfelder Hallen:
- Hallen-Name: [Primary Field]
- Hallengröße (qm): [Number]
- Messegelände: [Link zu Messegelände]
Workflow¶
Phase 1: Analyse eines einzelnen Messegeländes¶
Für jedes Messegelände den Agent-Text analysieren und strukturierte Korrekturen ableiten:
INPUT: Agent-Recherche-Text für ein Messegelände
OUTPUT: Strukturierte Korrektur-Vorschläge mit Konfidenz-Level
Phase 2: Korrektur-Typen¶
| Typ | Beschreibung | Aktion |
|---|---|---|
| name_correction | Name ist falsch/Adresse statt Name | Umbenennen |
| area_indoor | Innenfläche fehlt/falsch | Aktualisieren |
| area_outdoor | Außenfläche fehlt/falsch | Aktualisieren |
| is_actually_hall | Eintrag ist Halle, nicht Venue | Manuell prüfen |
| missing_halls | Hallen fehlen im System | Anlegen |
| company_rename | Messegesellschaft-Name korrigieren | Umbenennen |
Phase 3: Ausgabeformat (JSON)¶
{
"venue_id": "recXXX",
"venue_name": "Aktueller Name",
"confidence": "high|medium|low",
"changes": [
{
"type": "name_correction",
"old_value": "Avda. Ramón Pradera s/n, 47009 Valladolid",
"new_value": "Feria de Valladolid",
"reason": "Name enthält Adresse statt Venue-Name",
"confidence": "high"
},
{
"type": "area_indoor",
"old_value": 0,
"new_value": 100000,
"unit": "qm",
"reason": "Agent nennt 100.000 m² Innenfläche",
"confidence": "high"
}
],
"new_halls": [
{
"name": "Halle 1",
"size_qm": 10000,
"confidence": "high"
}
],
"manual_review_needed": false,
"notes": "Alle Änderungen automatisiert durchführbar"
}
Entscheidungslogik¶
Namenskorrektur erkennen¶
WENN Name enthält:
- Vollständige Adresse (Straße + PLZ + Ort)
- Nur PLZ und Ort
- Koordinaten
- "N/A" oder Platzhalter
DANN: name_correction vorschlagen
Flächenextraktion¶
Aus Agent-Text extrahieren:
- "X m² Hallenfläche/Innenfläche/Ausstellungsfläche" → area_indoor
- "X m² Außen-/Freigelände" → area_outdoor
Validierung:
- Innenfläche typisch: 10.000 - 500.000 m²
- Außenfläche typisch: 5.000 - 100.000 m²
- WARNUNG wenn Außen > Innen (untypisch)
"Ist eigentlich Halle" erkennen¶
POSITIV (ist Halle):
- "ist eine Halle innerhalb von..."
- "gehört zum Messegelände..."
- "ist Teil des Geländes..."
- "ist kein eigenständiges Venue"
NEGATIV (ist NICHT Halle - IGNORIEREN):
- "Teil des offiziellen Namens"
- "interne ID"
- "Datensatz-ID"
- "Firmenbezeichnung"
Hallen erkennen¶
Im Agent-Text suchen nach:
- Aufzählungen mit "Halle X" oder "Hall X"
- Größenangaben in m² oder qm
- Tabellen mit Hallen-Übersichten
Format: "Halle 1: 10.000 m²" → {name: "Halle 1", size_qm: 10000}
Konfidenz-Level¶
| Level | Bedeutung | Aktion |
|---|---|---|
| high | Eindeutige Information im Agent-Text | Automatisch anwenden |
| medium | Plausible Interpretation | Automatisch anwenden mit Logging |
| low | Unsicher/widersprüchlich | Manuell prüfen vor Anwendung |
Batch-Verarbeitung¶
Schritt 1: Alle Messegelände laden¶
Schritt 2: Pro Messegelände analysieren¶
for venue in venues:
agent_text = venue["agent: detailrecherche zum gelände"]["value"]
corrections = analyze_venue(agent_text, venue)
if corrections["confidence"] in ["high", "medium"]:
apply_corrections(corrections)
else:
add_to_manual_review(corrections)
Schritt 3: Report generieren¶
Ausgabe als Markdown mit: - Erfolgreich korrigierte Venues - Neu angelegte Hallen - Umbenannte Messegesellschaften - Zur manuellen Prüfung
Sicherheitsmaßnahmen¶
- Dry-Run-Modus: Erst alle Änderungen sammeln, dann bestätigen lassen
- Rollback-Log: Alte Werte speichern für Wiederherstellung
- Rate-Limiting: 0.25s zwischen API-Aufrufen
- Konfidenz-Filter: Low-Confidence nie automatisch anwenden
Verwendung¶
Option A: Python-Skript mit Claude API¶
Das Skript /tmp/cleanup_with_claude.py analysiert den existierenden Agent-Text direkt mit Claude:
# Anthropic API Key setzen
export ANTHROPIC_API_KEY='sk-ant-...'
# Dry-Run (nur Report)
python3 /tmp/cleanup_with_claude.py --dry-run
# Einzelnes Venue testen
python3 /tmp/cleanup_with_claude.py --venue recXXX --dry-run
# Änderungen anwenden
python3 /tmp/cleanup_with_claude.py --apply
Vorteile: - Nutzt existierendes "agent: detailrecherche zum gelände" Feld - Kein zusätzliches Airtable-Feld nötig - Volle Kontrolle über den Analyseprozess
Nachteile: - Erfordert Anthropic API Key - Kosten pro Analyse (~$0.02 pro Venue mit Claude Sonnet)
Option B: Airtable Agent-Feld¶
Ein neues AI Button Feld in Airtable erstellen (siehe Setup-Anleitung):
# Nach Agent-Ausführung in Airtable:
python3 /tmp/apply_cleanup_suggestions.py --dry-run
python3 /tmp/apply_cleanup_suggestions.py --apply
Vorteile: - Ergebnisse direkt in Airtable sichtbar - Keine lokale API-Konfiguration nötig
Nachteile: - Zusätzliches Feld in Airtable erforderlich - Airtable AI Credits werden verbraucht
Skripte¶
| Skript | Zweck |
|---|---|
/tmp/cleanup_with_claude.py |
Analyse mit Claude API |
/tmp/apply_cleanup_suggestions.py |
Anwendung von Airtable Agent-Ergebnissen |