Generiert qualitativ hochwertige YAML-Knowledge-Dokumente fuer die RAG-Vektordatenbank (spec/knowledge/rag/). Recherchiert Themen gruendlich und erzeugt fachlich korrekte, chunked, retrieval-optimierte Dokumente. Nutze diesen Skill wenn neue Wissensdokumente zu Pflanzenpflege, Duengung, Diagnostik, Umweltsteuerung, Outdoor-Anbau oder Bewaesserung erstellt werden sollen.
Erzeuge ein qualitativ hochwertiges YAML-Knowledge-Dokument fuer die Kamerplanter RAG-Vektordatenbank.
Diese Dokumente werden vom KnowledgeIngestor (src/backend/app/domain/engines/knowledge_ingestor.py)
eingelesen, in Chunks zerlegt, embedded und in TimescaleDB/pgvector indexiert. Sie bilden die
Wissensgrundlage fuer den KI-Assistenten (REQ-031).
Parse $ARGUMENTS nach:
allgemein, bewaesserung, diagnostik, duengung, outdoor, phasen, umwelt. Falls nicht angegeben, aus dem Thema ableiten.beginnerintermediateexpertFalls das Thema unklar oder zu breit ist, frage den Nutzer nach Praezisierung.
spec/knowledge/rag/ (Glob spec/knowledge/rag/**/*.yaml)Fuehre eine gruendliche Recherche zum Thema durch:
Interne Quellen pruefen:
spec/req/ (Grep nach Themen-Keywords)src/backend/seeds/ (botanische Referenzdaten)Externe Quellen recherchieren:
Fakten verifizieren:
Plane die Chunk-Struktur. Jeder Chunk wird separat embedded — daher gelten folgende Regeln:
Selbsterklaerend: Jeder Chunk muss OHNE Kontext der anderen Chunks verstaendlich sein. Ein Chunk darf nicht mit "Wie oben erwaehnt..." beginnen oder auf andere Chunks verweisen.
Ein Thema pro Chunk: Jeder Chunk beantwortet genau EINE Frage oder erklaert genau EIN Konzept. Nicht: "VPD-Berechnung und Zielwerte und Messung" — sondern 3 separate Chunks.
Retrieval-optimiert: Der Titel und die ersten 2-3 Saetze muessen die wichtigsten Keywords enthalten, da diese fuer die Embedding-Qualitaet entscheidend sind. Fachbegriffe sowohl deutsch als auch englisch benennen (z.B. "Dampfdruckdefizit (VPD, Vapor Pressure Deficit)").
Chunk-Laenge: 150-400 Woerter pro Chunk. Zu kurz = zu wenig Kontext fuer sinnvolle Antwort. Zu lang = Embedding wird verwaschen, Praezision leidet.
Praxis zuerst: Jeder Chunk soll praktisch anwendbares Wissen enthalten, nicht nur Theorie. Konkrete Zahlen, Dosierungen, Handlungsanweisungen.
Abgrenzung/Differenzialdiagnose: Bei diagnostischen Themen IMMER abgrenzen ("NICHT verwechseln mit...", "Abgrenzung zu..."). Verwechslungen sind die haeufigste Fehlerquelle in der RAG-Antwort.
Kamerplanter-Referenz: Wo sinnvoll, einen Bezug zum Kamerplanter-System herstellen (welches Feature/REQ relevant ist). Das erhoeht die Antwortqualitaet wenn Nutzer systemspezifische Fragen stellen.
- id: kebab-case-eindeutig # Einzigartig innerhalb der Datei
title: Praegnanter Titel # 5-10 Woerter, keyword-reich
content: | # Multiline YAML Block-Scalar
Erklaerungstext...
Konkrete Werte/Dosierungen...
Praxis-Tipps...
Kamerplanter-Referenz (optional)...
metadata: # Strukturierte Daten fuer Retrieval-Enrichment
topic: snake_case_topic # Hauptthema (wird in Embedding angereichert)
# Weitere Key-Value-Paare je nach Thema (Zahlen, Ranges, Enums)
Diese Keys werden automatisch als "key: value" ans Embedding angehaengt:
nutrient, symbol, deficiency_type, affected_leaves, severity_indicator, type, trigger, approachWeitere Metadata-Felder sind frei waehlbar und werden als JSON gespeichert (nicht embedded),
aber sind fuer zukuenftige Filter-Queries nuetzlich. Verwende numerische Ranges als Strings
(z.B. "5.8-6.2") und Listen fuer Multi-Value-Felder.
Schreibe die YAML-Datei nach spec/knowledge/rag/{category}/{kebab-case-dateiname}.yaml.
---