to-prd
This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know. If context is too thin to synthesize, halt and tell the user to run /grill-me first; don't fabricate scope.
Process
-
Read the codebase. Explore the repo to understand current state if you haven't already. Use the project's domain glossary throughout the PRD.
-
Scan
docs/adr/for accepted ADRs touching the area. List relevant ones in aSourcesline and respect their locked decisions. If the PRD's scope would violate an ADR, surface the conflict to the user before writing. -
Pick the Glossary source (in priority order):
- Glossary block emitted by a prior
/grill-mesession in the conversation. docs/intent/NNNN-<slug>.md— the same block, written to disk by grill-me. Check here whenever the conversation doesn't carry one: the interview may have happened in an earlier session, or its output may have been compacted away. Match by slug, or take the most recently modified file when the feature is obvious. Cite it inSources.- Domain terms already used in the codebase — search for prominent nouns/verbs in module names, types, and route names.
- Terms surfaced in the conversation context.
Sources 1–2 are the same artifact and carry the edge-case decisions too — fold those into the PRD rather than re-deriving them, so
blueprintinherits a ledger instead of starting one. - Glossary block emitted by a prior
-
Sketch the major modules to build or modify. Actively look for opportunities to extract deep modules — ones that encapsulate substantial functionality behind a simple, testable, slow-to-change interface (Ousterhout). Do not interview; synthesize from context. If module shape is unclear, halt and route back to
/grill-me.