mcpbeat Sign in

Nw Finalize Agent Skill

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.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
588
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nWave-ai/nWave --skill nw-finalize

The instruction itself

21 sections, as written by the author

NW-FINALIZE: Feature Completion and Archive

Wave: CROSS_WAVE

Agent: @nw-platform-architect (default) or specified agent

Overview

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.

Usage

/nw-finalize @{agent} "{feature-id}"

Context Files Required

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

Pre-Dispatch Gate: All Work Complete

Before dispatching, verify all work is done — prevents archiving incomplete features.

  • Parse execution log — Read docs/feature/{feature-id}/deliver/execution-log.json. Gate: file readable.
  • Verify completeness — Check every step has status DONE. Gate: all steps DONE.
  • Block or proceed — If any step is not DONE, list incomplete steps with current status and halt. If all DONE, proceed to dispatch. Gate: zero incomplete steps before dispatch.

Phases

Phase A — Evolution Document

  • Gather source data — Read execution-log.json + roadmap.json (the step log and plan), and all */wave-decisions.md files. Gate: source files read.
  • Extract key decisions — Pull decisions, issues, and lessons from wave-decisions files. Gate: decisions list assembled.
  • Write evolution doc — Create 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.

Phase B — Migrate Lasting Artifacts

  • Scan workspace — List all files under docs/feature/{feature-id}/. Gate: file list produced.
  • Match against destination map — For each file, apply the destination map below. Gate: migration plan assembled.
  • Create destination directories — Create any missing permanent directories. Gate: directories exist.
  • Copy files — Copy each matched file to its permanent destination. Gate: all copies verified.
  • Log skipped files — Note any files from the discard list (not migrated). Gate: discard list documented.
Destination Map

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

What NOT to Migrate (Discard)

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 |

Phase C — Cleanup Workspace

  • List remaining files — List all files still in docs/feature/{feature-id}/ after migration. Gate: list produced.
  • Present for approval — Show the exact list to the user and request approval. Gate: user explicitly approves.
  • Preserve workspacedocs/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.
  • Clean session artifacts only — Remove .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.

Phase D — Post-Cleanup Verification

  • Verify migrated files — Confirm every file copied in Phase B exists at its destination. Gate: all destinations present.
  • Update architecture doc statuses — Change any "FUTURE DESIGN" labels to "IMPLEMENTED" in migrated architecture docs. Gate: no stale FUTURE DESIGN labels.
  • Optionally generate reference docs — Invoke /nw-document unless --skip-docs flag provided. Gate: docs generated or skipped.
  • Commit evolution doc and artifacts — Commit 1: evolution doc + migrated artifacts. Gate: commit created.
  • Commit workspace cleanup — Commit 2: workspace removal. Gate: commit created and pushed.

Agent Invocation

@{agent}

Finalize: {feature-id}

Key constraints:

  • Follow the 4-phase process (A → B → C → D) in order.
  • Create evolution document BEFORE migration (needs source files).
  • Migrate BEFORE cleanup (preserves artifacts).
  • Show cleanup list and wait for user approval before removing anything.
  • Commit and push after approval.

Success Criteria

  • [ ] All steps verified DONE before dispatch
  • [ ] Evolution document created in docs/evolution/
  • [ ] Architecture docs migrated to docs/architecture/{feature}/
  • [ ] ADRs migrated to docs/adrs/ (if any)
  • [ ] Scenario docs migrated to docs/scenarios/{feature}/ (if any)
  • [ ] UX journeys migrated to docs/ux/{feature}/ (if any)
  • [ ] User approved cleanup before workspace removal
  • [ ] Workspace directory removed: docs/feature/{feature-id}/
  • [ ] Architecture docs updated to "IMPLEMENTED" status
  • [ ] Committed and pushed

Permanent Directory Structure

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 Handling

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

Examples

Example 1: Standard finalization

/nw-finalize @nw-platform-architect "auth-upgrade"

Verifies all steps done. Creates evolution doc. Migrates design/architecture-design.mddocs/architecture/auth-upgrade/, ADRs → docs/adrs/, test-scenarios → docs/scenarios/auth-upgrade/. Shows remaining files, user approves, removes workspace. Commits.

Example 2: Blocked by incomplete steps

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

Next Wave

Handoff To: Feature complete - no next wave

Deliverables: docs/evolution/YYYY-MM-DD-{feature-id}.md, migrated artifacts, cleaned workspace

Expected Outputs

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}/

Other skills for the same job

different authors, same section of the catalogue
Webapp Testing
by anthropics
vendor ×12

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

6k tokens scripts
Finishing A Development Branch
by ZhanlinCui
×7

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

1k tokens
Test Driven Development
by w95
×7

Use when implementing any feature or bugfix, before writing implementation code

2k tokens
Systematic Debugging
by ratacat
×7

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes

10k tokens scripts
Verification Before Completion
by ZhanlinCui
×6

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

1k tokens
Backtest Expert
by BaggaT236
×3

Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.

15k tokens scripts
Adaptyv
by christophacham
×3

Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.

16k tokens
Aeon
by christophacham
×3

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

19k tokens

How to use it

Copy the folder

Take nwave-ai/nw-finalize from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.