PRD Writing
Outcome
Produce a complete PRD that is clear, testable, and traceable from goals to requirements to acceptance criteria. Keep the document domain-neutral unless the user provides domain specifics.
Workflow
-
Clarify scope and constraints. Collect: feature scope, target users, goals, success metrics, constraints, dependencies, rollout expectations. If input is incomplete, state assumptions explicitly in the document.
-
Select output depth. Use full template by default. Switch to a lightweight PRD only if the user asks for a short version or discovery-phase draft.
-
Build structure from template. Use
references/prd-template.mdas the baseline. Keep chapter numbering and section naming stable for readability and review consistency. -
Fill module details feature by feature. For each functional module, define:
- User stories and role-based value.
- UX and interaction expectations.
- Functional rules, states, and business logic.
- Edge cases and exception handling.
- Measurable acceptance criteria and performance targets.
- Run quality gate before finalizing.
Use
references/prd-quality-checklist.md. Fix gaps before delivering final output.
Writing Rules
- Use concrete, testable statements; avoid ambiguous language like "optimize", "friendly", or "fast enough".
- Attach priority to requirements (
P0/P1/P2). - Define acceptance criteria as observable outcomes.
- Separate "what/why" (PRD) from "how" (implementation details), unless user explicitly asks for technical design depth.
- Use exact calendar dates when mentioning milestones or versions.
Output Requirements
Include these minimum outputs:
- Document metadata (version, date, owner, status).
- Problem and objective definition.
- Requirement source and priority mapping.
- Module-based functional design sections.
- Unified non-functional and governance standards.
- References and change log.
Resource Usage
- Use
references/prd-template.mdto generate the PRD skeleton. - Use
references/prd-quality-checklist.mdto validate completeness and quality. - Reuse the template headings directly unless the user requests a custom structure.
Response Pattern
When responding, follow this order:
- State assumptions (if any).
- Provide the PRD draft in Markdown with stable heading hierarchy.
- End with a short "Open Questions" section if key inputs are missing.
Constraints
- Keep the skill independent from any specific business context.
- Keep the skill independent from any specific framework, language, or architecture stack.
- Use placeholders when domain facts are unknown; never fabricate business facts.