Nw Finalize logo

Nw Finalize

Organization
nWave-ai
nw-finalize

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.

Overview

PublishernWave-ai
RepositorynWave
Skill namenw-finalize
Stars
616
Forks
65
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by nWave-ai on GitHub. Read the source before you install it.

Installation

Install the Nw Finalize AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-finalize
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/nWave-ai/nWave.git /tmp/nWave
mkdir -p .claude/skills
cp -r /tmp/nWave/nWave/skills/nw-finalize .claude/skills/nw-finalize
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Nw Finalize in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Nw Finalize on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Nw Finalize is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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|preserve delivery history|remove session-only state. Agent gathers project data|analyzes execution history|writes summaries|migrates|cleans session state.

docs/feature/{feature-id}/ becomes delivery history at finalize. Artifacts with lasting value are also copied to permanent directories, while the complete wave history remains available to the wave matrix.

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.

  1. Parse execution log — Read docs/feature/{feature-id}/deliver/execution-log.json. Gate: file readable.
  2. Verify completeness — Check every step has status DONE. Gate: all steps DONE.
  3. 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

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

  1. Scan workspace — List all files under docs/feature/{feature-id}/. Gate: file list produced.
  2. Match against destination map — For each file, apply the destination map below. Gate: migration plan assembled.
  3. Create destination directories — Create any missing permanent directories. Gate: directories exist.
  4. Copy files — Copy each matched file to its permanent destination. Gate: all copies verified.
  5. Log non-migrated files — Note files retained only in delivery history (not copied). Gate: non-migration list documented.
Destination Map
Source (temporary workspace)Destination (permanent)Condition
design/architecture-design.mddocs/architecture/{feature}/If exists
design/component-boundaries.mddocs/architecture/{feature}/If exists
design/technology-stack.mddocs/architecture/{feature}/If exists
design/data-models.mddocs/architecture/{feature}/If exists
design/adrs/ADR-*.mddocs/adrs/Flat namespace, cross-feature
distill/walking-skeleton.mddocs/scenarios/{feature}/Walking skeleton specification
discuss/journey-*.yamldocs/ux/{feature}/If UX journeys exist
discuss/journey-*-visual.mddocs/ux/{feature}/If UX visuals exist

Research docs (docs/research/) are already in a permanent location — no migration needed.

What NOT to Copy to Permanent Destinations

These are process scaffolding. They remain in delivery history but are not copied elsewhere:

File patternWhy not copied
deliver/execution-log.jsonAudit trail — captured in evolution doc
deliver/roadmap.jsonStep plan — superseded by evolution doc + git history
deliver/.develop-progress.jsonResume state — temporary
design/review-*.mdReview findings captured in evolution doc
discuss/dor-checklist.mdProcess gate, not lasting value
discuss/shared-artifacts-registry.mdProcess scaffolding
discuss/prioritization.mdSuperseded by roadmap execution
*/wave-decisions.mdKey decisions extracted into evolution doc

Phase C — Preserve History and Clean Session State

  1. List session artifacts — List only session markers and temp files proposed for removal. Gate: exact list produced.
  2. Present for approval — Show the exact removal list to the user and request approval. Gate: user explicitly approves.
  3. Preserve delivery history — 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 and wave artifacts preserved.
  4. Remove session artifacts only — Remove .nwave/des/deliver-session.json, .develop-progress.json, and approved 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

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

Agent Invocation

@{agent}

Finalize: {feature-id}

Key constraints:

  1. Follow the 4-phase process (A → B → C → D) in order.
  2. Create evolution document BEFORE migration (needs source files).
  3. Migrate BEFORE cleanup (preserves artifacts).
  4. Show the session-artifact removal list and wait for user approval before removing anything.
  5. 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 removal of session-only artifacts
  • Workspace directory preserved: docs/feature/{feature-id}/
  • Only session markers and approved temp files removed
  • 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

ErrorResponse
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 stepsBlock finalization, list incomplete steps
No files to migrateLog "No lasting artifacts found — skipping Phase B" and proceed to session cleanup

Examples

Example 1: Standard finalization

/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 session artifacts, user approves their removal, and preserves the feature history. 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, preserved feature history with session state removed

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)
Preserved: docs/feature/{feature-id}/ (wave history; session artifacts removed)

Frequently asked questions

What does the Nw Finalize AI skill do?

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.

Why use Nw Finalize on TypingMind?

Because you install it once and use it with any model. Nw Finalize is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Nw Finalize in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-finalize. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Nw Finalize?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Nw Finalize?

As many as you like. As long as a model supports skills, you can use Nw Finalize with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Nw Finalize AI skill free?

Yes. It is published on GitHub by nWave-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇