| name | frd-review |
| description | Review Feature Requirements Documents (FRDs) (single file or full tree) against the Overview / Terminology / Requirements template, source-of-truth rules, module boundaries, downstream impact, and the parent-delivers-value rule for sub-features. Writes a review file. Use when the user asks to review, audit, or sanity-check a feature spec. |
| allowed-tools | ["AskUserQuestion","Read","Write","Glob","Grep"] |
FRD: Review a Feature Requirements Document
Purpose
Audit an FRD (or a parent + its nested children) the way an experienced engineer or product lead would in planning: surface the gaps that cause estimation churn, rework after implementation, or bugs found in QA.
Shared Operating Model
Use requirements-operating-model before reviewing. Use it to check module boundaries, source-of-truth conflicts, feature hierarchy, and downstream Blueprint / Work Order impact.
When to Use
- An FRD draft needs a sanity check before engineering picks it up
- A parent FRD with children needs to be audited as a tree
- A reviewer wants a second pass on someone else's feature spec
Resolve the Target
- Determine
projectid (ask if not supplied; offer choices via Glob).
- Resolve what to review:
- A specific FRD path → review just that file.
- A directory (parent with children) → review the parent's
index.frd.md plus every *.frd.md sibling.
- "Everything under this project" → glob
.trogonai/project/{projectid}/frd/**/*.frd.md.
- If
personas.prd.md exists in the project, read it: user stories should reference its personas.
Per-FRD Checklist
For each FRD, run every item and mark Pass, Gap, Risk, or N/A with a one-line justification.
1. Overview
2. Terminology
3. Requirements: structure
4. Acceptance Criteria: content
5. Optional Extension Sections
6. Cross-cutting hygiene
Cross-FRD Checks (parent + children)
When reviewing a tree:
Operating Model Checks
Output
Write the review to:
- Single FRD:
.trogonai/project/{projectid}/frd/{slug}.review.md
- Tree:
.trogonai/project/{projectid}/frd/{parent-slug}/_review.md
- Whole project:
.trogonai/project/{projectid}/frd/_review.md
Template:
# FRD Review
- **Project:** {projectid}
- **Scope:** <single FRD path | parent + N children | whole project>
- **Reviewed:** <YYYY-MM-DD>
- **Overall verdict:** <Ready / Ready with revisions / Not ready>
## Top Findings
1. <highest-impact gap or risk>
2. <next>
3. <next>
## Per-FRD Results
### <path/to/feature.frd.md>
- Overview: Pass / Gap: <one line>
- Terminology: Pass / Gap: <one line>
- Requirements structure: Pass / Gap: <one line, cite any bad ids>
- Acceptance criteria: Pass / Gap: <one line, cite the worst offender as REQ/AC id>
- Optional extension sections: Pass / Gap / N/A: <one line>
- Hygiene: Pass / Gap: <one line>
<repeat for each FRD reviewed>
## Cross-FRD Findings (if tree)
- Parent-delivers-value rule: Pass / Gap: <one line>
- Child-meaningless-without-parent rule: Pass / Gap: <one line>
- ID collisions: <none / cite>
- Child FRDs list consistency: Pass / Gap
## Operating Model and Downstream Impact
- Source of truth: Pass / Gap / Risk: <one line>
- Module boundaries: Pass / Gap / Risk: <one line>
- Likely downstream follow-up: <none / affected Blueprints or Work Orders by human-readable name>
## Required Revisions (blockers)
- <must fix before engineering picks up>: fix with `frd-write` or `frd-split`
## Recommended Revisions (non-blockers)
- <should fix, not blocking>: fix with `<skill>`
## Suggested Questions for the Author
- <question that exposes an assumption>
If a previous review file exists at the same path, overwrite it.
Verdict Rubric
- Ready: no gaps in Requirements structure or Acceptance Criteria; overview clear; optional extension sections are either useful or absent; sub-feature rules satisfied. Minor wording only.
- Ready with revisions: gaps exist but fix path is clear. For each gap, name the section / requirement and the skill (
frd-write or frd-split) that fixes it.
- Not ready: user stories are generic ("As a user, I want X"), ACs are untestable ("handled appropriately"), or sub-features violate the parent-value rules. Engineering cannot estimate or build from this as-is.
Key Principles
- Surface gaps, do not rewrite. Point to what is missing and why it matters.
- Cite the id. Every finding references the specific
REQ-... or AC-... it came from.
- Distinguish blockers from polish. Required vs recommended must be obvious.
- Recommend the fix path. Each gap maps to
frd-write (refine) or frd-split (restructure).
Related Skills
frd-write: author or refine a single FRD
frd-split: restructure FRDs by splitting, merging, or nesting
frd-getting-started: produce the initial set of FRDs
prd-review: companion overview-level review
Allowed Tools
- AskUserQuestion: resolve project and target if not supplied
- Read: load each FRD and the project's personas
- Write: write the review file
- Glob / Grep: locate FRDs, detect adjective-only ACs, check id collisions