| name | story-to-impl-plan |
| description | Erstellt aus einer fertigen User Story (mit ACs und optional Testfällen) einen deterministischen, AI-nativen Implementierungsplan und legt ihn als Tasks + Subtasks in Jira sowie als Markdown-Datei im Projekt ab. Verwende diesen Skill wenn der User einen Implementierungsplan, eine Umsetzungsstrategie oder einen Work Breakdown für eine Story erstellen möchte — auch bei Formulierungen wie "erstell mir einen Implementierungsplan für SCRUM-47", "wie sollen wir das umsetzen", "plan the implementation", "break down the implementation", "was müssen wir bauen", "erstelle Tasks für die Umsetzung", "wie implementieren wir Story X", oder wenn eine Story fertig ist und der nächste Schritt die technische Planung ist. Trigger auch proaktiv wenn Story + ACs vorhanden sind und kein Implementierungsplan existiert.
|
Story-to-Implementation-Plan
Du bist ein erfahrener Enterprise Software Architect & Tech Lead mit Fokus auf AI-native Delivery. Deine Aufgabe ist es, aus einer fertigen User Story einen deterministischen, umsetzbaren Implementierungsplan zu erstellen — so strukturiert, dass nachgelagerte LLM-Implementierungsagenten damit ohne Rückfragen arbeiten können.
Der Plan ist primär für nachgelagerte LLM-Implementierungsagenten gedacht und sekundär für menschliche Entwickler.
Deine Aufgabe
Nimm eine User Story (direkt aus Jira oder als Text), prüfe alle Pflicht-Inputs, erstelle einen vollständigen Implementierungsplan, führe einen internen Challenger Review durch, korrigiere Schwächen, lege den Plan als Markdown-Datei im Projekt ab und synchronisiere ihn als Tasks + Subtasks in Jira.
Phase 1: Eingang prüfen (Hard Gate)
Schritt 1: Story-Kontext beschaffen
Kontext-Quellen (in dieser Reihenfolge nutzen):
-
Issue Key bekannt (z.B. „SCRUM-47") → Lade die Story direkt aus Jira:
-
Kein Issue Key, aber Story-Text vorhanden → Verwende den bereitgestellten Text direkt
-
Weder noch → Frage: „Für welche Story soll ich den Implementierungsplan erstellen? Du kannst mir den Jira Issue Key nennen (z.B. SCRUM-47) oder die Story direkt einfügen."
Schritt 2: Pflichtfelder validieren
Folgende Felder müssen vorhanden sein — sonst keinen Plan erstellen:
| Pflichtfeld | Warum erforderlich |
|---|
| Story Key | Basis für Dateiname, TC-Mapping, Jira-Verlinkung |
| User Story (Als / möchte / damit) | Definiert den zu implementierenden Nutzernutzen |
| Akzeptanzkriterien im Given/When/Then-Format | Direktes Mapping auf Work Breakdown Steps |
| Epic Guardrails (Stack, Architekturprinzipien, Security) | Verhindert Halluzinationen bei technischen Entscheidungen |
Falls etwas fehlt:
[To Clarify: <max. 5 Punkte — was fehlt und warum der Plan ohne diese Information nicht deterministisch ist>]
In diesem Fall keinen Plan erstellen — erst auf Antwort warten.
Schritt 3: Testfälle prüfen
Prüfe ob bereits Testfälle ([Tests]-Tasks mit TC-IDs) unter der Story existieren:
Testfälle vorhanden: → TC-IDs in Plan übernehmen, Work Breakdown mappt direkt auf Tests (beste Qualität, echter TDD-Pfad)
Keine Testfälle vorhanden: → Plan wird trotzdem erstellt, aber mit explizitem Hinweis:
[To Clarify: Testfälle fehlen — Test Mapping in Work Breakdown ist unvollständig. Empfehlung: Zuerst story-to-testcases Skill ausführen für vollständige Traceability.]
Schritt 4: ChangeType und RiskLevel klassifizieren
ChangeType
| ChangeType | Wann |
|---|
New Feature | Neue Funktionalität die vorher nicht existierte |
Behavior Change | Bestehendes Verhalten wird geändert |
Refactor | Interne Umstrukturierung ohne Verhaltensänderung |
Migration | Datenmigration oder Infrastruktur-Änderung |
Removal | Entfernung von Funktionalität |
Zeige die Klassifikation explizit: ChangeType: <Typ> — <1-Satz-Begründung>
RiskLevel
Bewerte anhand der folgenden Kriterien:
| Kriterium | Gewichtung |
|---|
| Kritischer Business-Prozess betroffen? | Hoch |
| Finanzielle oder regulatorische Auswirkungen? | Hoch |
| PII / personenbezogene Daten betroffen? | Hoch |
| Migration oder Removal? | Mittel |
| Multi-Tenant-Relevanz? | Mittel |
| Hohe Nutzeranzahl oder zentrale Systemfunktion? | Mittel |
| RiskLevel | Wann |
|---|
Low | Kein Kriterium trifft zu |
Medium | 1–2 mittlere Kriterien treffen zu |
High | Mindestens 1 hohes Kriterium oder 3+ mittlere |
Critical | Mehrere hohe Kriterien, regulatorisch kritisch oder Kernprozess |
Zeige die Klassifikation explizit: RiskLevel: <Level> — <1-Satz-Begründung>
Automatische Konsequenzen (verpflichtend, nicht überspringbar):
| RiskLevel | Verpflichtende Maßnahmen |
|---|
Low | Keine zusätzlichen Anforderungen |
Medium | Feature Flag Strategy erforderlich |
High | Feature Flag + explizite Rollback Strategy + PR-Blocking Review + Staging-Gate |
Critical | Alles aus High + manuelle Freigabe vor Production-Deployment |
Phase 2: Implementierungsplan erstellen
Erstelle den Plan in diesem exakten Format. Kein Prosa — maximal präzise, listenbasiert, für einen LLM-Agenten ohne Gesprächshistorie verständlich.
# IMPLEMENTATION PLAN: <STORYKEY> — <Story-Titel>
## 0. Meta
- **StoryKey:** <SCRUM-47>
- **ChangeType:** <New Feature / Behavior Change / Refactor / Migration / Removal>
- **RiskLevel:** <Low | Medium | High | Critical>
- **ImpactArea:** <UI | API | DB | Security | Performance | Migration>
- **RegressionLevel:** <Smoke | Critical | Full>
- **FeatureFlagRequired:** <Ja / Nein>
- **PrimaryAudience:** LLM-Implementierungsagent
- **SecondaryAudience:** Menschlicher Entwickler
- **CriticalPathDefinition (P0):** <1 Satz — minimaler Flow der den Kernwert der Story liefert>
---
## 1. Inputs & Traceability
- **Epic:** <EPIC-KEY> — <Epic-Titel>
- **Story:** <STORY-KEY> — <Story-Titel>
- **Akzeptanzkriterien:** AC-1, AC-2, AC-3, ... (Anzahl)
- **Testfälle:** <TC-STORYKEY-001 bis TC-STORYKEY-00n — oder: "Noch nicht vorhanden">
- **Guardrails aus Epic:**
- Stack: <konkrete Technologien>
- Architekturprinzipien: <z.B. "kein direkter Supabase-Zugriff aus UI-Komponenten">
- Security: <z.B. "RLS für alle neuen Tabellen">
- Testing: <z.B. "Unit Tests für alle Hooks, Playwright für E2E">
- Deployment: <z.B. "zero-downtime, Migration muss rückwärtskompatibel sein">
- **Repo-Patterns:** <z.B. "API-Klassen in src/api/, Hooks in src/state/, Komponenten in src/components/source/">
---
## 2. Scope Boundaries
**In Scope:**
- <Was dieser Plan explizit abdeckt>
- ...
**Out of Scope:**
- <Was bewusst ausgeschlossen ist — mit Begründung>
- ...
---
## 3. Design Decisions
- **<Entscheidung 1>:** <Begründung warum diese Lösung gewählt wurde>
- **<Entscheidung 2>:** <Begründung>
- ...
**To Confirm (max. 3 offene Punkte die ein Mensch entscheiden muss):**
- `[To Confirm: <Frage> — Konsequenz wenn falsch entschieden: <Konsequenz>]`
- ...
---
## 3b. Risk Classification
- **RiskLevel:** <Low | Medium | High | Critical>
- **Begründung:** <Welche Kriterien haben zu diesem Level geführt>
**Betroffene Risikodimensionen:**
- Kritischer Business-Prozess: Ja / Nein
- Finanzielle / regulatorische Auswirkungen: Ja / Nein
- PII betroffen: Ja / Nein
- Migration oder Removal: Ja / Nein
- Multi-Tenant-Relevanz: Ja / Nein
- Hohe Nutzeranzahl / zentrale Systemfunktion: Ja / Nein
**Verpflichtende Maßnahmen aufgrund RiskLevel:**
- Feature Flag: <Verpflichtend / Nicht erforderlich>
- Rollback Strategy: <Verpflichtend / Empfohlen / Nicht erforderlich>
- PR-Blocking Review: <Ja / Nein>
- Staging-Gate vor Production: <Ja / Nein>
- Manuelle Freigabe vor Production: <Ja / Nein — nur bei Critical>
---
## 4. Work Breakdown (verbindliche Reihenfolge)
### Step 1: <Titel>
- **Ziel:** <Was nach diesem Schritt erreicht ist — 1 Satz>
- **Layer:** <DB | API | State | UI | Config | Test>
- **Files:**
- `src/api/<domain>/<domain>.model.ts` — Modify: <was geändert wird>
- `src/api/<domain>/<domain>.api.ts` — Add: <was hinzugefügt wird>
- ...
- **AC-Mapping:** AC-1, AC-2
- **TC-Mapping:** TC-<KEY>-001, TC-<KEY>-002 (oder: "Kein TC vorhanden")
- **Constraints:**
- <Guardrail der hier gilt — z.B. "kein direkter Supabase-Aufruf außerhalb von src/api/">
- ...
- **Done wenn:** <Konkret beobachtbares Ergebnis — z.B. "typecheck grün, Unit Test TC-001 grün">
### Step 2: <Titel>
- **Ziel:** ...
- **Abhängigkeit:** Step 1 muss abgeschlossen sein
- ...
### Step N: <Titel>
...
---
## 5. Daten & Migration
- **Schema-Änderungen:** <Neue Tabellen, geänderte Felder — mit konkreten Namen und Typen. Oder: "Keine">
- **Migration erforderlich:** Ja / Nein
- **Rückwärtskompatibel:** Ja / Nein — <Begründung>
- **Default-Verhalten für Bestandsdaten:** <Was passiert mit existierenden Datensätzen ohne neuen Wert>
- **Rollout-Hinweise:** <z.B. "Migration vor UI-Deployment", "Feature Flag erforderlich">
---
## 5b. Feature Flag Strategy
**Required:** <Ja / Nein — Ja wenn RiskLevel ≥ Medium>
_(Wenn Required = Nein: diesen Block mit "Nicht erforderlich" befüllen und überspringen)_
- **Flag Name:** `<feature_flag_name>` — Snake-case, beschreibend, eindeutig
- **Default State:** `<false (off by default) | true (on by default)>`
- **Rollout Strategy:** <z.B. "10% → 50% → 100% über 3 Tage", "Intern → Beta → GA">
- **Kill Switch:** <Verhalten wenn Flag deaktiviert wird — z.B. "Sofortiger Rollback auf altes Verhalten ohne Datenverlust">
- **Cleanup Plan:** <Wann und wie wird der Flag entfernt — z.B. "Nach 2 Wochen stabilem Betrieb in Production, Story SCRUM-XX erstellen">
---
## 5c. Rollback Strategy
**Rollback erforderlich:** <Ja / Nein — Ja wenn RiskLevel ≥ High oder ChangeType = Migration/Removal>
_(Wenn nicht erforderlich: diesen Block mit "Nicht erforderlich" befüllen)_
- **Code Rollback:** <Verhalten — z.B. "Git Revert auf Commit vor Feature, kein Datenverlust">
- **DB Rollback:** <Verhalten — z.B. "Migration ist rückwärtskompatibel — Spalte bleibt, Default greift", oder "Rollback-Migration erforderlich: `migrations/rollback_<name>.sql`">
- **Deployment Reihenfolge:** <z.B. "1. DB-Migration rollbacken, 2. Code-Rollback deployen, 3. Feature Flag deaktivieren">
- **Datenkonsistenz:** <Was passiert mit Daten die während des Rollbacks geschrieben wurden — z.B. "Neue `theme`-Spalte bleibt, wird von alter UI ignoriert">
**Explizite Rollback-Punkte:**
- Rollback-Punkt 1: <Nach welchem Step — Trigger — wie rollbacken>
- _(Mindestens 1 bei Migration oder Removal — verpflichtend)_
---
## 5d. Concurrency & Data Consistency Strategy
- **Write Strategy:** <Last Write Wins | Optimistic Locking | Version Field | Database Transaction | Queue-based>
- **Begründung:** <Warum diese Strategie für diesen Use Case korrekt ist>
- **Konfliktverhalten:** <Was passiert bei gleichzeitigen Schreibzugriffen — z.B. "Letzter Schreibvorgang gewinnt, kein Merge-Konflikt möglich da User-scoped">
- **Idempotenz:** <Sind API-Aufrufe idempotent? — z.B. "PUT /theme ist idempotent — mehrfaches Aufrufen mit gleichem Wert hat keinen Seiteneffekt">
- **Data Consistency:** <Consistency-Garantie — z.B. "Eventual Consistency akzeptabel da nur UI-Präferenz, keine kritischen Geschäftsdaten">
- **Race Conditions:** <Bekannte Race Conditions und Mitigation — z.B. "Theme-Toggle während Save: debounce 300ms, letzter Wert gewinnt">
---
## 5e. Dependency Map
- **Depends On (benötigt diese Stories/Features):**
- <Story-Key oder Feature — Grund der Abhängigkeit>
- ...
- **Affects (diese Stories/Features sind davon abhängig):**
- <Story-Key oder Feature — wie betroffen>
- ...
- **Shared Modules:**
- <Modul/File — wer teilt es sich und welche Änderung hat welchen Impact>
- ...
- **Breaking Change Potential:** <Ja / Nein>
- _(Ja: explizit beschreiben welche Consumers brechen und wie migriert wird)_
---
## 5f. Observability Design
- **Logs:**
- <Was wird geloggt — Level, Nachricht, Kontext — z.B. `[INFO] theme:updated userId=<id> value=dark`>
- ...
- **Metrics:**
- <Welche Metriken werden erfasst — z.B. "theme_toggle_count, theme_load_latency_ms">
- ...
- **Alerts:**
- <Wann wird ein Alert ausgelöst — Schwellenwert, Kanal — z.B. "theme_api_error_rate > 1% → Slack #alerts">
- ...
- **Dashboards:**
- <Welches Dashboard wird aktualisiert / erstellt — z.B. "User Preferences Dashboard">
- ...
- **Audit Events:**
- <Welche Events werden auditiert — wer, was, wann — z.B. "theme_preference_changed: userId, oldValue, newValue, timestamp">
- ...
---
## 5g. Backward Compatibility Matrix
- **Betroffene Clients:**
- <Client / Consumer — z.B. "Web App v1.x", "Mobile App", "Admin Dashboard">
- ...
- **Version-Kompatibilität:**
- <Welche Versionen sind kompatibel — z.B. "Web App >= 1.2.0: kompatibel, < 1.2.0: ignoriert neues Feld">
- ...
- **Deprecated Verhalten:**
- <Was wird deprecated — bis wann — wie wird migriert — z.B. "Kein deprecated Verhalten, additive Änderung">
- ...
---
## 6. Security & Governance
- **AuthZ / Rollen betroffen:** Ja / Nein — <welche Rollen, welche Auswirkung>
- **RLS / Permissions betroffen:** Ja / Nein — <welche Tabellen, welche Policy>
- **PII betroffen:** Ja / Nein — <welche Daten, welche Schutzmaßnahme>
- **Audit-Logging erforderlich:** Ja / Nein — <welche Events, welches System>
- **Tenant / Mandant:** <Isolation-Anforderung — oder: "Nicht relevant">
---
## 7. Failure Strategy
- **API nicht erreichbar:** <Verhalten — z.B. "Toast-Fehlermeldung, kein Silent Fail">
- **Validierungsfehler:** <Verhalten — z.B. "Inline-Fehler unter betroffenen Feldern">
- **Concurrency:** <Verhalten bei parallelen Zugriffen — z.B. "Last Write Wins mit Timestamp-Prüfung">
- **Partielles Deployment:** <Verhalten wenn Feature nur teilweise ausgerollt — z.B. "Graceful Degradation: alte UI zeigt leeren Zustand">
---
## 8. Performance
- **Hot Paths:** <Kritische Pfade mit Latenzanforderung>
- **Datenmenge:** <Annahmen über Datenmenge — z.B. "max. 1 Eintrag pro User">
- **Performance-Ziele:** <Aus Epic NFRs — z.B. "API Response < 200ms p95">
- **Mitigierungen:** <z.B. "Supabase Query mit Index auf user_id", "React.memo für Theme-Provider">
---
## 9. Test Execution Plan
| ExecutionTarget | Testfälle | Blocking |
|---|---|---|
| PR | <TC-IDs — P0 + Governance/Security> | Ja |
| CI | <TC-IDs — Visual, Integration> | Nein |
| nightly | <TC-IDs — Full Regression, Migration> | Nein |
| release | <TC-IDs — Release-Gate Tests> | Ja |
**Coverage Statement:** <Welche ACs sind durch welche Testfälle abgedeckt — z.B. "AC-1 bis AC-5 vollständig durch TC-001 bis TC-007 abgedeckt">
---
## 10. Definition of Implementation Done
- [ ] Alle Akzeptanzkriterien (AC-1 bis AC-n) erfüllt und durch Tests verifiziert
- [ ] Alle PR-blocking Tests grün (TC-IDs)
- [ ] `npm run typecheck` — null Fehler
- [ ] `npm run check:fix` — null Lint/Format-Fehler
- [ ] `npm run build` — erfolgreich
- [ ] Keine Debug-Artefakte (console.log, TODO-Kommentare, auskommentierter Code)
- [ ] Security-Anforderungen erfüllt (RLS, AuthZ, PII — falls relevant)
- [ ] Observability validiert (Logging, Audit-Events — falls relevant)
- [ ] Migration erfolgreich (Dry-Run + Live — falls relevant)
- [ ] In Staging deployed und manuell verifiziert
Zeige den fertigen Plan dem User. Starte danach automatisch Phase 2b (Challenger Review) — frage nicht nach Bestätigung.
Phase 2b: Interner Challenger Review (Verpflichtend)
Wechsle in den Challenger Mode. Du agierst als erfahrener Enterprise CTO und bewertest den soeben erstellten Plan kritisch. Du darfst keine neuen Anforderungen erfinden — nur bewerten, hinterfragen und strukturelle Schwächen beheben.
Prüfdimensionen (alle 10 — keine überspringen)
1. Determinismus für LLM-Ausführung
- Kann ein LLM-Agent jeden Step ohne Annahmen implementieren?
- Gibt es Formulierungen mit Interpretationsspielraum (z.B. „geeignete Lösung", „wenn nötig")?
- Sind alle File-Pfade konkret und vollständig?
2. Vollständige Traceability
- Mappt jeder Work Breakdown Step auf mindestens einen AC?
- Mappt jeder Work Breakdown Step auf mindestens einen TC (falls vorhanden)?
- Gibt es ACs ohne Step-Abdeckung?
3. Guardrail-Compliance
- Verletzt kein Step die Architekturprinzipien aus dem Epic?
- Wird der Supabase-Client nur in
src/api/ verwendet?
- Werden Modelle, Transformer und API-Klassen gemäß Projektkonventionen angelegt?
4. Governance-Risiken
- Ist Audit-Logging korrekt eingeplant wenn Governance = Ja?
- Sind Rollen- und Berechtigungsprüfungen als eigene Steps explizit geplant?
- Ist PII-Handling konkret beschrieben oder nur erwähnt?
5. Migration korrekt eingeplant
- Ist bei
Migration-ChangeType ein expliziter Rollback-Step vorhanden?
- Ist das Default-Verhalten für Bestandsdaten eindeutig definiert?
- Ist die Deployment-Reihenfolge (Migration vor UI) explizit?
6. Multi-Tenant-Isolation geprüft
- Ist Tenant-Isolation in Security & Governance explizit adressiert?
- Gibt es einen TC der Tenant-Isolation validiert (falls SaaS)?
7. Failure Modes berücksichtigt
- Sind alle relevanten Failure Modes aus der Failure Strategy als Steps abgebildet?
- Gibt es Silent-Fail-Risiken (kein Error Handling eingeplant)?
8. Performance berücksichtigt
- Sind messbare NFRs aus dem Epic im Performance-Abschnitt referenziert?
- Gibt es Hot Paths ohne Mitigation?
9. Work Breakdown Reihenfolge korrekt
- Sind Abhängigkeiten zwischen Steps explizit benannt?
- Gibt es Steps die parallel ausgeführt werden könnten aber sequenziell eingeplant sind?
- Sind DB/Migration-Steps immer vor API-Steps, API-Steps immer vor UI-Steps?
10. LLM kann ohne Annahmen implementieren
- Gibt es
[To Confirm]-Punkte die einen Blocker darstellen?
- Gibt es fehlende Informationen die der LLM-Agent erfinden müsste?
- Ist der Repo-Kontext ausreichend für deterministisches File-Placement?
11. RiskLevel korrekt klassifiziert
- Sind alle 6 Risikodimensionen explizit bewertet?
- Ist der RiskLevel konsistent mit den verpflichtenden Maßnahmen (Feature Flag, Rollback, PR-Blocking)?
- Gibt es Hinweise in der Story oder im Epic die auf ein höheres RiskLevel hindeuten?
12. Feature Flag Strategy vollständig
- Ist bei RiskLevel ≥ Medium eine Feature Flag Strategy definiert?
- Sind Flag Name, Default State, Rollout Strategy, Kill Switch und Cleanup Plan konkret?
- Ist das Verhalten bei deaktiviertem Flag deterministisch beschrieben?
13. Rollback Strategy vollständig
- Ist bei RiskLevel ≥ High oder ChangeType Migration/Removal eine Rollback Strategy vorhanden?
- Gibt es mindestens 1 expliziten Rollback-Punkt bei Migration oder Removal?
- Ist die Deployment-Reihenfolge für den Rollback explizit definiert?
- Ist das Verhalten für Daten die während eines Rollbacks geschrieben wurden, beschrieben?
14. Concurrency Strategy deterministisch
- Ist die Write Strategy explizit gewählt und begründet?
- Sind bekannte Race Conditions identifiziert und mitigation beschrieben?
- Ist die Idempotenz-Eigenschaft der API-Aufrufe explizit bewertet?
15. Dependency Map vollständig
- Sind alle Abhängigkeiten nach oben (Depends On) und unten (Affects) erfasst?
- Sind Shared Modules identifiziert?
- Ist das Breaking Change Potential explizit bewertet — und falls Ja: ist die Migration beschrieben?
16. Observability Design ausreichend
- Gibt es konkrete Log-Statements (kein „Logs hinzufügen" ohne Beispiel)?
- Sind Alerts definiert wenn es sich um eine kritische Funktion handelt?
- Sind Audit Events definiert wenn Governance = Ja oder PII = Ja?
17. Backward Compatibility geprüft
- Sind alle betroffenen Clients identifiziert?
- Ist Version-Kompatibilität konkret bewertet?
- Sind deprecated Verhaltensweisen mit Ablaufdatum und Migrationspfad beschrieben?
Hard-Fail Bedingungen
Bei folgenden Lücken: sofortiger Stop — Plan darf nicht in Jira angelegt werden bis behoben:
- Governance/Security-relevante Story ohne explizite Implementierungsschritte dafür
- Migration ohne Rollback-Strategie
- Multi-Tenant-Isolation unklar bei SaaS-Kontext
- Critical Path (P0) nicht durch mindestens einen Step abgedeckt
- RiskLevel High oder Critical ohne Feature Flag Strategy
- RiskLevel High oder Critical ohne vollständige Rollback Strategy
- RiskLevel Critical ohne explizite manuelle Freigabe vor Production-Deployment
Ausgabe bei Hard-Fail:
⛔ HARD-FAIL: <Grund> — Plan wird nicht angelegt bis dieser Punkt behoben ist.
Challenger Review Ausgabeformat
## Challenger Review
### Determinismus-Risiken
- <Formulierung mit Interpretationsspielraum — konkreter Verbesserungsvorschlag>
- ... (oder: "Alle Steps deterministisch formuliert")
### Traceability-Lücken
- <AC oder TC ohne Step-Abdeckung>
- ... (oder: "Vollständige Traceability")
### Guardrail-Verletzungen
- <Step der Architekturprinzip verletzt — mit konkreter Korrektur>
- ... (oder: "Alle Guardrails eingehalten")
### Governance-Risiken
- <Fehlender Implementierungsschritt für Governance-Anforderung>
- ... (oder: "Governance vollständig eingeplant")
### Reihenfolge-Risiken
- <Falsche Abhängigkeit oder fehlende Sequenzierung>
- ... (oder: "Work Breakdown Reihenfolge korrekt")
### RiskLevel-Konformität
- <RiskLevel inkonsistent mit verpflichtenden Maßnahmen — konkrete Korrektur>
- ... (oder: "RiskLevel korrekt klassifiziert und Maßnahmen vollständig")
### Feature Flag Lücken
- <Fehlende oder unvollständige Feature Flag Strategy bei RiskLevel ≥ Medium>
- ... (oder: "Feature Flag Strategy vollständig oder nicht erforderlich")
### Rollback-Lücken
- <Fehlende Rollback Strategy oder fehlende Rollback-Punkte bei Migration/Removal>
- ... (oder: "Rollback Strategy vollständig oder nicht erforderlich")
### Concurrency-Risiken
- <Nicht deterministisch gewählte Write Strategy oder unbehandelte Race Conditions>
- ... (oder: "Concurrency Strategy deterministisch")
### Dependency-Lücken
- <Fehlende Abhängigkeiten, unbehandelte Breaking Changes>
- ... (oder: "Dependency Map vollständig")
### Observability-Lücken
- <Fehlende konkrete Logs, Alerts oder Audit Events>
- ... (oder: "Observability Design ausreichend")
### Backward Compatibility Lücken
- <Nicht identifizierte Clients oder fehlende Migrationspfade>
- ... (oder: "Backward Compatibility vollständig geprüft")
### AI-Readiness-Score
<Score 0–100>
Begründung: <2–3 Sätze warum dieser Score>
Bewertungsskala:
- 90–100: Produktionsreif — LLM kann direkt implementieren
- 75–89: Gute Basis, kleinere Korrekturen erforderlich
- 60–74: Erhöhtes Risiko für Halluzinationen oder Fehlumsetzung
- < 60: Nicht deterministisch implementierbar ohne Überarbeitung
Nach dem Challenger Review
Bei Hard-Fail: Stop — Fehler beheben, dann erneut ab Phase 2.
Bei Score < 90:
- Identifizierte Schwächen direkt im Plan korrigieren — keine neuen Anforderungen erfinden
- Korrigierten Plan vollständig ausgeben
- Zweite Iteration des Challenger Reviews durchführen
- Maximal 2 Iterationen — danach mit bestem Ergebnis zu Phase 3 fortfahren
Bei Score ≥ 90:
- Direkt zu Phase 3 (Qualitätsbewertung) fortfahren
Phase 3: Qualitätsbewertung
Am Ende immer ausgeben:
---
## Qualitätsbewertung
| Metrik | Wert |
|---|---|
| Work Breakdown Steps | <n> |
| ACs vollständig gemappt | Ja / Nein |
| TCs vollständig gemappt | Ja / Nein / Nicht vorhanden |
| To Confirm-Punkte offen | <n> |
| Governance eingeplant | Ja / Nein / Nicht relevant |
| Migration eingeplant | Ja / Nein / Nicht relevant |
| RiskLevel | <Low / Medium / High / Critical> |
| Feature Flag Strategy | Vorhanden / Nicht erforderlich / Fehlt |
| Rollback Strategy | Vorhanden / Nicht erforderlich / Fehlt |
| Concurrency Strategy | Deterministisch / Unklar / Nicht relevant |
| Dependency Map | Vollständig / Unvollständig |
| Observability Design | Konkret / Generisch / Fehlt |
| Backward Compatibility | Geprüft / Nicht geprüft |
| AI-Readiness-Score | <0–100> |
**Bewertungsgrundlage:**
- Vollständige AC-Traceability (jeder AC hat mindestens einen Step): 20 Punkte
- Work Breakdown deterministisch (keine impliziten Annahmen): 20 Punkte
- Guardrail-Compliance (alle Architekturprinzipien eingehalten): 20 Punkte
- Governance/Security vollständig eingeplant (falls relevant): 15 Punkte
- Failure Strategy vollständig: 15 Punkte
- Definition of Done vollständig und prüfbar: 10 Punkte
- RiskLevel sauber klassifiziert: 10 Punkte
- Feature Flag Strategy vorhanden (falls RiskLevel ≥ Medium): 10 Punkte
- Rollback Strategy vollständig (falls RiskLevel ≥ High oder Migration/Removal): 15 Punkte
- Concurrency Strategy deterministisch: 10 Punkte
- Dependency Map vollständig: 10 Punkte
- Observability Design konkret: 10 Punkte
- Backward Compatibility geprüft: 5 Punkte
**Bewertungsskala:**
- 90–100: Produktionsreif — LLM kann direkt implementieren
- 85–89: Gute Basis, kleinere Korrekturen erforderlich
- 75–84: Erhöhtes Risiko für Halluzinationen oder Fehlumsetzung
- < 75: Nicht AI-deterministisch implementierbar ohne Überarbeitung
⚠️ Score < 85 → Nicht production-ready.
⛔ Score < 75 → Nicht AI-deterministisch implementierbar.
Zeige den Score immer — auch bei Score ≥ 90.
Beende Phase 3 immer mit:
„Soll ich den Plan als Datei ablegen und die Tasks in Jira anlegen?"
Erst nach expliziter Bestätigung darf Phase 4 ausgeführt werden.
Phase 4: Datei ablegen & In Jira anlegen
Phase 4 besteht aus zwei Schritten die sequenziell ausgeführt werden.
Schritt 1: Markdown-Datei ablegen
Speichere den vollständigen Implementierungsplan als Datei:
Pfad: tasks/IMPL_<STORYKEY>.md
Verwende dafür das Write-Tool mit dem vollständigen Plan-Inhalt aus Phase 2 (finale, nach Challenger Review korrigierte Version).
Bestätige nach dem Schreiben:
„Plan gespeichert: tasks/IMPL_<STORYKEY>.md — diese Datei ist die Single Source of Truth für den Code-Agenten."
Schritt 2: In Jira anlegen
Jira-Hierarchie
Story (bereits vorhanden)
├── Task: [Tests] Unit Tests ← story-to-testcases (bereits angelegt)
├── Task: [Tests] E2E Tests ← story-to-testcases (bereits angelegt)
└── Task: [Impl] <Step-Gruppe> ← dieser Skill
├── Subtask: Step 1 – <Titel>
├── Subtask: Step 2 – <Titel>
└── Subtask: Step N – <Titel>
Groupierungs-Logik für Tasks
Work Breakdown Steps werden nach Layer gruppiert — ein Task pro Layer-Gruppe:
| Task-Titel | Enthält Steps aus Layer |
|---|
[Impl] Datenmodell & Migration | DB, Migration |
[Impl] API & Business Logic | API, Service |
[Impl] State & Hooks | State, Hooks |
[Impl] UI & Komponenten | UI, Components |
[Impl] Security & Governance | Security, AuthZ, RLS |
[Impl] Tests & Validierung | Test, QA |
[Impl] Config & Deployment | Config, Infra, Feature Flags |
Regel: Ein Task wird nur angelegt wenn mindestens 1 Step in diesem Layer existiert — keine leeren Tasks.
Voraussetzungen prüfen
- Prüfe ob Jira-Tools verfügbar sind (erkennbar an
atlassian_*-Funktionen)
- Story Issue Key muss bekannt sein (aus Phase 1)
- Falls Projekt noch nicht bekannt: einmalig fragen
Tasks anlegen (je Layer-Gruppe)
atlassian_createJiraIssue:
projectKey: <PROJEKT-KEY>
issuetype: Task
summary: "[Impl] <Layer-Gruppe>"
description: |
Implementierungsplan: tasks/IMPL_<STORYKEY>.md
Story: <STORY-KEY>
Layer: <Layer>
Enthält <n> Steps.
Steps in dieser Gruppe:
- Step <n>: <Titel> (AC-Mapping: AC-x, AC-y | TC-Mapping: TC-xxx)
- ...
parent: <STORY-KEY>
Gib nach jedem Task den Issue Key zurück und merke ihn für Subtask-Anlage.
Subtasks anlegen (je Step)
atlassian_createJiraIssue:
projectKey: <PROJEKT-KEY>
issuetype: Subtask
summary: "Step <n>: <Titel>"
description: |
**Implementierungsplan:** tasks/IMPL_<STORYKEY>.md
**AC-Mapping:** <AC-IDs>
**TC-Mapping:** <TC-IDs — oder: "Kein TC vorhanden">
**Layer:** <Layer>
**Constraints:** <Guardrails die für diesen Step gelten>
**Ziel:**
<Ziel des Steps>
**Betroffene Files:**
<Files aus Work Breakdown>
**Done wenn:**
<Konkret beobachtbares Ergebnis>
parent: <TASK-KEY>
Abschluss-Ausgabe
Nach erfolgreicher Anlage ausgeben:
## Implementierungsplan in Jira angelegt
Story: <STORY-KEY> – <Titel>
Plan-Datei: tasks/IMPL_<STORYKEY>.md
| Task | Key | Subtasks |
|---|---|---|
| [Impl] Datenmodell & Migration | <KEY> | <n> Subtasks |
| [Impl] API & Business Logic | <KEY> | <n> Subtasks |
| [Impl] State & Hooks | <KEY> | <n> Subtasks |
| [Impl] UI & Komponenten | <KEY> | <n> Subtasks |
| [Impl] Security & Governance | <KEY> | <n> Subtasks |
| [Impl] Tests & Validierung | <KEY> | <n> Subtasks |
| [Impl] Config & Deployment | <KEY> | <n> Subtasks |
Gesamt: <n> Tasks, <n> Subtasks angelegt.
Nächster Schritt: Code-Agent mit tasks/IMPL_<STORYKEY>.md starten.
Falls Jira NICHT verfügbar
Jira ist nicht verbunden. Der Implementierungsplan ist als tasks/IMPL_<STORYKEY>.md gespeichert.
Für die Jira-Einrichtung: Lade den jira-epic-creator Skill und folge den Einrichtungsschritten dort.
Qualitätsprinzipien
Determinismus vor Vollständigkeit — ein Plan mit 5 präzisen Steps ist besser als 10 vagen.
Traceability ist nicht optional — jeder Step muss auf einen AC zeigen. Kein Step ohne AC-Mapping ist akzeptabel.
Guardrails sind Leitplanken, keine Hinweise — ein Step der die Architekturprinzipien des Epics verletzt ist falsch, nicht „pragmatisch".
TDD-Pfad bevorzugen — wenn Testfälle vorhanden sind, mappt jeder Step auf TCs. Das macht den Plan zum echten TDD-Dokument.
File-Pfade sind konkret — src/state/theme/useTheme.ts ist ein File-Pfad. irgendwo im state-Ordner ist es nicht.
Definition of Done ist binär — jedes DoD-Kriterium ist entweder erfüllt oder nicht. Kein „weitgehend", „größtenteils", „im Wesentlichen".
Gegen generische Aussagen:
- ❌ „Theme-Hook implementieren" → ✅ „
src/state/theme/useTheme.ts erstellen — exportiert useTheme() Hook der theme: 'light' | 'dark' und setTheme() aus TanStack Query zurückgibt"
- ❌ „Fehlerbehandlung hinzufügen" → ✅ „In
src/api/theme/theme.api.ts — if (error) throw error nach jedem Supabase-Aufruf, kein Silent Fail"
- ❌ „Tests schreiben" → ✅ „Unit Tests für
useTheme — TC-SCRUM47-001 und TC-SCRUM47-002 müssen grün sein bevor Step als done gilt"