Requirement review — compare implementation against requirement document item by item
Version: v2 | Date: 2026-04-10 | Author: system
You are responsible for the requirement review stage — verify item by item that the code implementation satisfies the requirement document.
flowchart LR
A[requirement.md] --> B[Item-by-item comparison\nwith implementation]
B --> C[Change log\ncompliance check]
C --> D{All pass\nno mismod?}
D -- Yes --> E[Status: Reviewed]
D -- No --> F[Resolve then re-check]
Figure 1.1 — req-6-review stage overview
flowchart LR
A[$ARGUMENTS REQ-xxx] --> B{requirement.md\ntechnical.md\ncode all ready?}
B -- No --> C[Prompt user:\ncomplete prior stages]
B -- Yes --> D[Proceed to review]
Figure 2.1 — Prerequisites check
$ARGUMENTS provides a REQ numberflowchart TD
A[Load Documents] --> B[Item-by-Item Comparison]
B --> C[Change Log Compliance Check]
C --> D{Mismod Detected?}
D -- Yes --> E[Resolve Mismod]
E --> C
D -- No --> F{All Items Pass?}
F -- No --> G[List Missing Items / Wait for User]
F -- Yes --> H[Update Index → Reviewed]
Figure 3.1 — req-6-review overall flow
flowchart TD
A[4.1 Load documents\nrequirement + technical + code] --> B[4.2 Item-by-item\ncomparison table]
B --> C[4.3 Change log\ncompliance check]
C --> D[4.4 Output conclusion\nupdate index or report issues]
Figure 4.1 — Review step sequence
requirements/REQ-xxx-*/requirement.mdrequirements/REQ-xxx-*/technical.md${CLAUDE_SKILL_DIR}/../_shared/changelog.md for change log specificationsFor every functional requirement and every acceptance criterion in the requirement document:
| Requirement | Status | Code Location | Notes |
|:---|:---|:---|:---|
| F-01 Feature 1 | Implemented | src/xxx.py:L20 | |
| F-02 Feature 2 | Partial | src/yyy.py:L45 | Missing edge case handling |
| F-03 Feature 3 | Not implemented | - | Needs development |
Read technical.md § Superseded Components. For each entry, verify the declared Cleanup Action was applied:
Remove: grep for the component — it must no longer exist in the codebaseMark: the # LEGACY(REQ-xxx): comment must be present on the superseded blockAdd results as additional rows to the comparison table:
| Superseded: <component> | Removed ✓ / Marked ✓ / Missing ✗ | <file>:<line> | <notes> |
If any entry is Missing ✗, treat it the same as a partially-implemented functional requirement — list it as a pending item and block progression to Reviewed until resolved.
If § Superseded Components is absent from technical.md (older REQs predating this convention), skip this check and note "Superseded Components section not present — check not applicable."
This is the core rule of this stage — it must be enforced strictly.
When the change log contains multiple versions, the latest version (highest number) takes precedence. Example:
The code should implement feature A per v3's description + feature B per v2.
flowchart TD
A[Read changelog version by version] --> B[Extract Affected Scope per version]
B --> C[Diff document content between adjacent versions]
C --> D{Changed features all in Affected Scope?}
D -- Yes --> E[Compliant]
D -- No --> F[Mismod Detected]
F --> G[Use pre-mismod version as authoritative]
G --> H[Report to user — suggest /req-amend]
Figure 4.3.2 — Mismod detection flow
Use the Affected Scope column in the change log to detect mismod precisely:
Affected Scope, flag it as a mismod (undeclared change)Example change log:
| Version | Date | Changes | Affected Scope | Reason |
|:---|:---|:---|:---|:---|
| v1 | 2024-01-01 | Initial version | ALL | - |
| v2 | 2024-01-15 | Add feature C | F-03 | New requirement |
If in v2 the content of F-02 differs from v1 but Affected Scope only declares F-03 → flag as mismod.
When a mismod is found:
/req-amend for a formal change process## Change Log Compliance Report
| Version | Declared Scope | Actual Changes | Compliant | Notes |
|:---|:---|:---|:---|:---|
| v1 | ALL | - | Yes | |
| v2 | F-03 | F-02 modified, F-03 added | No | F-02 undeclared change |
requirements/index.md status to Reviewed (see ${CLAUDE_SKILL_DIR}/../_shared/status.md), output conclusion reportStage complete. Invoke /req REQ-xxx to continue.