feat(i2s-recherche): extract from monolith
Step 7 of i2s-skill-split refactor. Fourth atomic sub-skill — first one that uses external tools (WebFetch, WebSearch). Contents: - SKILL.md: 6 numbered phases (load + frame questions, show + stadt-frage, web-research, report, v0.2-vorschlaege, export) with entry/exit. description includes anti-trigger to compound-engineering:ce-web-researcher for non-Idea2Self research. - workflows/recherche.md: 6-step workflow with two cluster schemas (Problem / Zielgruppe). git mv from monolith, paths updated to local refs. - references/kommunikationsregeln.md: curated extract with recherche-specific dialog heuristics (no source halluci- nation, source-conflict-handling, scope-recovery). - references/recherche-regeln.md: full curated extract - einfache vs tiefe recherche table, quellen-qualitaet pflichten (min 2 unabh quellen, primaer > sekundaer, datum-pflicht), widerspruchs-handling, stadt-spezifische recherche, output- schema pro frage, anti-patterns. - references/recherche-report-format.md: curated markdown schema for ## Recherche-Report sektion with full filled example. Tools include WebFetch + WebSearch (the recherche actually hits the web). Read, Write, Edit, Glob, Grep, AskUserQuestion, TodoRead, TodoWrite round out the set. Precondition: ## Problem-Statement + ## Persona both required. Output: ## Recherche-Report + optional v0.2-updates to PS and Persona (only on explicit user confirmation).
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# Kommunikationsregeln — i2s-recherche (curated extract)
|
||||
|
||||
Curated from `plugin-shared/kommunikationsregeln.md`. Recherche-Workflow-relevante Regeln.
|
||||
|
||||
<tonality>
|
||||
Nuechtern, sachlich, ruhig. Keine motivierenden Formulierungen, keine Emojis. Bei Quellen-Zitaten: knapp und nachpruefbar. Alltagssprache fuer Synthesen, Fachbegriffe nur wenn unvermeidbar.
|
||||
</tonality>
|
||||
|
||||
<message_format>
|
||||
- Max. 3-4 Saetze pro Nachricht im Dialog.
|
||||
- Recherche-Ankuendigung: 1 Satz, dann zu den Treffern.
|
||||
- Findings pro Frage: 2-4 Saetze + Quellen-Block (Titel/URL/Datum).
|
||||
- Fortschrittsanzeige: "[Phase X] von 6".
|
||||
</message_format>
|
||||
|
||||
<kennzeichnung>
|
||||
| Marker | Bedeutung |
|
||||
|--------|-----------|
|
||||
| _(Recherche: <kurzquelle>)_ | Aus Web-Recherche mit konkreter Quelle |
|
||||
| _(Quelle gealtert)_ | Marktdaten > 2 Jahre oder Verhaltens-Studien > 5 Jahre |
|
||||
| _(Widerspruch: <Quelle A> vs <Quelle B>)_ | Mehrere Quellen, divergente Aussagen |
|
||||
| _(Update aus Recherche, [Datum])_ | Rueckwaerts-Update auf PS/Persona |
|
||||
| _(Vorschlag)_ | KI-Synthese, nicht direkt gequellt |
|
||||
</kennzeichnung>
|
||||
|
||||
<steuerbefehle>
|
||||
| Befehl | Aktion |
|
||||
|--------|--------|
|
||||
| Zurueck | Vorherige Phase / vorherige Recherche-Frage |
|
||||
| Frage ersetzen | In Phase 2: eine der 4-6 Fragen austauschen |
|
||||
| Mehr Quellen | Zu einer Frage zusaetzliche Quellen suchen |
|
||||
| Reicht | Recherche-Phase 3 abbrechen, Report aus dem bisherigen Stand |
|
||||
| Weiter | Naechste Phase |
|
||||
</steuerbefehle>
|
||||
|
||||
<dialog_heuristiken_recherche>
|
||||
- **Keine Quelle, aber Vermutung:** explizit "Keine belastbare Quelle gefunden. Vermutung: [...] _(Vorschlag)_". Nicht stillschweigend behaupten.
|
||||
- **Quellen-Conflict:** beide nennen, Datum vergleichen, neuere Quelle hoeher gewichten — wenn beide aktuell: als Widerspruch markieren.
|
||||
- **Quellen-Halluzination vermeiden.** Nur Quellen zitieren, die tatsaechlich via WebSearch/WebFetch gefunden wurden. URL muss aufrufbar sein.
|
||||
- **Recherche scopen.** Wenn Recherche-Fragen sich zu breit oeffnen (z.B. "Marktdaten zu allem"): zurueck zur PS-Annahme und enger fokussieren.
|
||||
- **Interview-Orte konkret.** Nicht "irgendwo in der Stadt", sondern: Stadtteil, Veranstaltung, Online-Gruppe (mit URL).
|
||||
</dialog_heuristiken_recherche>
|
||||
|
||||
<export_rule>
|
||||
Phase 6 schreibt `## Recherche-Report` Sektion plus optionale v0.2-Updates auf `## Problem-Statement` und `## Persona`. Updates NUR nach expliziter Nutzer-Bestaetigung. Schema: `references/recherche-report-format.md`.
|
||||
</export_rule>
|
||||
|
||||
---
|
||||
|
||||
**Master version:** `plugin-shared/kommunikationsregeln.md`. Drift-check via `plugin-shared/drift-check.sh`.
|
||||
@@ -0,0 +1,81 @@
|
||||
# Recherche-Regeln — i2s-recherche (curated extract)
|
||||
|
||||
Curated from `plugin-shared/recherche-regeln.md`. Qualitaets- und Tiefen-Regeln fuer die Web-Recherche-Phase.
|
||||
|
||||
## Wann einfache, wann tiefe Recherche
|
||||
|
||||
| Trigger | Recherche-Tiefe | Tool |
|
||||
|---------|-----------------|------|
|
||||
| Einzelne Begriffsklaerung (z.B. "Was ist Co-Working?") | einfach, inline | `WebSearch` 1-2 Treffer |
|
||||
| Marktdaten / Verbreitung / Trend | tief, separater Workflow | `WebSearch` + `WebFetch` mehrere Quellen |
|
||||
| Bestehende Loesungen / Workarounds | tief | `WebSearch` mit Anbieter-Namen, `WebFetch` deren Seiten |
|
||||
| Zielgruppen-Aufenthaltsorte | tief, Stadt-spezifisch | lokale Verzeichnisse + Veranstaltungsseiten |
|
||||
| Verhaltens-Studien / Forschung | tief | wissenschaftliche Quellen bevorzugt |
|
||||
| Wettbewerbs-Deep-Dive | **out-of-scope** | nicht durchfuehren — Status quo == Wettbewerb |
|
||||
|
||||
## Quellen-Qualitaet
|
||||
|
||||
### Pflichten
|
||||
|
||||
- **Mindestens 2 unabhaengige Quellen** fuer zentrale Behauptungen (zentral = beeinflusst PS/Persona-Update).
|
||||
- **Primaerquellen vor Sekundaerquellen.** Statistisches Bundesamt > Branchen-Newsletter. Anbieter-Homepage > Blog-Review.
|
||||
- **Datum erfassen + pruefen:**
|
||||
- Marktdaten: max **2 Jahre** alt.
|
||||
- Verhaltens-Studien: max **5 Jahre** alt.
|
||||
- Faktische Daten (Geografie, demografische Strukturen): keine Altersgrenze, aber Quelle muss zitierbar bleiben.
|
||||
- **URL muss aufrufbar sein.** Keine Quellen-Halluzination. Wenn ein Treffer nicht via `WebFetch` ladbar ist: ausschliessen.
|
||||
|
||||
### Verzicht
|
||||
|
||||
- **Reddit / Twitter-Threads** nur als Indikator, nie als alleinige Quelle.
|
||||
- **Werbe-Sponsored-Content** ausschliessen (oft mit "Anzeige" oder "Promoted" markiert).
|
||||
- **KI-generierte Listicles** (typisch: "Top 10 X in 2024") nicht als Primaerquelle nutzen — oft Recycling ohne Recherche.
|
||||
|
||||
## Widerspruchs-Handling
|
||||
|
||||
Wenn 2+ Quellen widersprechen:
|
||||
|
||||
1. Beide nennen + Datum vergleichen — neuere Quelle hoeher gewichten.
|
||||
2. Wenn beide aktuell: `_(Widerspruch: <Quelle A> vs <Quelle B>)_` markieren im Report.
|
||||
3. Bei zentraler Behauptung: **dritte Quelle** suchen.
|
||||
4. Bei weiterhin offenem Widerspruch: als `## Offene Punkte` in idea2self-Datei.
|
||||
|
||||
## Stadt-spezifische Recherche
|
||||
|
||||
Pflichtfrage in Phase 2: "In welcher Stadt planst du Gespraeche mit deiner Zielgruppe?"
|
||||
|
||||
Bei Stadt bekannt:
|
||||
- **Lokale Veranstaltungen** suchen (Stadt-Webseite + Eventbrite + Meetup).
|
||||
- **Lokale Online-Gruppen** suchen (Stadt-Reddit, lokale Facebook-Gruppen, Nebenan.de).
|
||||
- **Lokale Anbieter** als Wettbewerber-Proxy (nicht als Wettbewerb fuer Pricing, sondern fuer Verhalten der Zielgruppe).
|
||||
- **Proxy-Gruppen:** wer ist nicht direkte Zielgruppe, aber regelmaessig im Kontakt mit ihr (Hausverwaltungen, Vereinsvorstaende, lokale Journalisten).
|
||||
|
||||
## Output pro Recherche-Frage
|
||||
|
||||
```markdown
|
||||
**Frage:** [Originalfrage aus Phase 2]
|
||||
|
||||
**Ergebnis:** [2-4 Saetze, Synthese aus Quellen]
|
||||
|
||||
**Quellen:**
|
||||
- [Titel] — [URL] — [Datum] — [Quellen-Typ: primaer/sekundaer]
|
||||
- [Titel] — [URL] — [Datum] — [Quellen-Typ]
|
||||
|
||||
**Einfluss auf PS:** [Konkrete Auswirkung, oder "keine"]
|
||||
**Einfluss auf Persona:** [Konkrete Auswirkung, oder "keine"]
|
||||
**v0.2-Vorschlag:** [Konkreter Aenderungstext, oder "keiner"]
|
||||
```
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
| Anti-Pattern | Korrektur |
|
||||
|--------------|-----------|
|
||||
| "Studien zeigen..." ohne konkrete Studie | Studie nennen oder Behauptung streichen |
|
||||
| Sekundaer-Zitat ohne Primaerquellen-Check | Primaerquelle nachschlagen oder als _(ungeklaert)_ markieren |
|
||||
| Mehrere Treffer als "Quellen" gezaehlt, die alle auf dieselbe Studie verweisen | nur als 1 Quelle zaehlen |
|
||||
| Recherche zu Idee statt zu Problem/Persona | zurueck zum PS-Anker — "was sagt das ueber Annas Verhalten?" |
|
||||
| Auslassen der Stadt-Frage | nicht erlaubt; Phase 2 muss sie stellen |
|
||||
|
||||
---
|
||||
|
||||
**Master version:** `plugin-shared/recherche-regeln.md`. Drift-check via `plugin-shared/drift-check.sh`.
|
||||
@@ -0,0 +1,102 @@
|
||||
# Recherche-Report-Format — i2s-recherche (curated extract)
|
||||
|
||||
Curated from `plugin-shared/export-formate.md` — `<recherche_report_format>` block.
|
||||
|
||||
## Schema fuer `## Recherche-Report` Sektion
|
||||
|
||||
```markdown
|
||||
## Recherche-Report
|
||||
|
||||
_Version V1 vom [Datum]_
|
||||
_Stadt fuer Interviews: [Stadt]_
|
||||
_Vorgaengerversion: [V<n-1> vom <Datum>] / Keine - Neuerstellung_
|
||||
|
||||
### Auf einen Blick
|
||||
- **Problem:** [Wichtigste Erkenntnis, 1-2 Saetze]
|
||||
- **Zielgruppe:** [Wichtigste Erkenntnis, 1-2 Saetze]
|
||||
- **Interview-Setup:** [Wichtigste Erkenntnis zu Orten / Proxy, 1 Satz]
|
||||
|
||||
### Problem-Recherche
|
||||
|
||||
#### Frage 1: [Frage]
|
||||
- **Ergebnis:** [Synthese 2-4 Saetze]
|
||||
- **Quellen:**
|
||||
- [Titel] - [URL] - [Datum] - [primaer/sekundaer]
|
||||
- [Titel] - [URL] - [Datum] - [primaer/sekundaer]
|
||||
- **Einfluss auf PS:** [konkret, oder "keine"]
|
||||
- **v0.2-Vorschlag:** [konkreter Aenderungstext, oder "keiner"]
|
||||
|
||||
#### Frage 2: [Frage]
|
||||
[analog]
|
||||
|
||||
#### Frage 3: [Frage]
|
||||
[analog]
|
||||
|
||||
### Zielgruppen-Recherche
|
||||
|
||||
#### Frage 4: [Frage]
|
||||
- **Ergebnis:** [Synthese]
|
||||
- **Quellen:** [Liste]
|
||||
- **Einfluss auf Persona:** [konkret, oder "keine"]
|
||||
- **v0.2-Vorschlag:** [konkreter Aenderungstext, oder "keiner"]
|
||||
|
||||
#### Frage 5: [Frage]
|
||||
[analog]
|
||||
|
||||
#### Frage 6: [Frage]
|
||||
[analog]
|
||||
|
||||
### Interview-Vorbereitung
|
||||
|
||||
#### Konkrete Orte / Proxy-Gruppen in [Stadt]
|
||||
1. **[Ort/Gruppe]** ([URL falls online]) — passt zu Persona-Aspekt: [...]. Ansprache-Hinweis: [...].
|
||||
2. **[Ort/Gruppe]** ([URL]) — [analog]
|
||||
3. **[Ort/Gruppe]** ([URL]) — [analog]
|
||||
|
||||
#### Ansprache-Vorschlag (1-2 Saetze)
|
||||
[Wie wird die Zielgruppe angesprochen? Welche Worte werden vermieden? Was zieht?]
|
||||
|
||||
### Widersprueche & offene Punkte
|
||||
|
||||
- _(Widerspruch: <Quelle A> vs <Quelle B>)_ — [kurze Beschreibung] - **Status:** offen / dritte-Quelle-bestellt / akzeptiert
|
||||
- [ ] [Weitere offene Punkte aus dem Recherche-Workflow]
|
||||
```
|
||||
|
||||
## Schreibregeln
|
||||
|
||||
1. **Versions-Header** mit Vorgaengerversion + Stadt.
|
||||
2. **"Auf einen Blick"** ist Pflicht — 3 Bullets, je 1-2 Saetze. Wenn Recherche zu einer Cluster-Frage keine belastbare Aussage zulaesst: "Keine belastbaren Quellen gefunden, Frage bleibt offen".
|
||||
3. **Pro Frage** mindestens 2 Quellen, ausser explizit "Keine belastbaren Quellen".
|
||||
4. **Quellen-Format** durchgaengig `[Titel] - [URL] - [Datum] - [primaer/sekundaer]`. Keine bare URLs ohne Kontext.
|
||||
5. **Interview-Vorbereitung** Pflicht: mindestens 3 Orte/Proxy-Gruppen + Ansprache-Vorschlag.
|
||||
6. **v0.2-Vorschlaege** sind die Bruecke zu Phase 5 — auch wenn keine Aenderung noetig: explizit "keiner".
|
||||
7. **Widersprueche** in eigener Sub-Sektion am Ende, nicht in den Findings versteckt.
|
||||
|
||||
## Beispiel (auszug)
|
||||
|
||||
```markdown
|
||||
## Recherche-Report
|
||||
|
||||
_Version V1 vom 2026-05-19_
|
||||
_Stadt fuer Interviews: Leipzig_
|
||||
_Vorgaengerversion: Keine - Neuerstellung_
|
||||
|
||||
### Auf einen Blick
|
||||
- **Problem:** Tausch in Mehrfamilienhaeusern findet ueberwiegend gar nicht statt — wenige Whatsapp-Gruppen-Initiativen scheitern an Pflege-Aufwand. _(Recherche: NABU-Studie 2024, nebenan.de Blog 2023)_
|
||||
- **Zielgruppe:** Mieter Mitte 30 mit Kind nutzen Whatsapp aktiv, sind aber bei neuen Apps zurueckhaltend. Lokale Veranstaltungen (Strassenfeste) sind echte Trefferpunkte.
|
||||
- **Interview-Setup:** 3 Hausverwaltungen in Suedvorstadt offen fuer Pilot, 2 Strassenfeste in den naechsten 6 Wochen.
|
||||
|
||||
### Problem-Recherche
|
||||
|
||||
#### Frage 1: Gibt es Hinweise, dass Tauschen in Mehrfamilienhaeusern ein realer Bedarf ist?
|
||||
- **Ergebnis:** Ja. NABU-Studie 2024 (n=2400) zeigt 64% der Befragten waeren bereit zu teilen, aber nur 8% tun es regelmaessig. Hauptgrund: keine Infrastruktur.
|
||||
- **Quellen:**
|
||||
- NABU-Studie "Suffizienz im Alltag" 2024 - https://nabu.de/... - 2024-09 - primaer
|
||||
- nebenan.de Blog "Was Nachbarn voneinander wollen" - https://blog.nebenan.de/... - 2023-11 - sekundaer
|
||||
- **Einfluss auf PS:** Bestaetigt das Beduerfnis. "Infrastruktur fehlt" ist konkreter als das aktuelle PS-Wording.
|
||||
- **v0.2-Vorschlag:** "Beduerfnis nach niedrigschwelliger Tausch-Infrastruktur" statt "Beduerfnis nach lokalen Tauschmoeglichkeiten".
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Master version:** `plugin-shared/export-formate.md`. Drift-check via `plugin-shared/drift-check.sh`.
|
||||
Reference in New Issue
Block a user