From c56093405f556def1ccd95cf51fbe59577e08609 Mon Sep 17 00:00:00 2001 From: Philipp Sieder <12394266+philippsied@users.noreply.github.com> Date: Tue, 19 May 2026 01:13:18 +0200 Subject: [PATCH] feat(i2s-discovery): extract from monolith Step 4 of i2s-skill-split refactor. First atomic sub-skill extracted from klarheit-mit-idea2self monolith. Contents: - SKILL.md: routing-pattern entry, 5 numbered phases (orientation, vertiefung, widerspruchspruefung, bestaetigung, datei-bootstrap) with entry/exit criteria. Description scoped to discovery triggers with explicit anti-triggers naming sibling i2s-* skills. - workflows/discovery.md: full 5-step interview (git mv from klarheit-mit-idea2self/workflows/discovery-idea.md, rename detection preserved). - references/kommunikationsregeln.md: curated extract from plugin-shared (tonality, markers, control commands, discovery-specific dialog heuristics, export rule). - references/idee-format.md: curated extract from plugin-shared/export-formate.md, idee_format block only. - templates/idea2self-vorlage.md: full copy from plugin-shared (this Skill bootstraps the idea2self-file in Phase 5). Tools: Read, Write, Edit, Glob, Grep, AskUserQuestion, WebFetch, WebSearch, TodoRead, TodoWrite. --- skills/i2s-discovery/SKILL.md | 117 ++++++++++++++++++ .../i2s-discovery/references/idee-format.md | 94 ++++++++++++++ .../references/kommunikationsregeln.md | 61 +++++++++ .../templates/idea2self-vorlage.md | 68 ++++++++++ .../workflows/discovery.md} | 2 +- 5 files changed, 341 insertions(+), 1 deletion(-) create mode 100644 skills/i2s-discovery/SKILL.md create mode 100644 skills/i2s-discovery/references/idee-format.md create mode 100644 skills/i2s-discovery/references/kommunikationsregeln.md create mode 100644 skills/i2s-discovery/templates/idea2self-vorlage.md rename skills/{klarheit-mit-idea2self/workflows/discovery-idea.md => i2s-discovery/workflows/discovery.md} (98%) diff --git a/skills/i2s-discovery/SKILL.md b/skills/i2s-discovery/SKILL.md new file mode 100644 index 0000000..2f016f1 --- /dev/null +++ b/skills/i2s-discovery/SKILL.md @@ -0,0 +1,117 @@ +--- +name: i2s-discovery +description: "Idea2Self Discovery-Interview. Strukturiert eine vage Idee in einem 5-Schritt-Interview (Orientierung, Vertiefung adaptiv nach Ideen-Typ, Widerspruchspruefung, Bestaetigung, Datei-Bootstrap). Loest aus bei 'Discovery-Interview', 'vage Idee strukturieren', 'Idee erfassen', 'neue Idee starten' (wenn aus Router-Hand-off oder direkt), 'meine Idee in eine Datei bringen', 'idea2self-Datei anlegen', 'Idee in Struktur giessen'. NICHT aktivieren bei: 'Idea2Self starten / Sprint / Coaching' (dafuer klarheit-mit-idea2self Router), 'Problem-Statement erstellen' (dafuer i2s-problem-statement), 'Persona erstellen' (i2s-persona), oder wenn bereits eine idea2self-Datei mit ## Idee existiert und der Nutzer iterieren will (dafuer klarheit-mit-idea2self review-iterate). Output: ## Idee Sektion in neuer idea2self-.md Datei. Sprache: Deutsch." +allowed-tools: Read Write Edit Glob Grep AskUserQuestion WebFetch WebSearch TodoRead TodoWrite +--- + +# i2s-discovery — Idea2Self Discovery-Interview + +Erster Schritt im Idea2Self-Prozess. Fuehrt den Nutzer durch ein adaptives 5-Schritt-Interview, das eine vage Idee in eine strukturierte Idee + persoenliche Passung + Scope-Ausschluss verwandelt. Legt am Ende die zentrale `idea2self-.md` Datei an. + +## Essential Principles + +1. **Adaptiv nach Ideen-Typ.** Nach 2-3 Orientierungs-Fragen klassifizieren (Produkt / Wissen / Community / Content / Physisches / unklar). Folgefragen sind typ-spezifisch — generische Fragenliste ist Sediment. +2. **Persoenliche Passung ist Pflicht.** "Warum ich?" — ohne Verbindung zwischen Idee und Founder-Staerken/-Motivation bleibt die Datei tot. Wenn Nutzer ausweicht: konkrete Sub-Frage stellen ("Wer in deinem Netzwerk hat das Problem konkret?"). +3. **Scope-Ausschluss vor Bestaetigung.** "Was wird bewusst NICHT gebaut?" gehoert in Schritt 2, nicht nachgelagert. Ohne Ausschluss bleibt der Scope diffus und der Action-Plan spaeter unmoeglich. +4. **Widerspruch wird benannt, nicht ignoriert.** "Einfach UND umfassend", "alle als Zielgruppe", "Loesung ohne Problem" — explizit thematisieren in Schritt 3. Optionen anbieten statt nachsichtig sein. +5. **Inline-Recherche moeglich, aber nicht Default.** Bei Wissensluecke des Nutzers: anbieten ("Soll ich kurz recherchieren?"). Erst auf Bestaetigung WebSearch nutzen. Ergebnisse als `_(Recherche)_` markieren. + +## When to Use + +- Nutzer hat eine **noch nicht strukturierte** Idee und will sie in Form bringen. +- Aus Router-Hand-off (Pfad 1 in `klarheit-mit-idea2self/references/routing-table.md`). +- Direkter Trigger: "Discovery-Interview", "vage Idee strukturieren", "Idee erfassen", "idea2self-Datei anlegen". + +## When NOT to Use + +- Es gibt bereits eine `idea2self-.md` mit ausgefuellter `## Idee` Sektion -> Router review-iterate oder direkter Sub-Skill je nach Iterations-Ziel. +- Nutzer will direkt zum Problem-Statement -> `i2s-problem-statement` (wenn Idee bereits klar genug fuer HMW-Formulierung). +- Generelles Idee-Brainstorming ohne Validierungsabsicht -> `compound-engineering:ce-brainstorm`. + +## Phases + +### Phase 1 — Orientierung + +**Entry:** Skill aktiviert. + +**Aktionen:** +1. Stelle 3 Orientierungs-Fragen (siehe `workflows/discovery.md` Schritt 1). +2. Aus den Antworten den **Ideen-Typ** ableiten. +3. Typ explizit zurueckspiegeln: "Klingt nach einer/m [Typ]-Idee. Korrekt?" + +**Exit:** Ideen-Typ ist bestaetigt. + +### Phase 2 — Vertiefung (adaptiv) + +**Entry:** Ideen-Typ bestaetigt. + +**Aktionen:** +1. Lade die typ-relevanten Kategorien aus `workflows/discovery.md` Schritt 2 (4 Kategorien: Problem/Motivation, Zielgruppe, Kontext/Ressourcen, Scope/Abgrenzung). +2. Stelle pro Kategorie 1-2 Fragen, max 4-6 insgesamt. +3. Bei Wissensluecke des Nutzers: Inline-Recherche anbieten (`web_search`). +4. Pflicht-Frage am Ende von Phase 2: "Was wird bewusst NICHT dazugehoeren?" + +**Exit:** Alle 4 Kategorien beruehrt + Scope-Ausschluss benannt. + +### Phase 3 — Widerspruchspruefung + +**Entry:** Phase 2 abgeschlossen. + +**Aktionen:** +1. Pruefe Antworten gegen die 4 typischen Konflikte (`workflows/discovery.md` Schritt 3). +2. Bei Konflikt: benennen, Optionen geben, Nutzer-Entscheidung einholen. +3. Bei keinem Konflikt: explizit "Keine inneren Widersprueche erkannt" sagen. + +**Exit:** Konflikte sind geloest oder als offen markiert. + +### Phase 4 — Bestaetigung + +**Entry:** Phase 3 abgeschlossen. + +**Aktionen:** +1. Verstaendnis zusammenfassen ("Du willst [X] fuer [Zielgruppe] bauen, weil [Motivation]. Kernproblem: [P]. Ressourcen: [R]. Ausschluss: [A]. Stimmt das?"). +2. Auf Bestaetigung warten. Bei Korrektur: Phase 2 punktuell zurueckspringen. + +**Exit:** Nutzer bestaetigt das zusammengefasste Verstaendnis. + +### Phase 5 — Datei-Bootstrap + +**Entry:** Bestaetigung erhalten. + +**Aktionen:** +1. Kurztitel ableiten (3-5 Woerter, kebab-case). +2. `idea2self-.md` aus `templates/idea2self-vorlage.md` anlegen. +3. `## Idee` Sektion nach `references/idee-format.md` ausfuellen. +4. Restliche Sektionen als leere Platzhalter einsetzen. +5. `## Changelog` mit erstem Eintrag (Datum + "Datei angelegt"). +6. Datei dem Nutzer zeigen + Hand-off-Hinweis: "Naechster Schritt: Problem-Statement. Trigger: 'Problem-Statement erstellen' fuer `i2s-problem-statement`." + +**Exit:** Datei existiert auf Disk, `## Idee` ist ausgefuellt, Hand-off ausgesprochen. + +## Quick Reference + +Kommunikation: `references/kommunikationsregeln.md` (Tonalitaet, Marker, Steuerbefehle). +Datei-Format: `references/idee-format.md` (Schema fuer `## Idee` Sektion). +Datei-Skelett: `templates/idea2self-vorlage.md`. +Workflow-Detail (alle 5 Schritte): `workflows/discovery.md`. + +## Reference Index + +| File | Purpose | +|------|---------| +| `workflows/discovery.md` | Vollstaendiger 5-Schritt-Interview-Ablauf mit Fragen | +| `references/kommunikationsregeln.md` | Tonalitaet, Marker (Vorschlag/Annahme), Steuerbefehle | +| `references/idee-format.md` | Markdown-Schema fuer die `## Idee` Sektion | +| `templates/idea2self-vorlage.md` | Skelett der idea2self-Datei (wird in Phase 5 angelegt) | + +## Success Criteria + +- [ ] Ideen-Typ ist klassifiziert + bestaetigt. +- [ ] Idee ist in 1-2 Saetzen beschreibbar. +- [ ] Zielgruppe ist benannt (vage erlaubt, aber konkrete Person als Anker). +- [ ] Problem ist identifiziert. +- [ ] Persoenliche Motivation + Ressourcen (Stunden/Woche) sind klar. +- [ ] Scope-Ausschluss ist definiert. +- [ ] Innere Widersprueche sind benannt oder geloest. +- [ ] `idea2self-.md` existiert mit `## Idee` Sektion + `## Changelog`. +- [ ] Hand-off zu `i2s-problem-statement` ist ausgesprochen. diff --git a/skills/i2s-discovery/references/idee-format.md b/skills/i2s-discovery/references/idee-format.md new file mode 100644 index 0000000..c7c6ffe --- /dev/null +++ b/skills/i2s-discovery/references/idee-format.md @@ -0,0 +1,94 @@ +# Idee-Format — i2s-discovery (curated extract) + +Curated extract from `plugin-shared/export-formate.md` — only the `idee_format` block, which `i2s-discovery` writes in Phase 5. + +## Schema fuer `## Idee` Sektion + +```markdown +## Idee + +_Erstellt am [Datum]_ + +### Kern +[1-3 Saetze: Was ist die Idee?] + +### Problem +[Was ist der Schmerz / das Beduerfnis? Wie wird es heute geloest?] + +### Zielgruppe (grob) +[Wer hat das Problem? Erste Beschreibung. Konkrete Person als Anker, auch wenn breit.] + +### Loesungsrichtung +[Erste Idee fuer einen Ansatz. KEIN ausgearbeitetes Konzept.] + +### Differenzierung +[Was unterscheidet diesen Ansatz von dem, wie es heute geloest wird?] + +### Persoenliche Passung +- **Warum ich:** [Motivation, Faehigkeiten, Zugang] +- **Zeitbudget:** [Stunden/Woche, realistisch] +- **Ambition:** [Hobby / Nebeneinkommen / Hauptberuf] + +### Scope — Was bewusst NICHT +[Was wird nicht adressiert. Pflichtfeld.] + +### Offene Fragen +- [ ] [Ungeklaerte Punkte aus dem Interview] +``` + +## Schreibregeln + +1. **Datum:** `[Datum]` durch heutiges ISO-Datum ersetzen (`YYYY-MM-DD`). +2. **Kurztitel:** Im Header der Datei (`# Idea2Self: `), nicht in der Idee-Sektion. +3. **Vorschlag-Marker:** KI-generierte Differenzierung / Loesungsrichtung mit `_(Vorschlag)_` markieren, bis der Nutzer bestaetigt. +4. **Annahme-Marker:** Vom Nutzer geaeusserte, aber unbestaetigte Behauptungen (z.B. "die Leute haben das Problem") mit `_(Annahme)_` markieren. +5. **Recherche-Marker:** Inhalte aus inline WebSearch mit `_(Recherche: )_` markieren. +6. **Leere Felder:** Falls nicht behandelt -> `Nicht erarbeitet` (nicht leer lassen, nicht raten). + +## Beispiel (gefuellt) + +```markdown +## Idee + +_Erstellt am 2026-05-19_ + +### Kern +Eine lokale Tauschboerse fuer Nachbarschaften, die ueber Briefkasten-Karten startet +(nicht App-basiert). + +### Problem +Menschen besitzen Werkzeuge / Gegenstaende, die selten benutzt werden. Geteilt wird +aktuell ueber Whatsapp-Gruppen oder gar nicht. Karten-basierter Einstieg +_(Annahme)_ senkt die Schwelle gegenueber App-Pflicht. + +### Zielgruppe (grob) +Mieter in mittelgrossen Mehrfamilienhaeusern (8-30 Parteien) in deutschen Staedten. +Anker-Person: Anna, 38, lebt seit 6 Jahren im selben Haus, kennt 4 Nachbarn mit +Namen. + +### Loesungsrichtung _(Vorschlag)_ +Karten-Set "Was kann ich anbieten / was suche ich" + Aushaengetafel im Hausflur. +Spaeter optional: simple Web-Liste fuer Hausverwaltung. + +### Differenzierung +Kein App-Download, kein Account, keine Plattform-Abhaengigkeit. Funktioniert auch +fuer Menschen ohne Smartphone-Affinitaet. + +### Persoenliche Passung +- **Warum ich:** Habe selbst im Haus 12 Parteien, baue Karten gerade fuer mich. Designer. +- **Zeitbudget:** 4-6 h/Woche. +- **Ambition:** Nebeneinkommen ab Mitte 2026. + +### Scope - Was bewusst NICHT +- Keine App, keine Plattform. +- Keine Bezahlung / Marketplace-Funktionen. +- Keine Skalierung auf Nachbarschaften > 50 Parteien. + +### Offene Fragen +- [ ] Hausverwaltung als Distributions-Hebel pruefen. +- [ ] Print-Kosten fuer ein Karten-Set. +``` + +--- + +**Master version:** `plugin-shared/export-formate.md` (Block ``). Drift-Check via `plugin-shared/drift-check.sh`. diff --git a/skills/i2s-discovery/references/kommunikationsregeln.md b/skills/i2s-discovery/references/kommunikationsregeln.md new file mode 100644 index 0000000..ff4df9c --- /dev/null +++ b/skills/i2s-discovery/references/kommunikationsregeln.md @@ -0,0 +1,61 @@ +# Kommunikationsregeln — i2s-discovery (curated extract) + +Curated subset of `plugin-shared/kommunikationsregeln.md`. Discovery-relevant rules only — tonality, markers, control commands, and discovery-specific dialog heuristics. + + +Nuechtern, sachlich, ruhig. Keine motivierenden oder enthusiastischen Formulierungen. Keine Ausrufezeichen, keine Emojis, keine Superlative. + +- Alltagssprache statt Fachbegriffe +- Sprache des Nutzers beibehalten +- Persoenliche Huerden haeufiger als externe Risiken +- Entscheider ist immer der Nutzer selbst +- Kurze Saetze. Direkte Sprache. + + + +- Max. 3-4 Saetze pro Nachricht im Dialog. +- Strukturierte Ausgaben (Zusammenfassungen, Markdown-Skelette) duerfen laenger sein. +- Fortschrittsanzeige: "[Phase X] von 5" bei jeder inhaltlichen Nachricht. +- Keine Phasennummern in Nutzer-Nachrichten technisch nennen — als "Schritt" referenzieren. + + + +| Marker | Bedeutung | +|--------|-----------| +| _(Vorschlag)_ | KI-generiert, nicht vom Nutzer bestaetigt | +| _(Annahme)_ | Ohne Datengrundlage, vom Nutzer geaeussert | +| _(Recherche)_ | Aus inline web_search | + + + +| Befehl | Aktion | +|--------|--------| +| Zurueck | Vorheriger Schritt / Frage | +| Ich weiss es nicht | Plausibler Vorschlag wird angeboten, keine Drang-Frage | +| Ueberspringen | Antwort wird als "Nicht erarbeitet" markiert | +| Weiter | Naechster Schritt / naechste Phase | + + + +- **Missverstaendliche Antwort:** aktives Zuhoeren spiegeln. "Du meinst [X]? Oder eher [Y]?" +- **Vage Antwort:** nicht akzeptieren. Beispiel anbieten oder Entscheidungsfrage. +- **"Ich weiss es nicht":** plausiblen Vorschlag machen. Nicht draengen. +- **Widerspruch zwischen Antworten:** explizit benennen. "Vorhin [A], jetzt [B]. Was gilt?" +- **Perfektionismus / Endlos-Detail:** "Das ist Stand jetzt. Wir koennen spaeter ueberarbeiten." +- **Blockade beim Nutzer:** Frage vereinfachen oder Optionen anbieten. +- Max. 1 Rueckfrage pro Frage-Block (ausser Widerspruch oder kritische Luecke). + + + +- **Persoenliche Verbindung pruefen.** Wenn Nutzer abstrahiert ("die Leute haben das Problem") -> konkretisieren ("Kennst du jemanden, der das Problem konkret hat?"). +- **Inline-Recherche-Angebot.** Nur bei Wissensluecke des Nutzers, nicht proaktiv. Form: "Soll ich kurz recherchieren, was es im Bereich gibt?" Auf "Ja" -> WebSearch. +- **Scope-Ausschluss-Pflicht.** "Was gehoert NICHT dazu?" muss in Phase 2 gestellt werden, nicht optional am Ende. + + + +Phase 5 schreibt die `## Idee` Sektion in die idea2self-Datei. Schema: `references/idee-format.md`. Nur besprochene Inhalte eintragen. Nicht behandelt = "Nicht erarbeitet". Vorschlaege mit `_(Vorschlag)_` kennzeichnen. + + +--- + +**Master version:** `plugin-shared/kommunikationsregeln.md`. Aenderungen hier nach Master synchronisieren via `plugin-shared/drift-check.sh`. diff --git a/skills/i2s-discovery/templates/idea2self-vorlage.md b/skills/i2s-discovery/templates/idea2self-vorlage.md new file mode 100644 index 0000000..9314785 --- /dev/null +++ b/skills/i2s-discovery/templates/idea2self-vorlage.md @@ -0,0 +1,68 @@ +# Idea2Self: [Kurztitel] + +_Erstellt am [Datum]. Letzte Aenderung: [Datum]._ +_Prozess: Discovery -> Problem-Statement -> Persona -> Recherche -> Experiment -> Prototyp -> Action-Plan_ + +--- + +## Idee + +**Kurztitel:** [3-5 Woerter] +**Kern:** [1-2 Saetze] +**Motivation:** [Warum diese Idee?] +**Zielgruppe (erste Vermutung):** [Fuer wen?] +**Problem (erste Vermutung):** [Welches Problem?] +**Kontext:** [Hintergrund, Ressourcen, Zeitbudget] +**Scope-Ausschluss:** [Was wird NICHT adressiert?] + +_Erstellt am [Datum] via Discovery-Interview_ + +--- + +## Problem-Statement + +_[Wird in Workflow 2 befuellt]_ + +--- + +## Persona + +_[Wird in Workflow 3 befuellt]_ + +--- + +## Recherche-Report + +_[Wird in Workflow 4 befuellt]_ + +--- + +## Experiment-Card + +_[Wird in Workflow 5 befuellt]_ + +--- + +## Prototyp-Konzept + +_[Wird in Workflow 6 befuellt]_ + +--- + +## Action-Plan + +_[Wird in Workflow 7 befuellt]_ + +--- + +## Offene Punkte + +_Geparkte Gedanken aus allen Workflows_ + +--- + +## Changelog + +| Datum | Aenderung | Workflow/Anlass | +|-------|-----------|----------------| +| [Datum] | Datei angelegt, ## Idee befuellt | Discovery-Interview | diff --git a/skills/klarheit-mit-idea2self/workflows/discovery-idea.md b/skills/i2s-discovery/workflows/discovery.md similarity index 98% rename from skills/klarheit-mit-idea2self/workflows/discovery-idea.md rename to skills/i2s-discovery/workflows/discovery.md index f96ca67..8947751 100644 --- a/skills/klarheit-mit-idea2self/workflows/discovery-idea.md +++ b/skills/i2s-discovery/workflows/discovery.md @@ -2,7 +2,7 @@ 1. references/kommunikationsregeln.md -2. references/export-formate.md (Abschnitt idee_format) +2. references/idee-format.md