Design Doc Review Loop
Coordinate independent review and revision without turning review history into
the implementation specification.
Read
../design-doc/references/design-contract.md,
the target design, and repository instructions. This skill owns normal
promotion to Revised; it does not synchronize issues or implement stories.
Independence
Use a fresh reviewer subagent for each review pass and require it to follow
design-doc-reviewer. Reviewers remain read-only. The coordinator or a separate
writer applies revisions so the reviewer does not approve its own work.
If delegation requires permission, the user's request to use this loop, repeat
review, prepare for feature delivery, or start a reviewer is sufficient
authorization. Otherwise request permission before delegating.
Workflow
Select the design. Use the supplied path. If discovery leaves multiple
plausible non-review documents, ask the user to choose.
Keep it Draft. A document under review or revision remains Draft, even
if it entered the loop as Revised.
Run an initial review. Ask a fresh reviewer to perform the full,
repository-grounded review and author-mode mechanical validation. Save it to
the next versioned review path.
Handle the verdict.
- If validation passes and blocking findings are zero, continue to promotion.
- If a blocker needs product authority or would expand scope, remove/defer a
story, choose a destructive migration, or change an explicit user
decision, pause for the user.
- Otherwise revise against the evidence and required invariant.
Revise economically. Triage findings as accepted, addressed by a smaller
alternative, rejected with evidence, or requiring user input. Do not blindly
implement the reviewer's example solution. Update every affected canonical
story when shared requirements change. Add only a one-line changelog entry
to the design; keep detailed dispositions in the versioned review artifact
or handoff.
Run focused follow-up review. A fresh reviewer verifies prior blockers,
changed and affected surfaces, mechanical validation, and critical
regressions. It widens to a full review when cross-cutting changes make that
necessary.
Converge or stop. Repeat while progress is being made, with a default
limit of five passes. Non-blocking suggestions may remain or be explicitly
waived. They do not trigger another pass. At the limit, or when the same
blocker cannot be resolved without user input, report it and leave Draft.
Promote and prove readiness. After the latest independent review says
Ready, set the status to Revised, add a compact dated changelog line, and
run:
python3 <story-contract-script> <design-doc> \
--repo-root <repository-root> --mode delivery
If delivery-mode validation fails, restore Draft, fix the mechanical
failure, and obtain another independent focused review before promotion.
An explicit user override may promote a mechanically valid document despite
semantic review findings, but state the exact risk and preserve the override in
the changelog. Mechanical failures must be fixed because downstream tooling
cannot consume them. Do not infer override authority from a normal loop request.
Reviewer prompt
Use the design-doc-reviewer skill for an independent <initial|follow-up> review.
Design: <path>
Prior review: <path or none>
Stay read-only. Save the next versioned review artifact. Run author-mode
story-contract validation. For a follow-up, verify prior blockers, changed and
affected surfaces, and critical regressions; widen only if cross-cutting changes
require it.
Return:
- Review artifact:
- Verdict: Ready | Not ready
- Mechanical validation: Pass | Fail
- Blocking findings:
- Non-blocking suggestions:
- User decisions required:
- Affected story IDs:
Final report
Report the design path, latest versioned review artifact, pass count,
author-mode and delivery-mode validation results, final status, any waived
non-blocking suggestions, and remaining user decisions or risks. Do not start
design-to-issues or feature-delivery.
1---2name: design-doc-review-loop3description: Coordinate independent review and focused revision of an existing design doc until mechanical validation passes and no blocking design findings remain, then exclusively promote it to Revised for feature-delivery. Use when asked to review and revise, repeat until ready, prepare a design for delivery, or start a reviewer worker and address feedback.4---56# Design Doc Review Loop78Coordinate independent review and revision without turning review history into9the implementation specification.1011Read12[`../design-doc/references/design-contract.md`](../design-doc/references/design-contract.md),13the target design, and repository instructions. This skill owns normal14promotion to `Revised`; it does not synchronize issues or implement stories.1516## Independence1718Use a fresh reviewer subagent for each review pass and require it to follow19`design-doc-reviewer`. Reviewers remain read-only. The coordinator or a separate20writer applies revisions so the reviewer does not approve its own work.2122If delegation requires permission, the user's request to use this loop, repeat23review, prepare for feature delivery, or start a reviewer is sufficient24authorization. Otherwise request permission before delegating.2526## Workflow27281. **Select the design.** Use the supplied path. If discovery leaves multiple29 plausible non-review documents, ask the user to choose.302. **Keep it Draft.** A document under review or revision remains `Draft`, even31 if it entered the loop as `Revised`.323. **Run an initial review.** Ask a fresh reviewer to perform the full,33 repository-grounded review and author-mode mechanical validation. Save it to34 the next versioned review path.354. **Handle the verdict.**36 - If validation passes and blocking findings are zero, continue to promotion.37 - If a blocker needs product authority or would expand scope, remove/defer a38 story, choose a destructive migration, or change an explicit user39 decision, pause for the user.40 - Otherwise revise against the evidence and required invariant.415. **Revise economically.** Triage findings as accepted, addressed by a smaller42 alternative, rejected with evidence, or requiring user input. Do not blindly43 implement the reviewer's example solution. Update every affected canonical44 story when shared requirements change. Add only a one-line changelog entry45 to the design; keep detailed dispositions in the versioned review artifact46 or handoff.476. **Run focused follow-up review.** A fresh reviewer verifies prior blockers,48 changed and affected surfaces, mechanical validation, and critical49 regressions. It widens to a full review when cross-cutting changes make that50 necessary.517. **Converge or stop.** Repeat while progress is being made, with a default52 limit of five passes. Non-blocking suggestions may remain or be explicitly53 waived. They do not trigger another pass. At the limit, or when the same54 blocker cannot be resolved without user input, report it and leave `Draft`.558. **Promote and prove readiness.** After the latest independent review says56 `Ready`, set the status to `Revised`, add a compact dated changelog line, and57 run:5859 ```bash60 python3 <story-contract-script> <design-doc> \61 --repo-root <repository-root> --mode delivery62 ```6364 If delivery-mode validation fails, restore `Draft`, fix the mechanical65 failure, and obtain another independent focused review before promotion.6667An explicit user override may promote a mechanically valid document despite68semantic review findings, but state the exact risk and preserve the override in69the changelog. Mechanical failures must be fixed because downstream tooling70cannot consume them. Do not infer override authority from a normal loop request.7172## Reviewer prompt7374```text75Use the design-doc-reviewer skill for an independent <initial|follow-up> review.7677Design: <path>78Prior review: <path or none>7980Stay read-only. Save the next versioned review artifact. Run author-mode81story-contract validation. For a follow-up, verify prior blockers, changed and82affected surfaces, and critical regressions; widen only if cross-cutting changes83require it.8485Return:86- Review artifact:87- Verdict: Ready | Not ready88- Mechanical validation: Pass | Fail89- Blocking findings:90- Non-blocking suggestions:91- User decisions required:92- Affected story IDs:93```9495## Final report9697Report the design path, latest versioned review artifact, pass count,98author-mode and delivery-mode validation results, final status, any waived99non-blocking suggestions, and remaining user decisions or risks. Do not start100`design-to-issues` or `feature-delivery`.