Skip to content
increment logo

Plan Product Increment

increment

Plan new Product Increment. Use when starting new features, hotfixes, or development work that needs specification.

SKILL.md

Full skill instructions

Plan Product Increment

Orchestrator for increment planning - handles pre-flight checks, then delegates to sw:increment-planner skill.

Workflow

Step 0A: Discipline Check (BLOCKING)
Step 0B: WIP Enforcement
Step 0C: Tech Stack Detection
Step 1:  Call sw:increment-planner skill

Step 0A: Discipline Check (MANDATORY)

Cannot start N+1 until N is DONE.

if ! specweave check-discipline; then
  echo "❌ Cannot create new increment! Close existing work first."
  echo "💡 Run: /​sw:done <id>"
  exit 1
fi

Step 0B: WIP Enforcement

Default: 1 active increment (focus). Allow 2 for emergencies.

const active = MetadataManager.getAllActive();
const limits = config.limits || { maxActiveIncrements: 1, hardCap: 3 };

if (active.length >= limits.hardCap) {
  // BLOCK - ask user to complete/​pause existing
  console.log("⚠️ WIP LIMIT REACHED");
  console.log("Options: /​sw:done <id> | /​sw:pause <id>");
}

if (active.length >= limits.maxActiveIncrements) {
  // SOFT WARNING - hotfix/​bug can bypass
  const isEmergency = ['hotfix', 'bug'].includes(incrementType);
  if (!isEmergency) {
    // Prompt: complete, pause, or continue anyway
  }
}

Type-Based Limits:

  • Hotfix/​Bug: Unlimited (emergency)
  • Feature/​Change-Request: Max 2
  • Refactor: Max 1
  • Experiment: Unlimited

Step 0C: Tech Stack Detection

Auto-detect from project files:

FileLanguage
package.jsonTypeScript/​JavaScript
requirements.txtPython
go.modGo
Cargo.tomlRust
pom.xmlJava
*.csprojC#/​.NET

If detection fails, ask user.

Step 1: Activate Increment Planner

MUST use Skill tool:

Skill({
  skill: "sw:increment-planner",
  args: "--id=XXXX-name --description=\"...\" --project=my-project"
});

The skill handles:

  • Project/​board selection
  • TDD mode detection
  • Template creation
  • Living docs sync

Step 2: Post-Creation Sync

After skill completes:

/​sw:sync-specs {increment-id}
/​sw-github:sync {increment-id}  # If configured

Output

✅ Created increment 0003-user-authentication

   Tech stack: TypeScript, NextJS, PostgreSQL
   Location: .specweave/​increments/​0003-user-authentication/

   Files: spec.md, plan.md, tasks.md, metadata.json

   Next: /​sw:do 0003 (start implementation)

Error Handling

  • .specweave/ not found: "Run specweave init first"
  • Vague description: Ask clarifying questions
  • Skill fails: Fall back to keyword prompts for PM/​Architect skills

This command is the main entry point for creating new work in SpecWeave.