Turn product intent into a requirements document that can be reviewed, handed off, and continuously maintained. The PRD is the decision record for this feature; it does not repeat the confirmed global product rules, nor is it a pixel-by-pixel UI implementation description.
Scope of Use
- Complete mode: first version of a product, a major new module, or a proposal that needs to realign the problem, users, strategy, and metrics. Additional criterion: there is no reusable experience baseline, and this time involves a change in positioning or business model → it is also complete mode. "Already iterating" is not a prerequisite for incremental mode—the fact that the project does not yet have a product does not mean this matter is not significant.
- Incremental mode (default): an already iterating product adds or adjusts one feature. Clearly write the change this time and its relationship to the experience baseline.
- Small bugs, copy corrections, or fully clarified engineering tasks do not need a complete PRD; use the repository's existing issue/task process.
- If the requirements are still verbal and the boundaries have not been clarified, first use
requirement-clarifyto conduct a round of interviews; if the user asks to review an existing PRD, hand it togrill-with-prd; if product-level experience rules need to be established, first useproduct-experience-foundation。 - If the context has already been thoroughly discussed and there is no need to reuse an experience baseline, you can use
context-to-prd—it is the same as this documentin structure and produces the sameprd.md, and is a "lightweight alternative without interviews"; choose one of the two, do not run them consecutively. When a baseline needs to be reused or an incremental PRD needs to be written, this Skill must be used.
Before Starting: Determine the Context
- Determine the feature name, using the hyphenated format
<feature-name>; the target path isdocs/prd/<feature-name>/prd.md。 - Read the repository conventions, relevant existing PRDs, affected pages, and related code. When a PRD already exists, first ask the user to choose: update, create a separate feature directory, or keep the original text.
- Find
docs/product/<project-name>/:- When the target product is clear, read
product-context.md, the relevant platform (c-end/oradmin/) ofux-foundations.mdandpatterns.md, as well ascomponent-promotion-log.md(if it exists). - When there are multiple products or the directory cannot be determined, ask the user to specify; do not choose a baseline out of thin air.
- When there is no baseline, continue writing the feature PRD, but mark "no experience baseline"; if this is the first version or the existing page experience is inconsistent, it is recommended to later run
product-experience-foundation, and do not fabricate product-level rules on your own.
- When the target product is clear, read
- Collect the requirements, research, data, competitors, screenshots, existing flows, and engineering constraints provided by the user. Mark facts as sources; mark reasonable inferences as
[INFERRED], and list content that cannot be confirmed as open questions. - Choose the mode: when an existing and applicable baseline is available, prefer incremental mode; use complete mode only when the complete strategic context is truly valuable.
Core Rules for Incremental PRDs
Each incremental PRD must clearly define four categories of content:
| Category | What to write | Where to put it |
|---|---|---|
| Reuse baseline | The navigation, page patterns, copy, states, or component rules followed this time | 体验关系 |
| Feature-local | Flows, fields, permissions, and exception states that exist only for this feature | 需求与验收 |
| Candidate for promotion | Patterns that may be reused in the future but have not yet become product rules | 体验关系 |
| Intentional deviation | Where it differs from the baseline, the reason, the affected parties, and the write-back decision | 体验关系 |
- Do not repeat menus, basic controls, overlays, or empty/loading/error rules already defined in the baseline; replace them with links and a brief "reuse" note.
- An unconfirmed one-off pattern can only be marked as a candidate and must not be treated directly as a global component or general flow.
- If a pattern has already been adopted by two confirmed features, or is explicitly confirmed by the product, prompt to use
product-experience-foundationto updatepatterns.mdand the promotion record. - When the PRD conflicts with the baseline, record the deviation; do not silently overwrite the baseline.
Output structure
Based on template.md . Incremental mode must retain sections 0, 1, 2, 5, 7, 8, 9, and 10; sections 3, 4, and 6 may be condensed to "reuse existing conclusions" or omitted. Full mode should fill in all applicable sections.
How to write requirements and acceptance criteria
Organize by user-verifiable behavior, not by piling up pages or technical tasks:
### R1 创建任务
作为运营人员,我可以从任务列表新增任务,以便安排工作。
验收标准:
- 点击“新增任务”打开沿用 Admin 表单规则的弹窗。
- 必填项校验失败时,字段旁显示错误且不提交。
- 保存成功后关闭弹窗、刷新列表并显示成功反馈。
- 无创建权限的角色不显示入口,且接口仍拒绝该操作。
- Clearly state roles, trigger conditions, main flow, state changes, permissions, exceptions, and acceptance results.
- Add metrics, analytics events, migrations, interfaces, or data dependencies only when they have business value; do not invent solutions for unknown implementation details.
- Place prototypes, design specs, competitive evidence, etc. in the same feature directory and link to them from the PRD:
design.md、prototype.html、demo.mdare all optional artifacts.
Collaboration and follow-up routing
- After completing the draft, use
grill-with-prdto review scope, contradictions, boundaries, exceptions, and open questions, and write the confirmed conclusions back into the PRD. - When external visual evidence is needed, use
web-design-extractor; when an independent high-fidelity review prototype is needed, usedesign-spec-prototyper; when a clickable high-fidelity prototype that fits the project's current state is needed, usepm-frontend-prototype。 - At delivery, explain: PRD path, mode, baseline read, reuse rules, candidates/deviations, open questions, and next review action.
Common issues
- Writing the PRD as a full product manual: For incremental features, write only the changes and link everything else to the baseline.
- Treating design details as requirements: Describe user goals, states, and acceptance; leave visual details to the design spec or prototype.
- No non-scope: Clearly state what will not be done this time to avoid treating future ideas as commitments by default.
- Pretending the baseline is confirmed: Historical pages can only serve as observational evidence; their authority differs from that of explicit decisions.
- Hiding uncertainty: Explicitly place missing roles, policies, data, or exception handling in open questions.
Pre-delivery checklist
- The feature directory and
prd.mdpath are correct, and existing documents have not been accidentally overwritten. - Full or incremental mode has been selected, with the reason stated.
- The relevant product experience baseline has been read or is explicitly missing.
- The incremental PRD lists reuse, local, candidates, and deviations (write "none" if there are none).
- Scope, non-scope, roles, states, permissions, exceptions, and acceptance can be reviewed.
- Uncertain content has source markers or open questions and has not been disguised as fact.
- If this overturns the upstream
clarify.mdconfirmed conclusion, the PRD states which version prevails. - After writing, scan once for garbled Chinese characters:
grep -rnI $'\xef\xbf\xbd' docs/prd/<feature-name>/