refactor(skills): migrate all 8 SKILL.md to pure-XML + apply audit fixes
Pure-XML body structure per marketplace-tools use-xml-tags.md (DEC-0013 D-XML, founder-approved): all markdown headings removed from skill bodies, replaced with semantic tags (<objective>, <quick_start>, <success_criteria> required; <essential_principles>, <when_to_use>, <when_not_to_use>, <precondition_check>, <workflow>, <reference_guides>, plus router <routing>/<intake>/<file_convention>/<guardrails>). Phases kept as bold labels inside <workflow>. Frontmatter (name, description, allowed-tools, metadata.version) preserved; all reference paths intact. Audit fixes (REV 2026-05-21) folded into the per-skill migration: - F1 i2s-persona: drop inline-research line (no WebFetch/WebSearch declared) -> point to i2s-recherche. - F2 i2s-discovery: web_search -> WebSearch (correct tool name). - F3 i2s-discovery/experiment-card/prototyp-konzept: document that WebFetch/WebSearch fire only on explicit confirmation for a single lookup (full research lives in i2s-recherche). - F4 router: shorten 897-char description to ~480 (exhaustive trigger list lives in references/routing-table.md). - F5 i2s-experiment-card: soften description preconditions (v0.2 preferred, not enforced — matches the actual precondition check). Verification (8 checks): no markdown headings, 3 required tags/skill, frontmatter integrity, XML tags balanced (code-fence aware), local refs resolve, 8 skills, gitignore present, drift-check exit 0. All green. 8 parallel general-purpose subagents (one per SKILL.md, disjoint files).
This commit is contained in:
@@ -6,40 +6,39 @@ metadata:
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# i2s-problem-statement — Problem-Statement (HMW)
|
||||
|
||||
<objective>
|
||||
Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes Problem-Statement im **How Might We**-Format. Erzeugt 3 Varianten zur Auswahl und schreibt die finale Version in die idea2self-Datei.
|
||||
</objective>
|
||||
|
||||
## Essential Principles
|
||||
|
||||
<essential_principles>
|
||||
1. **Aus Sicht der Zielgruppe, nicht der Loesung.** Problem-Statement beschreibt das Beduerfnis, nicht den geplanten Ansatz. "Wie koennen wir [Kontext] fuer [Zielgruppe] neu gestalten, damit [Beduerfnis] befriedigt wird — unter Beruecksichtigung von [Einschraenkungen]."
|
||||
2. **7 Teilaspekte sind Pflicht, aber Tiefe ist adaptiv.** Pro Teilaspekt 1 Leitfrage + max 1 Vertiefung. Wenn Nutzer schon klar geantwortet hat -> weiter. Wenn vage -> Vertiefung.
|
||||
3. **Drei Varianten, dann eine.** Wortgetreu / geschaerft / zugespitzt sind Sparring-Tool, nicht Output. Der Nutzer waehlt, kombiniert, der Skill iteriert max. 1× nach.
|
||||
4. **Konsistenz gegen ## Idee.** Wenn Problem-Statement der Idee widerspricht (andere Zielgruppe / anderes Problem): explizit benennen, Update auf `## Idee` vorschlagen (Changelog-Eintrag).
|
||||
5. **"Alle als Zielgruppe" ist nicht akzeptabel.** Im PS-Workflow muss die Zielgruppe konkreter werden als in `## Idee`. Wenn Nutzer ausweicht: Sub-Frage "Wer hat das Problem am DRINGENDSTEN?" einsetzen.
|
||||
</essential_principles>
|
||||
|
||||
## When to Use
|
||||
|
||||
<when_to_use>
|
||||
- `## Idee` existiert in der idea2self-Datei, `## Problem-Statement` fehlt oder soll iteriert werden.
|
||||
- Aus Router-Hand-off (Pfad 2) oder direkter Trigger ("Problem-Statement erstellen", "HMW").
|
||||
- Iteration nach Recherche: Nutzer hat neue Daten und will PS v0.2 schreiben.
|
||||
</when_to_use>
|
||||
|
||||
## When NOT to Use
|
||||
|
||||
<when_not_to_use>
|
||||
- `## Idee` fehlt oder ist nur eine Ueberschrift -> erst `i2s-discovery`.
|
||||
- Nutzer will direkt zur Persona -> `i2s-persona` (PS bleibt erstmal vage).
|
||||
- Nutzer will den Loesungs-Ansatz schaerfen -> `i2s-prototyp-konzept` oder `i2s-experiment-card`.
|
||||
</when_not_to_use>
|
||||
|
||||
## Precondition Check
|
||||
|
||||
<precondition_check>
|
||||
**Vor Phase 1:**
|
||||
1. idea2self-Datei laden (Pfad aus Nutzer-Prompt oder Standardort).
|
||||
2. Auf `^## Idee` matchen + Sektion-Inhalt > 50 Zeichen.
|
||||
3. Fehlt -> abbrechen mit Hinweis: "`## Idee` fehlt in `<datei>`. Trigger zuerst `i2s-discovery`."
|
||||
</precondition_check>
|
||||
|
||||
## Phases
|
||||
|
||||
### Phase 1 — Kontext laden + Voranalyse
|
||||
<workflow>
|
||||
**Phase 1 — Kontext laden + Voranalyse**
|
||||
|
||||
**Entry:** Vorbedingung erfuellt.
|
||||
|
||||
@@ -50,7 +49,7 @@ Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes
|
||||
|
||||
**Exit:** Nutzer hat Voranalyse bestaetigt oder korrigiert.
|
||||
|
||||
### Phase 2 — 7 Teilaspekte (gefuehrte Fragen)
|
||||
**Phase 2 — 7 Teilaspekte (gefuehrte Fragen)**
|
||||
|
||||
**Entry:** Phase 1 abgeschlossen.
|
||||
|
||||
@@ -62,7 +61,7 @@ Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes
|
||||
|
||||
**Exit:** Alle 7 TAs sind beruehrt (mit Antwort, "Ich weiss nicht", oder explizitem Ueberspringen).
|
||||
|
||||
### Phase 3 — Konsistenzpruefung
|
||||
**Phase 3 — Konsistenzpruefung**
|
||||
|
||||
**Entry:** 7 TAs durch.
|
||||
|
||||
@@ -73,7 +72,7 @@ Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes
|
||||
|
||||
**Exit:** Keine offenen Konsistenz-Konflikte, oder offene Konflikte sind als `## Offene Punkte` in der Datei vermerkt.
|
||||
|
||||
### Phase 4 — Drei Varianten erzeugen
|
||||
**Phase 4 — Drei Varianten erzeugen**
|
||||
|
||||
**Entry:** Phase 3 abgeschlossen.
|
||||
|
||||
@@ -86,7 +85,7 @@ Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes
|
||||
|
||||
**Exit:** Eine finale PS-Variante ist gewaehlt.
|
||||
|
||||
### Phase 5 — Export
|
||||
**Phase 5 — Export**
|
||||
|
||||
**Entry:** Phase 4 abgeschlossen.
|
||||
|
||||
@@ -97,25 +96,27 @@ Schritt 2 im Idea2Self-Prozess. Formuliert aus der vagen `## Idee` ein scharfes
|
||||
4. Hand-off: "Dein Problem-Statement ist in der Datei. Naechster Schritt: Persona. Trigger: 'Persona erstellen' fuer `i2s-persona`. Oder 'Weiter'."
|
||||
|
||||
**Exit:** Datei aktualisiert, Hand-off ausgesprochen.
|
||||
</workflow>
|
||||
|
||||
## Quick Reference
|
||||
<quick_start>
|
||||
Loest aus bei "Problem-Statement erstellen" oder "HMW formulieren". Vorbedingung: eine idea2self-Datei mit ausgefuellter `## Idee` Sektion (sonst zuerst `i2s-discovery`). Der Skill fuehrt durch 7 Teilaspekte, erzeugt 3 Varianten zur Auswahl und schreibt das Ergebnis als `## Problem-Statement` Sektion in dieselbe Datei.
|
||||
</quick_start>
|
||||
|
||||
<reference_guides>
|
||||
Kommunikation: `references/kommunikationsregeln.md`.
|
||||
Pipeline + Rueckwaerts-Update-Regeln: `references/artefakt-pipeline.md`.
|
||||
Format-Schema: `references/problem-statement-format.md`.
|
||||
Workflow-Detail (alle 5 Schritte, alle 7 TAs, alle Anti-Patterns): `workflows/problem-statement.md`.
|
||||
|
||||
## Reference Index
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `workflows/problem-statement.md` | Vollstaendiger 5-Schritt-Ablauf mit den 7 Teilaspekten + Anti-Patterns |
|
||||
| `references/kommunikationsregeln.md` | Tonalitaet, Marker, Steuerbefehle (curated) |
|
||||
| `references/problem-statement-format.md` | Markdown-Schema fuer `## Problem-Statement` (HMW-Satz + 6 Sub-Sektionen) |
|
||||
| `references/artefakt-pipeline.md` | Pipeline-Position + Rueckwaerts-Update-Regeln (curated) |
|
||||
</reference_guides>
|
||||
|
||||
## Success Criteria
|
||||
|
||||
<success_criteria>
|
||||
- [ ] Alle 7 Teilaspekte sind bearbeitet oder bewusst markiert.
|
||||
- [ ] HMW-Satz ist formuliert (`Wie koennen wir [Kontext] fuer [Zielgruppe]...`).
|
||||
- [ ] Zielgruppe ist konkreter als in `## Idee`.
|
||||
@@ -123,3 +124,4 @@ Workflow-Detail (alle 5 Schritte, alle 7 TAs, alle Anti-Patterns): `workflows/pr
|
||||
- [ ] Scope-Ausschluss ist explizit benannt (in `## Idee` oder `## Problem-Statement`).
|
||||
- [ ] idea2self-Datei enthaelt `## Problem-Statement` mit Versions-Header + Changelog-Eintrag.
|
||||
- [ ] Hand-off zu `i2s-persona` ist ausgesprochen.
|
||||
</success_criteria>
|
||||
|
||||
Reference in New Issue
Block a user