跳到主要内容
知仓学习社ZHICANG

nw-new

Guided wizard to start a new feature. Asks what you want to build, recommends the right starting wave, and launches it.

不碰外部(只输出文字)无严重或高危命中nWave-ai/nWave

它会碰到什么

扫了多少1 个文本文件,5 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

NW-NEW: Start a New Feature

Wave: CROSS_WAVE (entry point)

Agent: Main Instance (self — wizard)

Command: /nw-new

Overview

Conversational wizard that asks the user to describe their feature|classifies it|recommends a starting wave|launches it. Eliminates need to understand the 6-wave pipeline before using nWave.

You (the main Claude instance) run this wizard directly. No subagent delegation.

Behavior Flow

Step 1: Feature Description Intake

Ask the user to describe what they want to build. If provided as argument, use that.

If vague (fewer than 3 meaningful words or unclassifiable):

  • Ask: What system is being changed?
  • Ask: What problem are you solving?
  • Ask: Who benefits from this change?
  • Provide example: "Add rate limiting to prevent API abuse"

Do NOT proceed until you have a clear, actionable description.

Step 2: Feature ID Derivation

Derive feature ID per rules in ~/.claude/nWave/skills/common/wizard-shared-rules.md (section: Feature ID Derivation).

Examples: "Add rate limiting to the API gateway" -> rate-limiting-api-gateway | "OAuth2 upgrade" -> oauth2-upgrade | "Implement a real-time notification system with WebSocket support for mobile and desktop clients" -> real-time-notification-system-websocket

Show derived ID via AskUserQuestion. Allow override with custom value.

Step 3: Name Conflict Check

Check if docs/feature/{feature-id}/ exists. If so, offer via AskUserQuestion:

  1. Continue that project — switch to /nw-continue
  2. Start fresh with different name — ask for distinguishing name
  3. Archive and restart — move to docs/feature/{feature-id}-archived-{date}/

Step 4: Clarifying Questions

Use AskUserQuestion:

Q1: New or existing behavior?

  • New functionality that doesn't exist yet
  • Changing/improving existing functionality
  • Fixing a bug or regression

Q2: Requirements readiness?

  • Clear requirements in my head but nothing written
  • Rough idea, need to explore further
  • Haven't validated whether problem is worth solving

Step 5: Feature Classification

Based on description and answers, classify:

  • User-facing — UI/UX visible to end users
  • Backend — APIs, services, data processing
  • Infrastructure — DevOps, CI/CD, tooling
  • Cross-cutting — Spans multiple layers (auth, logging, etc.)

Show classification for user confirmation.

Step 6: Greenfield vs Brownfield Detection

Scan filesystem:

  • Check if src/ or equivalent has code
  • Check if docs/feature/ has prior feature directories
  • Check for existing test directories

No source code and no prior features -> greenfield | Otherwise -> brownfield

Step 7: Wave Recommendation

Decision tree:

IF "fixing a bug":
    -> /nw-root-why ("Investigate the root cause first")
IF "haven't validated the problem":
    -> /nw-discover ("Validate the problem space before building")
IF "rough idea, need to explore":
    -> /nw-discuss ("Define requirements and acceptance criteria")
IF "clear requirements, nothing written":
    -> /nw-discuss ("Formalize requirements into user stories")
IF existing DISCUSS artifacts found:
    -> /nw-design ("Requirements exist, design the architecture")
IF existing DESIGN artifacts found:
    -> /nw-distill ("Architecture exists, create acceptance tests")
IF all prior waves complete:
    -> /nw-deliver ("Ready for implementation")
DEFAULT:
    -> /nw-discuss ("Start by defining what to build")

Show recommendation with rationale via AskUserQuestion: recommended wave command|why this wave (one sentence)|what it produces.

Step 8: Launch

After user confirms, create project directory:

mkdir -p docs/feature/{feature-id}

Invoke recommended wave command by reading its task file and following instructions, passing feature ID as argument.

Error Handling

| Error | Response |

|-------|----------|

| Vague description (< 3 meaningful words) | Ask follow-up questions with example |

| Name conflict with existing project | Offer continue/rename/archive options |

| User cannot classify feature type | Default to "cross-cutting", note uncertainty |

| No clear wave recommendation | Default to DISCUSS with explanation |

Success Criteria

  • [ ] User described feature in plain language
  • [ ] Project ID derived and confirmed by user
  • [ ] No name conflicts (or resolved)
  • [ ] Feature classified by type
  • [ ] Starting wave recommended with rationale
  • [ ] User confirmed recommendation
  • [ ] Wave command launched with correct feature ID

Examples

Example 1: Greenfield backend feature

/nw-new "Add rate limiting to the API gateway"

Derives rate-limiting-api-gateway, detects no prior artifacts (greenfield), asks clarifying questions. User says "new functionality, clear requirements." Recommends DISCUSS, launches /nw-discuss "rate-limiting-api-gateway".

Example 2: Bug fix

/nw-new "Fix authentication timeout errors"

Detects "fix" in description. User confirms bug. Recommends /nw-root-why "authentication timeout errors".

Example 3: Unclear problem

/nw-new "Build a customer feedback system"

User says they haven't validated whether customers want this. Recommends DISCOVER, launches /nw-discover "customer-feedback-system".

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。