nWave/skills/nw-po-review-dimensions/SKILL.md
Requirements quality critique dimensions for peer review - confirmation bias detection, completeness validation, clarity checks, testability assessment, and priority validation
npx skillsauth add nwave-ai/nwave nw-po-review-dimensionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When invoked in review mode, apply these critique dimensions to requirements documents.
Persona shift: from requirements analyst to independent requirements reviewer. Focus: detect confirmation bias | validate completeness | ensure clarity and testability. Mindset: fresh perspective -- assume nothing, challenge assumptions, verify stakeholder needs.
Return complete YAML feedback to calling agent for display to user.
Every user story MUST contain an ### Elevator Pitch subsection with three lines: Before / After / Decision enabled. The reviewer checks these invariants:
@infrastructure, the slice has no release value. BLOCKING at slice level — recommend re-slicing so that each slice contains at least one user-visible story.Return this dimension first in the YAML feedback. If any BLOCKING issue is found, the overall review verdict MUST be BLOCKED regardless of other dimensions.
Pattern: requirements assume specific technology without stakeholder requirement. Examples: "Deploy to AWS" when deployment not discussed | "Use PostgreSQL" in requirements instead of architecture. Detection: check for technology specifics (cloud, database, frameworks). Verify stakeholder interviews mentioned these. Severity: HIGH (constrains solution space unnecessarily).
Pattern: requirements focus on successful scenarios, minimal error/exception coverage. Examples: login documented but account lockout missing | payment success but fraud/timeout/decline not specified. Detection: count happy path stories vs error scenarios. Check each story has "sad path" alternatives. Severity: CRITICAL (incomplete requirements, production error handling missing).
Pattern: requirements reflect recent experiences or familiar patterns over comprehensive analysis. Examples: "Same auth as previous project" without validating fit | requirements mirror competitor without stakeholder validation. Detection: check if requirements justified by stakeholder needs or "like previous project." Severity: MEDIUM (sub-optimal solution, missed opportunities).
Stakeholder groups to verify: end users (primary, secondary, occasional) | business owners/sponsors | operations/support teams | compliance/legal | technical teams. Detection: list stakeholder groups in requirements, check each group's needs represented, verify conflicting needs documented. Severity: HIGH.
Required: invalid input validation | authentication/authorization failures | network timeouts | external service unavailability | data integrity violations | concurrent modification conflicts | resource exhaustion. Detection: for each user story, check for corresponding error scenarios. Severity: CRITICAL.
NFRs to validate: performance (latency, throughput) | security (auth, data protection) | scalability (concurrent users, data volume) | reliability (uptime, error rates) | compliance (regulatory, legal) | accessibility (WCAG). Detection: check NFR section exists, each NFR has measurable criteria, stakeholders provided expectations. Severity: CRITICAL.
Pattern: qualitative terms without quantitative thresholds. Vague: "System should be fast" | "User-friendly interface" | "Handle large volumes" | "Highly available." Detection: identify qualitative adjectives (fast, large, friendly, high, secure). Check for corresponding quantitative threshold. Severity: HIGH.
Pattern: requirements interpretable multiple ways. Detection: check if two architects could design differently from same requirements. Look for multi-meaning words. Verify pronouns have clear antecedents. Severity: HIGH.
Pattern: AC not observable, measurable, or automatable. Bad: "System should be easy to use" | "Code should be maintainable." Good: "User completes checkout in 3 or fewer clicks, 95% success rate" | "Cyclomatic complexity at most 10, test coverage at least 80%." Detection: for each AC, ask "Can an automated test verify this?" Check if AC specifies observable behavior with measurable pass/fail. Severity: CRITICAL.
Q1: Is this the largest bottleneck? Does timing data show this is the primary problem? Is there a larger problem being ignored?
Q2: Were simpler alternatives considered? Does the document include rejected alternatives? Are rejection reasons evidence-based?
Q3: Is constraint prioritization correct? Are user-mentioned constraints quantified by impact? Is a minority constraint dominating the solution?
Q4: Is the approach data-justified? Is the key decision supported by quantitative data? Would different data lead to different approach?
review_id: "req_rev_{YYYYMMDD_HHMMSS}"
reviewer: "product-owner (review mode)"
artifact: "{document path}"
iteration: {1 or 2}
strengths:
- "{Positive aspect with specific example}"
issues_identified:
confirmation_bias:
- issue: "{Specific bias detected}"
severity: "critical|high|medium|low"
location: "{Section or US-ID}"
recommendation: "{How to address}"
completeness_gaps:
- issue: "{Missing stakeholder/scenario/NFR}"
severity: "critical|high"
location: "{Section}"
recommendation: "{What to add}"
clarity_issues:
- issue: "{Vague or ambiguous requirement}"
severity: "high"
location: "{Requirement ID}"
recommendation: "{How to clarify}"
testability_concerns:
- issue: "{Non-testable AC}"
severity: "critical"
location: "{AC-ID}"
recommendation: "{How to make testable}"
priority_validation:
q1_largest_bottleneck: "YES|NO|UNCLEAR"
q2_simple_alternatives: "ADEQUATE|INADEQUATE|MISSING"
q3_constraint_prioritization: "CORRECT|INVERTED|NOT_ANALYZED"
q4_data_justified: "JUSTIFIED|UNJUSTIFIED|NO_DATA"
verdict: "PASS|FAIL"
approval_status: "approved|rejected_pending_revisions|conditionally_approved"
critical_issues_count: {number}
high_issues_count: {number}
testing
Acceptance test creation methodology for the DISTILL wave. Domain knowledge for the acceptance designer agent: port-to-port principle, prior wave reading, wave-decision reconciliation, graceful degradation, and document back-propagation.
testing
Methodology for minimizing test count while maximizing behavioral coverage - behavior definition, anti-pattern catalog, consolidation patterns, stopping criterion, coverage-preserving validation
testing
Methodology for minimizing test count while maximizing behavioral coverage - behavior definition, anti-pattern catalog, consolidation patterns, stopping criterion, coverage-preserving validation
development
Design mandates for acceptance tests - hexagonal boundary, business language abstraction, user journey completeness, pure function extraction, 3 Pillars (domain language / chained narrative / production composition), and the layered ATD discipline (Universe-bound assertion, layer-dependent PBT mode, two-tier acceptance, example-based sad paths)