Dieser Skill nimmt den aktuellen Gesprächskontext und das Verständnis der Codebasis und erstellt ein PRD. Stelle KEIN Interview mit dem Benutzer – synthetisiere nur das, was du bereits weißt.
Der Issue-Tracker und das Vokabular der Triage-Labels sollten dir bereits zur Verfügung gestellt worden sein – falls nicht, führe /setup-matt-pocock-skills aus.
Ablauf
-
Erkunde das Repository, um den aktuellen Stand der Codebasis zu verstehen, falls du es nicht bereits getan hast. Verwende dabei durchgängig das domänenspezifische Glossar des Projekts im PRD und respektiere alle ADRs, die den Bereich betreffen, den du bearbeitest.
-
Skizziere die Schnittstellen (Seams), an denen du die Funktion testen wirst. Bestehende Seams sollten neuen vorgezogen werden. Verwende den höchstmöglichen Seam. Falls neue Seams benötigt werden, schlage sie an der höchstmöglichen Stelle vor. Je weniger Seams in der Codebasis, desto besser – die ideale Anzahl ist eins.
Frage den Benutzer, ob diese Seams seinen Erwartungen entsprechen.
- Schreibe das PRD mit der untenstehenden Vorlage und veröffentliche es dann im Issue-Tracker des Projekts. Wende das Triage-Label
ready-for-agentan – kein zusätzliches Triage ist erforderlich.
Problemstellung
Das Problem, mit dem der Benutzer konfrontiert ist, aus der Perspektive des Benutzers.
Lösung
Die Lösung des Problems aus der Perspektive des Benutzers.
User Stories
Eine LANGE, nummerierte Liste von User Stories. Jede User Story sollte im Format sein:
- Als möchte ich , damit
Diese Liste von User Stories sollte äußerst umfangreich sein und alle Aspekte der Funktion abdecken.
Entscheidungen zur Implementierung
Eine Liste der getroffenen Implementierungsentscheidungen. Dazu können gehören:
- Die Module, die gebaut/geändert werden
- Die Schnittstellen dieser Module, die geändert werden
- Technische Klarstellungen des Entwicklers
- Architekturentscheidungen
- Schemaänderungen
- API-Verträge
- Spezifische Interaktionen
Füge KEINE spezifischen Dateipfade oder Code-Snippets ein. Diese könnten sehr schnell veralten.
Ausnahme: Falls ein Prototyp ein Snippet hervorgebracht hat, das eine Entscheidung präziser kodiert als Prosa (Zustandsmaschine, Reducer, Schema, Typstruktur), füge es innerhalb der relevanten Entscheidung ein und vermerke kurz, dass es aus einem Prototyp stammt. Kürze auf die entscheidungsreichen Teile – kein funktionierender Democode, nur die wichtigen Teile.
Entscheidungen zum Testen
Eine Liste der getroffenen Testentscheidungen. Enthalte:
- Eine Beschreibung dessen, was einen guten Test ausmacht (nur externes Verhalten testen, keine Implementierungsdetails)
- Welche Module getestet werden
- Vorarbeiten für die Tests (d. h. ähnliche Testarten in der Codebasis)
Außerhalb des Rahmens
Eine Beschreibung der Dinge, die für dieses PRD außerhalb des Rahmens liegen.
Weitere Anmerkungen
Weitere Anmerkungen zur Funktion.