xiaohongshu
xiaohongshu
increment-work-router
Smart work continuation system that detects implementation intent and routes appropriately. Use when saying "implement X", "continue working", "build feature", or "resume increment". Checks active increments, relevance matching, and TDD mode to route to /sw:do or /sw:increment automatically.
Full skill instructions
The increment-work-router skill is an intelligent work continuation system that:
Key Insight: When user says "implement X" or "complete Y", they expect the system to handle routing intelligently without manual commands.
This skill activates when user expresses implementation/continuation intent:
Action Verbs (with specific target):
Continuation Phrases:
Bug/Fix Intent:
Vague Intent (needs target clarification):
Planning/Discussion (let other skills handle):
Already in Workflow:
/sw:doScan user message for implementation keywords:
Action verbs: implement, complete, build, add, develop, create
Continuation: work on, continue, resume, finish, start
Bug/Fix: fix, resolve, address
Calculate confidence:
Read increment state:
# Find all increments with status = "active"
find .specweave/increments -name "metadata.json" -type f \
-exec jq -r 'select(.status == "active") | .id' {} \;
Three scenarios:
Relatedness Analysis: Compare user's request against active increment:
Scoring:
Scenario A: High relevance to active increment
User: "Implement user authentication"
Active: 0031-user-authentication-system
✅ High match → Auto-resume:
"I see you have an active increment for user authentication (0031).
Resuming work on that increment now with /sw:do..."
[Automatically invokes /sw:do]
Scenario B: Unrelated to active increment
User: "Implement payment processing"
Active: 0031-user-authentication-system
⚠️ Low match → Ask:
"I see you have an active increment (0031-user-authentication-system).
Your request for payment processing seems unrelated. Would you like to:
1. **Create new increment** for payment processing (recommended)
2. **Continue current increment** (0031) and add payment to it
3. **Pause current** and create new increment
What would you prefer?"
Scenario C: No active increment
User: "Implement user authentication"
Active: None
→ Suggest new increment:
"No active increment found. Let's create one for user authentication.
I'm going to create a SpecWeave increment with:
- Specification (WHAT & WHY)
- Technical plan (HOW)
- Task breakdown (STEPS with embedded tests)
Creating increment now with /sw:increment..."
[Automatically invokes /sw:increment "user authentication"]
Scenario D: Multiple active increments
User: "Continue working"
Active: 0031-user-auth, 0032-payment-system
→ Ask to clarify:
"You have 2 active increments:
1. **0031-user-authentication-system** (3/10 tasks complete)
2. **0032-payment-processing** (1/8 tasks complete)
Which one would you like to work on?"
Scenario E: Vague continuation intent
User: "Let's continue"
Active: 0031-user-authentication-system
✅ Auto-resume (only one active):
"Resuming increment 0031-user-authentication-system...
Progress: 3/10 tasks complete (30%)
Next task: T-004 Implement password hashing
[Automatically invokes /sw:do]"
Workflow:
User: "Implement [feature]"
↓
increment-work-router (detects intent)
↓
[Check .specweave/increments/*/metadata.json]
↓
┌───────────────────┬──────────────────┬────────────────┐
│ Active increment │ Multiple active │ No active │
│ (relevant) │ (ambiguous) │ (none) │
└─────┬─────────────┴──────┬───────────┴──────┬─────────┘
│ │ │
↓ ↓ ↓
/sw:do Ask to select /sw:increment
(auto-resume) (clarify) (create new)
Calls:
/sw:do - Resume active increment/sw:increment - Create new increment/sw:status - Check increment state (if needed)/sw:tdd-cycle - TDD workflow (when TDD mode enabled)Called By:
increment-planner (planning) and detector (context checking)When routing to an active increment, check TDD mode first:
# Check if increment uses TDD
CONFIG_PATH=".specweave/config.json"
METADATA_PATH=".specweave/increments/<id>/metadata.json"
# Check global config
TDD_MODE=$(cat "$CONFIG_PATH" | jq -r '.testing.defaultTestMode // "test-after"')
# Check increment-specific override
INCREMENT_TDD=$(cat "$METADATA_PATH" | jq -r '.testMode // ""')
[[ -n "$INCREMENT_TDD" ]] && TDD_MODE="$INCREMENT_TDD"
If TDD mode is enabled, modify routing behavior:
| Scenario | Without TDD | With TDD |
|---|---|---|
| "Implement X" (new feature) | → /sw:do | → Suggest /sw:tdd-cycle first |
| "Let's continue" | → /sw:do | → Show TDD phase reminder + /sw:do |
| "Add test for X" | → /sw:do | → Confirm starting RED phase |
| "Fix the implementation" | → /sw:do | → Check if GREEN phase complete |
TDD-aware resume output:
✅ Resuming increment 0031-user-authentication-system...
🔴 TDD MODE ACTIVE
Current TDD Status:
├─ T-001: [RED] Write login test ✅ completed
├─ T-002: [GREEN] Implement login ⏳ in progress
└─ T-003: [REFACTOR] Clean up login ⏸️ blocked (waiting for GREEN)
Current Phase: 🟢 GREEN - Making test pass
💡 You're in the GREEN phase. Implement just enough to make T-001's test pass.
After GREEN completes, you can proceed to REFACTOR.
[Proceeding with /sw:do...]
TDD workflow suggestion (for new work):
User: "Implement user registration"
🔴 TDD MODE DETECTED
This increment uses Test-Driven Development.
For new features, I recommend using the TDD workflow:
1. /sw:tdd-red "user registration" - Write failing test first
2. /sw:tdd-green - Implement to pass the test
3. /sw:tdd-refactor - Clean up the code
Would you like to:
1. Start TDD cycle (/sw:tdd-cycle) - Recommended
2. Continue with regular /sw:do - Skip TDD guidance
[1/2]:
| User Intent | Active Increments | Relevance | Action |
|---|---|---|---|
| "Implement auth" | 1 (auth-related) | High (>70%) | Auto /sw:do |
| "Implement auth" | 1 (unrelated) | Low (<40%) | Ask: New or add to current? |
| "Implement auth" | 0 | N/A | Auto /sw:increment |
| "Implement auth" | 2+ | N/A | Ask which increment |
| "Let's continue" | 1 | N/A | Auto /sw:do |
| "Let's continue" | 2+ | N/A | Ask which increment |
| "Let's continue" | 0 | N/A | "No active increment. What should we build?" |
How to determine if request relates to active increment:
function calculateRelevance(userRequest: string, increment: Increment): number {
let score = 0;
// 1. Title/ID match (strongest signal)
if (increment.title.toLowerCase().includes(extractKeywords(userRequest))) {
score += 40;
}
// 2. Tasks match (check tasks.md)
const tasks = readTasksFile(increment);
const matchingTasks = tasks.filter(t =>
t.title.toLowerCase().includes(extractKeywords(userRequest))
);
score += (matchingTasks.length / tasks.length) * 30;
// 3. Spec match (check spec.md user stories)
const spec = readSpecFile(increment);
if (spec.includes(extractKeywords(userRequest))) {
score += 20;
}
// 4. Type match (feature vs bug vs hotfix)
const requestType = detectType(userRequest);
if (requestType === increment.type) {
score += 10;
}
return score; // 0-100
}
Example:
User: "Implement JWT token refresh"
Active: 0031-user-authentication-system
Checks:
✅ Title contains "authentication" (user mentions "JWT token") → +40 points
✅ Tasks.md has "T-005: Implement JWT refresh logic" → +30 points
✅ Spec.md mentions "token management" → +20 points
✅ Both are "feature" type → +10 points
Total: 100/100 → High relevance → Auto-resume
Context:
Active: 0031-user-authentication-system
Progress: 3/10 tasks complete
User:
Implement JWT token refresh
increment-work-router:
✅ Intent detected: "implement" + specific target
✅ Active increment found: 0031-user-authentication-system
✅ Relevance check: 95% match (authentication-related)
→ AUTO-RESUME
"I see you have an active increment for user authentication (0031).
Task T-005 'Implement JWT token refresh' is already in your plan.
Resuming increment 0031 now with /sw:do...
[Automatically invokes /sw:do]
Context:
Active: None
User:
Implement payment processing with Stripe
increment-work-router:
✅ Intent detected: "implement" + specific target
❌ No active increment found
→ CREATE NEW
"No active increment found. Let's create one for payment processing.
I'm going to create a SpecWeave increment with:
- Specification (Stripe integration requirements)
- Technical plan (API integration, webhooks, security)
- Task breakdown (implementation steps with tests)
Creating increment now with /sw:increment...
[Automatically invokes /sw:increment "payment processing with Stripe"]
Context:
Active: 0031-user-authentication-system
Progress: 3/10 tasks complete
User:
Implement email notifications
increment-work-router:
✅ Intent detected: "implement" + specific target
✅ Active increment found: 0031-user-authentication-system
⚠️ Relevance check: 15% match (unrelated)
→ ASK FOR CLARIFICATION
"I see you have an active increment (0031-user-authentication-system) with 3/10 tasks complete.
Your request for email notifications seems unrelated. Would you like to:
1. **Create new increment** for email notifications (recommended - keeps work focused)
2. **Add to current increment** (0031) - if notifications are for auth emails
3. **Pause current increment** and start notifications
SpecWeave works best with focused increments. What would you prefer?"
Context:
Active: 0031-user-authentication-system (3/10 tasks)
Active: 0032-payment-processing (1/8 tasks)
User:
Let's continue working
increment-work-router:
✅ Intent detected: "continue" (vague)
✅ Multiple active increments found: 2
→ ASK TO SELECT
"You have 2 active increments:
1. **0031-user-authentication-system**
- Progress: 3/10 tasks (30%)
- Next: T-004 Implement password hashing
2. **0032-payment-processing**
- Progress: 1/8 tasks (12%)
- Next: T-002 Set up Stripe SDK
Which one would you like to work on?"
[Wait for user selection, then invoke /sw:do {selected-id}]
Context:
Active: 0031-user-authentication-system (3/10 tasks)
User:
What's next?
increment-work-router:
✅ Intent detected: "what's next" (continuation)
✅ One active increment: 0031-user-authentication-system
→ AUTO-RESUME
"Resuming increment 0031-user-authentication-system...
Progress: 3/10 tasks complete (30%)
Next task: **T-004 Implement password hashing**
[Automatically invokes /sw:do]"
Users can override auto-routing with explicit instructions:
/sw:increment only/sw:status instead/sw:do)Key Distinction:
increment-planner = "PLAN this increment" or "I want to BUILD a new product" (planning-level)increment-work-router = "IMPLEMENT this feature/task" (execution-level)This skill bridges planning → execution by auto-detecting implementation intent.
Before starting work, check for project-specific learnings:
# Check if skill memory exists for this skill
cat .specweave/skill-memories/increment-work-router.md 2>/dev/null || echo "No project learnings yet"
Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience