2
0

refactor(router): slim klarheit-mit-idea2self to routing pattern

Rewrite SKILL.md to be a pure router per workflow-skill design rules:

- description: trigger conditions only (AP-20). Entry triggers + explicit
  anti-triggers naming each i2s-* sub-skill.
- 3 numbered phases (intent / precondition / hand-off) with entry/exit
  criteria (AP-6, AP-7).
- Routing pattern with 8 paths: 7 hand-offs to i2s-* sub-skills + 1
  cross-cut workflow (review-iterate) kept internal.
- Reference set reduced to router-essentials: routing-table.md (new),
  kommunikationsregeln.md, artefakt-pipeline.md.
- Tools narrowed to read/write/edit/glob/grep/ask/todo.

Add references/routing-table.md with trigger -> sub-skill mapping,
precondition rules, hand-off message format, sequence diagram, and
anti-trigger guards.

Vestigial refs (methodik.md, export-formate.md, recherche-regeln.md)
and templates/prototyp-remixer-auswertung.md remain in router for now;
they will be removed in step 10b after sub-skill extraction so any
inter-step git mv preserves rename detection.

Step 3 of i2s-skill-split refactor.
This commit is contained in:
Philipp Sieder
2026-05-19 01:10:07 +02:00
parent 7cf1c7c61e
commit 3479384600
2 changed files with 191 additions and 105 deletions
@@ -0,0 +1,77 @@
# Routing Table — klarheit-mit-idea2self
Maps user-intent trigger phrases to the responsible Sub-Skill or to the router's internal review workflow. Used in Phase 1 (intent recognition) and Phase 2 (precondition check) of the router.
## Trigger -> Sub-Skill -> Precondition
| Routing path | Trigger phrases (German + indirect) | Target | Precondition section in idea2self-file |
|---|---|---|---|
| 1 | "neue Idee", "starten", "Idea2Self starten", "Idee strukturieren", "Discovery", "ich habe da eine Idee", "ich will was ausprobieren" | `i2s-discovery` | none — entry point |
| 2 | "Problem-Statement", "HMW formulieren", "Problem formulieren", "Wie koennen wir ..." | `i2s-problem-statement` | `## Idee` |
| 3 | "Persona", "Zielgruppe", "Wer ist die Zielgruppe", "JTBD", "Verhaltensbasierte Persona" | `i2s-persona` | `## Problem-Statement` |
| 4 | "Recherche", "Problemraum recherchieren", "Web-Recherche zur Idee", "Marktrecherche", "Interview-Orte" | `i2s-recherche` | `## Problem-Statement` + `## Persona` |
| 5 | "Experiment", "Hypothese", "Experiment-Card", "MVE-Design", "Minimum Viable Experiment" | `i2s-experiment-card` | `## Recherche-Report` |
| 6 | "Prototyp", "Prototyp-Konzept", "Loesungsidee", "Ideen-Werkstatt", "User Flow" | `i2s-prototyp-konzept` | `## Experiment-Card` |
| 7 | "Action-Plan", "WOOP", "Umsetzungsplan", "naechste Schritte", "Obstacle-Plan" | `i2s-action-plan` | `## Prototyp-Konzept` |
| 8 | "ueberarbeiten", "iterieren", "review", "Konsistenz-Check", "neuer Input", "Erkenntnisse einarbeiten" | `workflows/review-iterate.md` (router-internal) | any existing idea2self-Datei |
## Precondition check rules
1. Lade die idea2self-Datei (Pfad steht meist im Nutzer-Prompt oder ist Standardpfad `./idea2self-<idee>.md` im aktuellen Verzeichnis).
2. Pruefe per Markdown-Heading-Match (`^## <Sektionsname>`), ob die Precondition-Sektion existiert UND nicht leer ist.
3. Vorbedingung erfuellt -> Hand-off ausfuehren (Phase 3).
4. Vorbedingung fehlt -> Nutzer informieren:
- Form: "Voraussetzung `## <Sektion>` fehlt in `idea2self-<idee>.md`. Trigger zuerst `<voraussetzungs-skill>` oder bestaetige, dass du die Info anderweitig vorhaeltst."
- Falls Nutzer bestaetigt -> trotzdem Hand-off, Sub-Skill wird die Info via Dialog erfragen.
## Hand-off message format (paths 1-7)
Nach Phase 2 (Vorbedingung OK):
```
Naechster Schritt: <Sub-Skill-Name>.
Trigger-Phrase: "<eine der Trigger-Phrasen aus Spalte 2>".
Vorhandene Sektionen in idea2self-Datei: <Liste>.
Nach Abschluss kannst du mit "Weiter" zum naechsten Sub-Skill in der Sequenz wechseln.
```
Beispiel:
```
Naechster Schritt: i2s-persona.
Trigger-Phrase: "Persona erstellen".
Vorhandene Sektionen in idea2self-Datei: ## Idee, ## Problem-Statement.
```
## Sequence recommendation (default flow)
```
1. i2s-discovery
|
v
2. i2s-problem-statement
|
v
3. i2s-persona
|
v
4. i2s-recherche
|
v
5. i2s-experiment-card
|
v
6. i2s-prototyp-konzept
|
v
7. i2s-action-plan
```
Schritt 8 (`review-iterate`) lebt im Router und kann **zu jedem Zeitpunkt** aufgerufen werden — z.B. nach Schritt 4 wenn die Recherche Erkenntnisse fuer das Problem-Statement liefert (Rueckwaerts-Update).
## Anti-trigger guards
Falls der Nutzer eine Trigger-Phrase aus Spalte 2 **ohne Router-Aktivierung** sagt (z.B. direkt "Persona erstellen"), aktiviert sich der jeweilige Sub-Skill von selbst per eigener `description:`. Der Router bleibt aus. Das ist by design.
Falls Trigger zweifelhaft (z.B. "Idee strukturieren" matcht Router-Pfad 1 UND koennte als Sub-Skill-Trigger gelesen werden): Router gewinnt, Sub-Skill bleibt aus. Trigger-Specificity ist in der `description:` jedes Skills entsprechend kalibriert.