nWave/skills/nw-diverge/SKILL.md
Generates 3-5 divergent design directions through JTBD analysis, competitive research, structured brainstorming, and taste evaluation before convergence. Use when the team has a validated problem but hasn't chosen a solution approach.
npx skillsauth add nwave-ai/nwave nw-divergeInstall 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.
Wave: DIVERGE (between DISCOVER and DISCUSS, optional) | Agent: Flux (nw-diverger) | Command: /nw-diverge
Execute DIVERGE wave through Flux's 4-phase workflow: JTBD analysis|competitive research|structured brainstorming|taste-filtered evaluation. Transforms a validated problem into 3-5 concrete, taste-scored design directions so DISCUSS can converge on one with confidence.
DIVERGE is optional. Brownfield features with a clear direction may skip it (see skip checklist in design spec). New products and pivot decisions benefit most from structured divergence.
Question: What type of work is this? Options:
Question: How deep should competitive research go? Options:
Before beginning DIVERGE work, read SSOT and prior wave artifacts:
docs/product/ exists):
docs/product/jobs.yaml -- validated jobs and opportunity scoresdocs/product/vision.md -- product vision and strategic contextdocs/project-brief.md | docs/stakeholders.yaml (if available)docs/feature/{feature-id}/discover/ (if present)
wave-decisions.md -- validated assumptions and key decisionsproblem-validation.md -- customer evidence grounding the problemMigration gate: If docs/product/ does not exist but docs/feature/ has existing features, STOP. Guide the user to docs/guides/migrating-to-ssot-model/README.md and complete the migration first. If greenfield, DIVERGE will bootstrap docs/product/jobs.yaml with the validated job.
READING ENFORCEMENT: You MUST read every file listed in Prior Wave Consultation above using the Read tool before proceeding. After reading, output a confirmation checklist. Do NOT skip files that exist -- skipping causes options disconnected from evidence.
@nw-diverger
Execute *diverge for {feature-id}.
Context Files: see Prior Wave Consultation above + project context files.
Configuration:
SKILL_LOADING: Before starting work, load your skill files using the Read tool from ~/.claude/skills/nw-{skill-name}/SKILL.md. Skills encode your methodology -- without them you operate with generic knowledge only.
At the start of execution, create these tasks using TaskCreate and follow them in order:
jtbd-analysis skill. Extract and elevate the job from the raw request or DISCOVER evidence. Produce job statements (functional + emotional + social) and ODI outcome statements. Gate: job at strategic or physical level (not tactical), minimum 3 ODI outcome statements produced.nw-researcher sub-agent for evidence-grounded competitive research. Map how existing products serve the validated job. Identify non-obvious alternatives. Gate: 3+ real competitors named, at least one non-obvious alternative, evidence quality confirmed.brainstorming skill. Frame HMW question, apply SCAMPER lenses, generate structurally diverse options. Gate: 6 options generated with diversity confirmed (mechanism, assumption, and cost structure differ across options).taste-evaluation skill. Apply DVF filter, score surviving options on 4 taste criteria with locked weights, produce weighted ranking and recommendation with dissenting case. Gate: all surviving options scored on all 4 criteria, recommendation traceable to scoring matrix, dissenting case documented.nw-diverger-reviewer (Prism) to validate all 5 dimensions. Revise if needed (max 2 iterations). Gate: reviewer approval confirmed, handoff accepted by nw-product-owner.Handoff To: nw-product-owner (DISCUSS wave)
Deliverables: recommendation.md with explicit decision statement + supporting DIVERGE artifacts
Before completing DIVERGE, produce (or append to) docs/feature/{feature-id}/wave-decisions.md:
# DIVERGE Decisions -- {feature-id}
## Key Decisions
- [D1] {decision}: {rationale} (see: {source-file})
## Job Summary
- Validated job: {job statement at strategic/physical level}
- ODI outcomes: {count} outcome statements
## Options Evaluated
- {count} options generated, {count} survived DVF filter
- Recommended: {option name} -- {one-line rationale}
- Dissent: {second-place option} -- {why it might be better under different assumptions}
## SSOT Updates
- jobs.yaml: {created|updated} with job JOB-{NNN}
After producing feature-level artifacts, update the product-level SSOT:
docs/product/jobs.yaml with the validated job from Phase 1. Add changelog entry referencing this feature-id.docs/product/ does not exist, create the directory. This is the SSOT bootstrap.SSOT files use schema_version and changelog fields. See canonical schema in the design spec.
docs/feature/{feature-id}/) recommendation.md (top 3 options, dissenting case, decision for DISCUSS)
wave-decisions.md (DIVERGE section appended)
docs/feature/{feature-id}/diverge/) job-analysis.md (validated job + ODI outcome statements)
competitive-research.md (prior art, competitor analysis, non-obvious alternatives)
options-raw.md (all generated options, unfiltered, no evaluation)
taste-evaluation.md (DVF filter, locked weights, scoring matrix)
review.yaml (peer review result from nw-diverger-reviewer)
docs/product/) jobs.yaml (created or updated with validated job + changelog entry)
/nw-diverge notification-system
DISCOVER artifacts present with validated problem. Flux reads problem-validation.md, extracts job ("minimize likelihood of developers missing critical failure signals"), researches 5 notification tools including non-obvious alternatives (ambient light signals, IDE annotations), generates 6 structurally diverse options, scores with taste evaluation, recommends proactive push with Slack integration. Updates jobs.yaml with validated job.
/nw-diverge rate-limiting
No DISCOVER artifacts. Flux works from project-brief.md and direct conversation. Extracts job via 5 Whys from "we need rate limiting" to strategic level. Creates docs/product/jobs.yaml (SSOT bootstrap). Proceeds through all 4 phases.
/nw-diverge --skip auth-bugfix
Skip checklist evaluated: clear direction exists (bugfix), no competing approaches, self-evident path. DIVERGE skipped. User directed to /nw-discuss or /nw-distill depending on work type.
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.
development
Cross-agent collaboration protocols, workflow handoff patterns, and commit message formats for TDD/Mikado/refactoring workflows
development
Creates a phased roadmap.json for a feature goal with acceptance criteria and TDD steps. Use when planning implementation steps before execution.
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.