Create a PRD through deep user interviewing, codebase exploration, and explicit implementation/testing decisions. Use as the first step before prd-to-plan or prd-to-issues.
Use this skill when the user wants to create a PRD.
Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.
Explore the repo to verify user assertions and understand the current state of the codebase.
Interview the user about every important aspect of the plan until you reach shared understanding.
Walk each major branch of the design tree and resolve dependencies between decisions one-by-one.
Sketch the major modules to build or modify.
Look for opportunities to extract deep modules that can be tested in isolation.
A deep module encapsulates substantial functionality behind a simple, testable interface that rarely changes.
Check with the user that the proposed modules match expectations. Check with the user which modules should have tests.
<prd-template> ## Problem StatementOnce understanding is complete, write the PRD using the template below.
By default, format the PRD so it can be posted as a GitHub issue.
The problem from the user's perspective.
The proposed solution from the user's perspective.
A long, numbered list of user stories in this format:
List implementation decisions, including:
Do not include specific file paths or code snippets.
List testing decisions, including:
Explicitly list what is not included.
Any additional context needed for execution. </prd-template>
After PRD creation, suggest one of these next skills:
prd-to-plan for phased execution planningprd-to-issues for immediate issue decomposition