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
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.