nWave/skills/nw-finalize/SKILL.md
Archives a completed feature to docs/evolution/, migrates lasting artifacts to permanent directories, and cleans up the temporary workspace. Use after all implementation steps pass and mutation testing completes.
npx skillsauth add nwave-ai/nwave nw-finalizeInstall 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: CROSS_WAVE Agent: @nw-platform-architect (default) or specified agent
Finalize a completed feature: verify all steps done|create evolution document|migrate lasting artifacts to permanent directories|clean up temporary workspace. Agent gathers project data|analyzes execution history|writes summaries|migrates|cleans up.
docs/feature/{feature-id}/ is a temporary workspace — it exists during active nWave waves (DISCUSS through DELIVER). At finalize, artifacts with lasting value migrate to permanent directories; the rest is discarded.
/nw-finalize @{agent} "{feature-id}"
The completion-evidence files are docs/feature/{feature-id}/deliver/roadmap.json (the original project plan) and docs/feature/{feature-id}/deliver/execution-log.json (step execution history).
Before dispatching, verify all work is done — prevents archiving incomplete features.
docs/feature/{feature-id}/deliver/execution-log.json. Gate: file readable.DONE. Gate: all steps DONE.execution-log.json + roadmap.json (the step log and plan), and all */wave-decisions.md files. Gate: source files read.docs/evolution/YYYY-MM-DD-{feature-id}.md with: feature summary, business context, key decisions, work completed (from execution-log.json), lessons learned, issues encountered, links to migrated permanent artifacts. Gate: file written.docs/feature/{feature-id}/. Gate: file list produced.| Source (temporary workspace) | Destination (permanent) | Condition |
|---|---|---|
| design/architecture-design.md | docs/architecture/{feature}/ | If exists |
| design/component-boundaries.md | docs/architecture/{feature}/ | If exists |
| design/technology-stack.md | docs/architecture/{feature}/ | If exists |
| design/data-models.md | docs/architecture/{feature}/ | If exists |
| design/adrs/ADR-*.md | docs/adrs/ | Flat namespace, cross-feature |
| distill/walking-skeleton.md | docs/scenarios/{feature}/ | Walking skeleton specification |
| discuss/journey-*.yaml | docs/ux/{feature}/ | If UX journeys exist |
| discuss/journey-*-visual.md | docs/ux/{feature}/ | If UX visuals exist |
Research docs (docs/research/) are already in a permanent location — no migration needed.
These are process scaffolding — valuable during delivery, disposable after:
| File pattern | Why discard |
|---|---|
| deliver/execution-log.json | Audit trail — captured in evolution doc |
| deliver/roadmap.json | Step plan — superseded by evolution doc + git history |
| deliver/.develop-progress.json | Resume state — temporary |
| design/review-*.md | Review findings captured in evolution doc |
| discuss/dor-checklist.md | Process gate, not lasting value |
| discuss/shared-artifacts-registry.md | Process scaffolding |
| discuss/prioritization.md | Superseded by roadmap execution |
| */wave-decisions.md | Key decisions extracted into evolution doc |
docs/feature/{feature-id}/ after migration. Gate: list produced.docs/feature/{feature-id}/ is NOT deleted. The wave matrix derives status from this directory. Removing it would make finalized features disappear from the matrix. The evolution doc in docs/evolution/ is the summary; the feature directory is the history. Gate: directory preserved, session markers removed..nwave/des/deliver-session.json, .develop-progress.json, and any temp files. Do NOT remove wave artifacts (discuss/, design/, distill/, deliver/). Gate: session markers removed, wave artifacts intact.NEVER delete without user approval. Show exactly what will be removed.
--skip-docs flag provided. Gate: docs generated or skipped.@{agent}
Finalize: {feature-id}
Key constraints:
docs/
adrs/ # ADR-NNN-{slug}.md (flat, cross-feature)
architecture/ # Design docs by feature
{feature}/
architecture-design.md
component-boundaries.md
data-models.md
technology-stack.md
decisions/ # Product decisions by feature (optional)
{feature}/
evolution/ # Post-mortem summaries
YYYY-MM-DD-{feature-id}.md
research/ # Research docs (flat, cross-feature)
scenarios/ # Acceptance test documentation by feature
{feature}/
walking-skeleton.md
ux/ # UX specs and journeys by feature
{feature}/
journey-*.yaml
journey-*-visual.md
| Error | Response | |-------|----------| | Invalid agent name | "Invalid agent. Available: nw-researcher, nw-software-crafter, nw-solution-architect, nw-product-owner, nw-acceptance-designer, nw-platform-architect" | | Missing feature ID | "Usage: /nw-finalize @agent 'feature-id'" | | Project directory not found | "Project not found: docs/feature/{feature-id}/" | | Incomplete steps | Block finalization, list incomplete steps | | No files to migrate | Log "No lasting artifacts found — skipping Phase B" and proceed to cleanup |
/nw-finalize @nw-platform-architect "auth-upgrade"
Verifies all steps done. Creates evolution doc. Migrates design/architecture-design.md → docs/architecture/auth-upgrade/, ADRs → docs/adrs/, test-scenarios → docs/scenarios/auth-upgrade/. Shows remaining files, user approves, removes workspace. Commits.
/nw-finalize @nw-platform-architect "data-pipeline"
Pre-dispatch gate finds step 02-03 status IN_PROGRESS. Returns: "BLOCKED: 1 incomplete step - 02-03: IN_PROGRESS. Complete all steps before finalizing."
Handoff To: Feature complete - no next wave Deliverables: docs/evolution/YYYY-MM-DD-{feature-id}.md, migrated artifacts, cleaned workspace
docs/evolution/YYYY-MM-DD-{feature-id}.md
docs/architecture/{feature}/ (migrated design docs)
docs/adrs/ADR-*.md (migrated ADRs)
docs/scenarios/{feature}/ (migrated test scenarios)
docs/ux/{feature}/ (migrated UX journeys, if any)
Removed: docs/feature/{feature-id}/
testing
Runs feature-scoped mutation testing to validate test suite quality. Use after implementation to verify tests catch real bugs (kill rate >= 80%).
development
Canonical AT completeness gate — research-anchored 7-category taxonomy (C1-C7) + 15-item mechanical checklist. Paradigm-neutral. Drives acceptance-designer reviewer verdict deterministically.
development
Canonical AT completeness gate — research-anchored 7-category taxonomy (C1-C7) + 15-item mechanical checklist. Paradigm-neutral. Drives acceptance-designer reviewer verdict deterministically.
testing
Methodology for minimizing test count while maximizing behavioral coverage - behavior definition, anti-pattern catalog, consolidation patterns, stopping criterion, coverage-preserving validation