/nw-diverger-review-criteria
Review criteria for the nw-diverger-reviewer — validates JTBD rigor, research quality, option diversity, taste application correctness, and recommendation coherence in DIVERGE wave artifacts
Claude Code
$ npx -y skills add nWave-ai/nWave --skill nw-diverger-review-criteria --agent claude-code
Codex
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a codex -y
Cursor
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a cursor -y
Gemini CLI
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a gemini-cli -y
GitHub Copilot
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a github-copilot -y
OpenCode
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a opencode -y
Windsurf
$ npx skills add nWave-ai/nWave --skill nw-diverger-review-criteria -a windsurf -y
SKILL.md
nw-diverger-review-criteria.SKILL.mdname: nw-diverger-review-criteria
description: Review criteria for the nw-diverger-reviewer — validates JTBD rigor, research quality, option diversity, taste application correctness, and recommendation coherence in DIVERGE wave artifacts
user-invocable: false
disable-model-invocation: true
Diverger Review Criteria
Role
You are reviewing DIVERGE wave artifacts. Your job is adversarial: assume artifacts have problems until you prove they don't. Flag issues before the team commits to a design direction.
Five artifact files to review:
- `docs/feature/{id}/diverge/job-analysis.md`
- `docs/feature/{id}/diverge/competitive-research.md`
- `docs/feature/{id}/diverge/options-raw.md`
- `docs/feature/{id}/diverge/taste-evaluation.md`
- `docs/feature/{id}/diverge/recommendation.md`
---
Dimension 1: JTBD Rigor
Check 1.1 — Abstraction Level
**Requirement**: Job must be at strategic or physical level, not tactical.
**FAIL signals** (quote from artifact when found):
- Job statement describes a feature: "When I need to see status, I want a dashboard..."
- Job statement contains a solution reference: "When using the app, I want to..."
- Job reads like a user story: "As a developer, I want to..."
**PASS signal**: Job statement answers "what progress is being made?" without specifying how.
Check 1.2 — First-Principles Extraction
**Requirement**: Evidence of 5-Why or abstraction-layer navigation.
**FAIL signals**:
- Job accepted as stated by user without elevation
- No "why?" chain documented
- Functional, emotional, and social jobs not distinguished
**PASS signal**: At least one level of elevation documented, from the raw request to the extracted job.
Check 1.3 — Outcome Statement Quality
**Requirement**: ODI-format outcome statements (direction + metric + object): Minimize, or Maximize when more is genuinely better.
**FAIL signals**:
- "Easy", "reliable", "good", "effective" in outcome statements
- Solution references: "using AI", "via the dashboard"
- Compound statements with "and"/"or"
- Future-intent framing: "would reduce"
**PASS signal**: Each statement starts with "Minimize the [time/likelihood/effort]..." or a justified "Maximize the [metric]..." and is solution-agnostic.
---
Dimension 2: Research Quality
Check 2.1 — Evidence vs Opinion
**Requirement**: Competitive research cites real products, real behaviors, real data.
**FAIL signals**:
- "Most users probably..." without source
- "The market suggests..." without citation
- Competitor descriptions without named products
- Generic claims not tied to specific evidence
**PASS signal**: Each competitive insight names a real product or cites a real behavior/metric.
Check 2.2 — Prior Art Coverage
**Requirement**: Research covers at least 3 existing solutions to the validated job.
**FAIL signals**:
- Research covers only direct competitors (ignores adjacent solutions)
- "No existing solutions" claim without justification
- Research treats the feature space, not the job space
**PASS signal**: Research includes at least one surprising or non-obvious alternative (a different category that does the same job).
---
Dimension 3: Option Diversity
Check 3.1 — Structural Diversity
**Requirement**: 6 options, each structurally different (different mechanism, different assumption, different cost profile).
**FAIL signals**:
- Two or more options differ only in degree, not kind ("Option A: full dashboard" / "Option B: mini dashboard")
- Options cluster around one approach with minor variations
- No option represents a radical simplification (SCAMPER "Eliminate")
- No option inverts the workflow (SCAMPER "Reverse")
- Most stated probability mass sits on options sharing one mechanism (head-clustering), or stated_probability is missing or not restated as one distribution over the curated six (summing to 1)
- Fewer than two tail candidates (stated probability at most 0.2 within the distribution the candidate was drawn from) among the curated six, unless the single tail candidate's mechanism differs from every head candidate's
- Any option missing name_origin (user-words or coined)
**PASS signal**: Applying the 3-point diversity test to each pair of the 6 curated options before DVF filtering — they differ in mechanism, assumption and cost profile. The stated probabilities (stated estimates, not measurements), restated as one distribution over the curated six, show no head-clustering: no single mechanism family holds most of the stated mass. At least two options are tail candidates, or the one tail candidate differs in mechanism from every head candidate. Every option carries name_origin. Documented DVF eliminations may reduce the surviving set.
Check 3.2 — Generation Discipline
**Requirement**: Options were generated before evaluation (separation principle).
**FAIL signal**: Options-raw.md contains evaluative language ("This is the best because...", "This won't work because...") mixed with generation content.
**PASS signal**: options-raw.md is purely descriptive; evaluation appears only in taste-evaluation.md.
Check 3.3 — HMW Framing Quality
**Requirement**: The HMW question doesn't embed a solution.
**FAIL signals**:
- HMW question names a specific technology: "How might we use AI to..."
- HMW question names a specific UI pattern: "How might we build a dashboard that..."
- HMW question is narrower than the validated job
**PASS signal**: HMW question can be answered by options that don't share the same technology or UI pattern.
---
Dimension 4: Taste Application
Check 4.1 — Criteria Applied Consistently
**Requirement**: All four taste criteria (Subtraction, Concept Count, Progressive Disclosure, Speed-as-Trust) applied to all surviving options.
**FAIL signals**:
- Some options scored on fewer criteria than others
- Criteria added or removed mid-evaluation
- DVF elimination not documented (options disappeared without reason)
**PASS signal**: Full scoring matrix present
Read more
name: nw-diverger-review-criteria description: Review criteria for the nw-diverger-reviewer — validates JTBD rigor, research quality, option diversity, taste application correctness, and recommendation coherence in DIVERGE wave artifacts user-invocable: false disable-model-invocation: true
Diverger Review Criteria
Role
You are reviewing DIVERGE wave artifacts. Your job is adversarial: assume artifacts have problems until you prove they don't. Flag issues before the team commits to a design direction.
Five artifact files to review:
- `docs/feature/{id}/diverge/job-analysis.md`
- `docs/feature/{id}/diverge/competitive-research.md`
- `docs/feature/{id}/diverge/options-raw.md`
- `docs/feature/{id}/diverge/taste-evaluation.md`
- `docs/feature/{id}/diverge/recommendation.md`
---
Dimension 1: JTBD Rigor
Check 1.1 — Abstraction Level
**Requirement**: Job must be at strategic or physical level, not tactical.
**FAIL signals** (quote from artifact when found):
- Job statement describes a feature: "When I need to see status, I want a dashboard..."
- Job statement contains a solution reference: "When using the app, I want to..."
- Job reads like a user story: "As a developer, I want to..."
**PASS signal**: Job statement answers "what progress is being made?" without specifying how.
Check 1.2 — First-Principles Extraction
**Requirement**: Evidence of 5-Why or abstraction-layer navigation.
**FAIL signals**:
- Job accepted as stated by user without elevation
- No "why?" chain documented
- Functional, emotional, and social jobs not distinguished
**PASS signal**: At least one level of elevation documented, from the raw request to the extracted job.
Check 1.3 — Outcome Statement Quality
**Requirement**: ODI-format outcome statements (direction + metric + object): Minimize, or Maximize when more is genuinely better.
**FAIL signals**:
- "Easy", "reliable", "good", "effective" in outcome statements
- Solution references: "using AI", "via the dashboard"
- Compound statements with "and"/"or"
- Future-intent framing: "would reduce"
**PASS signal**: Each statement starts with "Minimize the [time/likelihood/effort]..." or a justified "Maximize the [metric]..." and is solution-agnostic.
---
Dimension 2: Research Quality
Check 2.1 — Evidence vs Opinion
**Requirement**: Competitive research cites real products, real behaviors, real data.
**FAIL signals**:
- "Most users probably..." without source
- "The market suggests..." without citation
- Competitor descriptions without named products
- Generic claims not tied to specific evidence
**PASS signal**: Each competitive insight names a real product or cites a real behavior/metric.
Check 2.2 — Prior Art Coverage
**Requirement**: Research covers at least 3 existing solutions to the validated job.
**FAIL signals**:
- Research covers only direct competitors (ignores adjacent solutions)
- "No existing solutions" claim without justification
- Research treats the feature space, not the job space
**PASS signal**: Research includes at least one surprising or non-obvious alternative (a different category that does the same job).
---
Dimension 3: Option Diversity
Check 3.1 — Structural Diversity
**Requirement**: 6 options, each structurally different (different mechanism, different assumption, different cost profile).
**FAIL signals**:
- Two or more options differ only in degree, not kind ("Option A: full dashboard" / "Option B: mini dashboard")
- Options cluster around one approach with minor variations
- No option represents a radical simplification (SCAMPER "Eliminate")
- No option inverts the workflow (SCAMPER "Reverse")
- Most stated probability mass sits on options sharing one mechanism (head-clustering), or stated_probability is missing or not restated as one distribution over the curated six (summing to 1)
- Fewer than two tail candidates (stated probability at most 0.2 within the distribution the candidate was drawn from) among the curated six, unless the single tail candidate's mechanism differs from every head candidate's
- Any option missing name_origin (user-words or coined)
**PASS signal**: Applying the 3-point diversity test to each pair of the 6 curated options before DVF filtering — they differ in mechanism, assumption and cost profile. The stated probabilities (stated estimates, not measurements), restated as one distribution over the curated six, show no head-clustering: no single mechanism family holds most of the stated mass. At least two options are tail candidates, or the one tail candidate differs in mechanism from every head candidate. Every option carries name_origin. Documented DVF eliminations may reduce the surviving set.
Check 3.2 — Generation Discipline
**Requirement**: Options were generated before evaluation (separation principle).
**FAIL signal**: Options-raw.md contains evaluative language ("This is the best because...", "This won't work because...") mixed with generation content.
**PASS signal**: options-raw.md is purely descriptive; evaluation appears only in taste-evaluation.md.
Check 3.3 — HMW Framing Quality
**Requirement**: The HMW question doesn't embed a solution.
**FAIL signals**:
- HMW question names a specific technology: "How might we use AI to..."
- HMW question names a specific UI pattern: "How might we build a dashboard that..."
- HMW question is narrower than the validated job
**PASS signal**: HMW question can be answered by options that don't share the same technology or UI pattern.
---
Dimension 4: Taste Application
Check 4.1 — Criteria Applied Consistently
**Requirement**: All four taste criteria (Subtraction, Concept Count, Progressive Disclosure, Speed-as-Trust) applied to all surviving options.
**FAIL signals**:
- Some options scored on fewer criteria than others
- Criteria added or removed mid-evaluation
- DVF elimination not documented (options disappeared without reason)
**PASS signal**: Full scoring matrix present
AI agents that guide you from idea to working code, with human judgment at every gate. nWave runs inside Claude Code. It breaks feature delivery into seven waves (discover, diverge, discuss, design, devops, distill, deliver).
Other skills on nwave.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about nw-diverger-review-criteria.
- Which coding agents can use nw-diverger-review-criteria?
- nw-diverger-review-criteria installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

