/nw-review
Dispatches an expert reviewer agent to critique workflow artifacts. Use when a roadmap, implementation, or step needs quality review before proceeding.
$ npx -y skills add nWave-ai/nWave --skill nw-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nw-review
Context preview
The summary Claude sees to decide when to auto-load this skill.
Dispatches an expert reviewer agent to critique workflow artifacts. Use when a roadmap, implementation, or step needs quality review before proceeding.
SKILL.md
nw-review.SKILL.mdname: nw-review
description: "Dispatches an expert reviewer agent to critique workflow artifacts. Use when a roadmap, implementation, or step needs quality review before proceeding."
user-invocable: true
argument-hint: '[agent] [artifact-type] [artifact-path] - Example: @software-crafter task "roadmap.json"'
NW-REVIEW: Expert Critique and Quality Assurance
**Wave**: CROSS_WAVE **Agent**: Dynamic (nw-*-reviewer)
Overview
Dispatches expert reviewer agent to critique workflow artifacts. Takes base agent name, appends `-reviewer`, invokes with artifact. Reviewer agent owns all review methodology|criteria|output format.
Review Philosophy: Radical Candor
Every review MUST embody Radical Candor — kind AND clear, specific AND sincere:
- **Care personally**: Acknowledge what works. Understand author's intent before critiquing. Include at least one genuine `praise:` per review.
- **Challenge directly**: Be specific about what is wrong and WHY. Ground feedback in evidence|consequences, not preference. Never soften security/data-loss issues.
- **Avoid ruinous empathy**: Never "LGTM" when real issues exist. Hedging ("maybe consider possibly...") on blocking concerns is a review failure.
- **Avoid obnoxious aggression**: Never "this is terrible" without constructive alternative. Focus on work, not author. Explain "why" behind every critique.
Feedback Format: Conventional Comments
All findings MUST use Conventional Comments labels:
| Label | Purpose | Blocking? | |---|---|---| | `praise:` | Highlight something done well (genuine, not filler) | No | | `issue (blocking):` | Must be resolved before proceeding | Yes | | `issue (blocking, security):` | Security vulnerability — maximum directness | Yes | | `suggestion:` | Propose improvement with reasoning | Mark `(blocking)` or `(non-blocking)` | | `nitpick (non-blocking):` | Trivial, preference-based | No | | `question (non-blocking):` | Seek clarification before assuming | No | | `thought (non-blocking):` | Idea sparked by the review | No |
Findings MUST be priority-ordered: blocking issues first, then suggestions, then nitpicks/praise.
Approval Criteria
| Verdict | Criteria | |---|---| | **APPROVED** | No blocking issues. Non-blocking feedback is advisory. | | **NEEDS_REVISION** | Blocking issues exist. Author must address. Each blocking issue enumerated. | | **REJECTED** | Fundamental design problems requiring significant rework. Rare — explain thoroughly, offer alternatives. |
Syntax
/nw-review @{agent-name} {artifact-type} "{artifact-path}" [step_id={id}] [--dimensions=rpp] [--from=1] [--to=3]**Parameters:**
- `@{agent-name}` - Base agent (e.g., `@nw-software-crafter`). `-reviewer` suffix appended automatically.
- `{artifact-type}` - One of: `baseline`, `roadmap`, `step`, `task`, `implementation`
- `{artifact-path}` - Path to artifact file (resolved to absolute)
- `step_id={id}` - Required for step and implementation reviews
- `--dimensions=rpp` - Triggers RPP code smell scan alongside standard review (Dimension 4)
- `--from=N` / `--to=N` - RPP level range (default: 1-6). Requires `--dimensions=rpp`
Rigor Profile Integration
Before dispatching the reviewer agent, read rigor config from `.nwave/des-config.json` (key: `rigor`). If absent, use standard defaults.
- **`review_enabled`**: If `false`, skip the review entirely. Output: "Review skipped per rigor profile (review_enabled=false)."
- **`reviewer_model`**: Pass as `model` parameter to Task tool. If `"skip"`, skip the review. Overrides the default Haiku model.
- **`double_review`**: If `true` and called from deliver Phase 4, the caller is responsible for invoking review twice.
Agent Derivation
| User provides | Reviewer invoked | |---|---| | `@nw-software-crafter` | `nw-software-crafter-reviewer` | | `@nw-solution-architect` | `nw-solution-architect-reviewer` | | `@nw-platform-architect` | `nw-platform-architect-reviewer` |
Default model: Haiku (overridden by `rigor.reviewer_model` when set).
Agent Invocation
1. **Parse parameters** — Strip `@` from agent name, resolve artifact path to absolute, extract optional step_id, dimensions, from/to range. Gate: all parameters parsed. 2. **Read rigor config** — Read `.nwave/des-config.json` key `rigor`. If absent, use standard defaults. Gate: rigor profile loaded or defaults applied. 3. **Validate inputs** — Run all four validation checks below. Gate: zero validation failures. 4. **Apply rigor overrides** — Check `review_enabled` (skip if false), determine model from `reviewer_model` (default: haiku, skip if "skip"). Gate: execution decision made. 5. **Invoke reviewer** — Call Task tool with `subagent_type="{agent-name}-reviewer"`, resolved model, and prompt `"Review {artifact-type}: {absolute-artifact-path} [step_id={id}]"`. Reviewer handles reading artifact, applying domain expertise, generating structured critique, updating original artifact with review metadata. Gate: Task tool invoked.
Validation (before invoking)
1. **Agent exists** — Strip `@`, check agent name against agent registry. Gate: agent found or return "Unknown agent: {name}. Check available agents with /nw-agents." 2. **Artifact type valid** — Confirm type is one of: baseline, roadmap, step, task, implementation. Gate: type valid or return "Invalid artifact type: {type}. Use: baseline, roadmap, step, task, implementation." 3. **Artifact file exists** — Resolve to absolute path and confirm file exists. Gate: file found or return "Artifact not found: {path}." 4. **step_id present when required** — Require step_id when artifact type is `step` or `implementation`. Gate: step_id provided or return "step_id required for {type} reviews."
Success Criteria
- [ ] Reviewer agent invoked (not self-performed)
- [ ] Original artifact file updated with review metadata
- [ ] Review includes severity levels and approval status (APPROVED, NEEDS_REVISION, REJECTED)
Examples
Example 1: Step review
/nw-review @nw-software-
Read more
name: nw-review description: "Dispatches an expert reviewer agent to critique workflow artifacts. Use when a roadmap, implementation, or step needs quality review before proceeding." user-invocable: true argument-hint: '[agent] [artifact-type] [artifact-path] - Example: @software-crafter task "roadmap.json"'
NW-REVIEW: Expert Critique and Quality Assurance
**Wave**: CROSS_WAVE **Agent**: Dynamic (nw-*-reviewer)
Overview
Dispatches expert reviewer agent to critique workflow artifacts. Takes base agent name, appends `-reviewer`, invokes with artifact. Reviewer agent owns all review methodology|criteria|output format.
Review Philosophy: Radical Candor
Every review MUST embody Radical Candor — kind AND clear, specific AND sincere:
- **Care personally**: Acknowledge what works. Understand author's intent before critiquing. Include at least one genuine `praise:` per review.
- **Challenge directly**: Be specific about what is wrong and WHY. Ground feedback in evidence|consequences, not preference. Never soften security/data-loss issues.
- **Avoid ruinous empathy**: Never "LGTM" when real issues exist. Hedging ("maybe consider possibly...") on blocking concerns is a review failure.
- **Avoid obnoxious aggression**: Never "this is terrible" without constructive alternative. Focus on work, not author. Explain "why" behind every critique.
Feedback Format: Conventional Comments
All findings MUST use Conventional Comments labels:
| Label | Purpose | Blocking? | |---|---|---| | `praise:` | Highlight something done well (genuine, not filler) | No | | `issue (blocking):` | Must be resolved before proceeding | Yes | | `issue (blocking, security):` | Security vulnerability — maximum directness | Yes | | `suggestion:` | Propose improvement with reasoning | Mark `(blocking)` or `(non-blocking)` | | `nitpick (non-blocking):` | Trivial, preference-based | No | | `question (non-blocking):` | Seek clarification before assuming | No | | `thought (non-blocking):` | Idea sparked by the review | No |
Findings MUST be priority-ordered: blocking issues first, then suggestions, then nitpicks/praise.
Approval Criteria
| Verdict | Criteria | |---|---| | **APPROVED** | No blocking issues. Non-blocking feedback is advisory. | | **NEEDS_REVISION** | Blocking issues exist. Author must address. Each blocking issue enumerated. | | **REJECTED** | Fundamental design problems requiring significant rework. Rare — explain thoroughly, offer alternatives. |
Syntax
/nw-review @{agent-name} {artifact-type} "{artifact-path}" [step_id={id}] [--dimensions=rpp] [--from=1] [--to=3]**Parameters:**
- `@{agent-name}` - Base agent (e.g., `@nw-software-crafter`). `-reviewer` suffix appended automatically.
- `{artifact-type}` - One of: `baseline`, `roadmap`, `step`, `task`, `implementation`
- `{artifact-path}` - Path to artifact file (resolved to absolute)
- `step_id={id}` - Required for step and implementation reviews
- `--dimensions=rpp` - Triggers RPP code smell scan alongside standard review (Dimension 4)
- `--from=N` / `--to=N` - RPP level range (default: 1-6). Requires `--dimensions=rpp`
Rigor Profile Integration
Before dispatching the reviewer agent, read rigor config from `.nwave/des-config.json` (key: `rigor`). If absent, use standard defaults.
- **`review_enabled`**: If `false`, skip the review entirely. Output: "Review skipped per rigor profile (review_enabled=false)."
- **`reviewer_model`**: Pass as `model` parameter to Task tool. If `"skip"`, skip the review. Overrides the default Haiku model.
- **`double_review`**: If `true` and called from deliver Phase 4, the caller is responsible for invoking review twice.
Agent Derivation
| User provides | Reviewer invoked | |---|---| | `@nw-software-crafter` | `nw-software-crafter-reviewer` | | `@nw-solution-architect` | `nw-solution-architect-reviewer` | | `@nw-platform-architect` | `nw-platform-architect-reviewer` |
Default model: Haiku (overridden by `rigor.reviewer_model` when set).
Agent Invocation
1. **Parse parameters** — Strip `@` from agent name, resolve artifact path to absolute, extract optional step_id, dimensions, from/to range. Gate: all parameters parsed. 2. **Read rigor config** — Read `.nwave/des-config.json` key `rigor`. If absent, use standard defaults. Gate: rigor profile loaded or defaults applied. 3. **Validate inputs** — Run all four validation checks below. Gate: zero validation failures. 4. **Apply rigor overrides** — Check `review_enabled` (skip if false), determine model from `reviewer_model` (default: haiku, skip if "skip"). Gate: execution decision made. 5. **Invoke reviewer** — Call Task tool with `subagent_type="{agent-name}-reviewer"`, resolved model, and prompt `"Review {artifact-type}: {absolute-artifact-path} [step_id={id}]"`. Reviewer handles reading artifact, applying domain expertise, generating structured critique, updating original artifact with review metadata. Gate: Task tool invoked.
Validation (before invoking)
1. **Agent exists** — Strip `@`, check agent name against agent registry. Gate: agent found or return "Unknown agent: {name}. Check available agents with /nw-agents." 2. **Artifact type valid** — Confirm type is one of: baseline, roadmap, step, task, implementation. Gate: type valid or return "Invalid artifact type: {type}. Use: baseline, roadmap, step, task, implementation." 3. **Artifact file exists** — Resolve to absolute path and confirm file exists. Gate: file found or return "Artifact not found: {path}." 4. **step_id present when required** — Require step_id when artifact type is `step` or `implementation`. Gate: step_id provided or return "step_id required for {type} reviews."
Success Criteria
- [ ] Reviewer agent invoked (not self-performed)
- [ ] Original artifact file updated with review metadata
- [ ] Review includes severity levels and approval status (APPROVED, NEEDS_REVISION, REJECTED)
Examples
Example 1: Step review
/nw-review @nw-software-
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).
Repo: nWave-ai/nWave
Other skills on nwave.
- /nw-ab-critique-dimensions
Review dimensions for validating agent quality - template compliance, safety, testing, and priority validation
Open skill - /nw-abr-critique-dimensions
Review dimensions for validating agent quality - template compliance, safety, testing, and priority validation
Open skill - /nw-ad-critique-dimensions
Review dimensions for acceptance test quality - happy path bias, GWT compliance, business language purity, coverage completeness, walking skeleton user-centricity, priority validation, observable behavior assertions, traceability coverage, and walking skeleton boundary proof
Open skill - /nw-agent-creation-workflow
Detailed 5-phase workflow for creating agents - from requirements analysis through validation and iterative refinement
Open skill - /nw-agent-testing
5-layer testing approach for agent validation including adversarial testing, security validation, and prompt injection resistance
Open skill - /nw-architectural-styles-tradeoffs
Architectural style selection decision matrices, trade-off analysis, structural enforcement rules, and combination patterns. Load when choosing or evaluating architecture styles.
Open skill

