원클릭으로
prd-review
Use when asked to review, audit, critique, or validate an existing PRD, design doc, or feature specification
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when asked to review, audit, critique, or validate an existing PRD, design doc, or feature specification
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Use when asked to create, write, or draft a PRD, product requirements document, design doc, or feature specification for a software project
Use when asked to audit, verify, validate, or check the implementation of a PRD against the shipped code -- confirming every goal is met, no stubs or TODOs remain, tests/playbooks/build/lint pass, no regressions were introduced, and scope matches what the PRD promised
SOC 직업 분류 기준
| name | prd-review |
| description | Use when asked to review, audit, critique, or validate an existing PRD, design doc, or feature specification |
Review an existing PRD by validating its claims against the actual codebase, assessing structural completeness, and presenting findings as questions to the user. Never silently fix -- ask first, apply after confirmation.
You MUST use the AskUserQuestion tool for ALL findings and questions. Do not present findings as plain text output. Present findings one severity group at a time, each as a separate AskUserQuestion call, in order: Errors first, then Gaps, then Inconsistencies, then Suggestions. Wait for the user to respond to each group before presenting the next. This ensures the most critical issues are addressed first.
digraph prd_review {
rankdir=TB;
node [shape=box];
read [label="Read target PRD thoroughly,\nnote every technical claim"];
explore [label="Explore codebase to\nvalidate claims"];
calibrate [label="Read 2+ other PRDs\nto calibrate format expectations"];
structure [label="Assess structural\ncompleteness against\nproven PRD elements"];
categorize [label="Categorize findings:\nErrors > Gaps >\nInconsistencies > Suggestions"];
present_err [label="Present Errors\nvia AskUserQuestion"];
present_gap [label="Present Gaps\nvia AskUserQuestion"];
present_inc [label="Present Inconsistencies\nvia AskUserQuestion"];
present_sug [label="Present Suggestions\nvia AskUserQuestion"];
resolved [label="All issues resolved?" shape=diamond];
apply [label="Apply confirmed fixes,\nnote intentional choices" shape=doublecircle];
read -> explore;
explore -> calibrate;
calibrate -> structure;
structure -> categorize;
categorize -> present_err;
present_err -> present_gap;
present_gap -> present_inc;
present_inc -> present_sug;
present_sug -> resolved;
resolved -> present_err [label="new issues found"];
resolved -> apply [label="yes"];
}
Check each of these systematically against the codebase:
Check whether the PRD includes the structural elements that have proven essential for successful implementation. Not every PRD needs every element, but their absence should be a conscious choice rather than an oversight.
Status and scope:
Concreteness:
Edge cases and error handling:
Impact and change tracking:
Implementation clarity:
For each major feature or section, apply this mental test:
If I handed this PRD to a competent developer unfamiliar with the project, could they implement this section without asking me a single clarifying question?
If the answer is no, identify specifically what is missing and report it as a Gap.
Present findings via AskUserQuestion, one severity group per call, in descending severity order. Frame each finding as a question, not a directive. Skip empty severity groups.
| Severity | Definition | Criterion |
|---|---|---|
| Error | Factually wrong claim | A file path, function name, or behavioral description that contradicts the actual codebase |
| Gap | Missing information that blocks implementation | An implementer would have to guess or ask a question to proceed |
| Inconsistency | Internal contradiction or conflict with codebase patterns | Two parts of the PRD disagree, or the proposal conflicts with existing conventions |
| Suggestion | Non-blocking improvement | Structural additions, clarity improvements, or alignment with proven PRD patterns |
Use AskUserQuestion with questions like:
[Section X] PRD references
src/foo/bar.extbut this file is atsrc/baz/bar.ext. Should I update the path?
[Section Y] says the function takes 3 parameters, but the actual signature in
module.ext:42takes 5. Should the PRD match the current code, or is this describing a planned API change?
[Section Z] describes the happy path but doesn't cover what happens when the input is empty. What should happen?
The PRD specifies 5 API endpoints but includes no edge case section. At minimum, these boundary conditions need decisions: [list specific cases]. Should I add an edge cases section?
The implementation section lists files to modify but no testing strategy. Should I add concrete test cases per phase?
[Section A] says FooManager handles dispatch, but
foo_manager.extdelegates to BarDispatch. Which is the intended design?
[Section B] uses the term "handler" but the codebase consistently uses "controller". Should the PRD align with the codebase terminology?
Other PRDs in this project include a "What Stays vs What Changes" table. Adding one here would clarify impact on existing systems. Would you like me to draft one?
The executive summary lists design decisions but doesn't include a "Why?" subsection explaining the motivation. Other successful PRDs include this. Worth adding?
AskUserQuestion to present findings. Never present findings as plain text.| Temptation | Do this instead |
|---|---|
| Presenting findings as plain text | Always use AskUserQuestion tool |
| Dumping all findings at once | Present one severity group at a time, most critical first |
| Rewriting sections without asking | Ask first, fix after confirmation |
| Reporting only surface issues | Validate claims against code AND assess structural depth |
| Treating all issues as equal severity | Categorize: Errors > Gaps > Inconsistencies > Suggestions |
| Suggesting design changes | Note and ask, do not prescribe |
| Skipping codebase exploration | Always grep/read before reporting |
| Accepting vague descriptions | Flag sections where an implementer would have to guess |
| Ignoring missing edge cases | Check for explicit edge case coverage and flag if absent |
| Overlooking missing test strategy | Check for concrete verification plan and flag if absent |
After all rounds complete, apply confirmed fixes to the PRD file. Summarize what was changed and what was kept as-is with the user's reasoning noted.