Generate implementation plan with commit-level tasks. Use after workflow-analyze to create detailed, vertically-sliced commit plan.
$ARGUMENTS
Expected format: /workflow-plan TASK-NAME [additional requirements]
Example:
/workflow-plan REFACTORING limit to 3 commits/workflow-plan API-REDESIGN keep backward compatibilityYou MUST consider the user input before proceeding (if not empty).
Parse User Input:
Check Prerequisites:
docs/work/{task-name}/analysis.md existsLoad Requirements:
Identify Impact Scope:
Decompose Commits (Vertical Slicing):
TDD: Logic with conditionals/calculations โ Write test FIRSTTEST-AFTER: UI/Integration/E2E โ Implement then testNO-TEST: Config/docs/type-only โ Skip testsReview Principle Violations:
Write Document:
docs/work/{name}/plan.md (Korean)CRITICAL: All documents must be written in Korean.
Each commit must satisfy:
โ Horizontal Slicing Forbidden:
โ Vertical Slicing Example:
TDD Required (write failing test first):
TEST-AFTER (implement then test):
NO-TEST (skip):
Levels (lowest effective level first):
| Level | When to Use |
|---|---|
UNIT |
Pure functions, business logic, calculations, validation |
INT |
DB queries, API endpoints, service-to-service |
COMP |
UI components (render, interaction, accessibility) |
E2E |
Critical user journeys only (auth, payment, core flow) |
Decision Quick Reference:
Mixed Levels: Use UNIT + E2E when feature needs both (e.g., discount logic + checkout flow)
E2E Justification Required: E2E tests are easy to write but expensive to run/maintain. Only use E2E when ALL apply:
Anti-pattern: Writing E2E for scenarios adequately covered by UNIT + INT tests.
โ We apply as Commit order
File to create: docs/work/{task-name}/plan.md (Korean)
# [Task Name] - Implementation Plan
> **Analysis Result**: See `analysis.md`
> **Selected Approach**: [Approach N]
## ๐ Impact Scope (Approximate)
**Main Areas**: [StatusBarManager, ConfigManager, etc.]
---
## ๐ Commit Plan
### โ
Commit 1: [Title]
**Goal**: [1 sentence - describe complete value provided by this commit]
**Test Requirement**: [TDD | TEST-AFTER | NO-TEST]
**Test Level**: [UNIT | INT | COMP | E2E | UNIT + E2E]
**Task Checklist**:
- [ ] [Specific task 1]
- [ ] [Specific task 2]
- [ ] Test ([LEVEL]): [Specific test case] (if TDD/TEST-AFTER)
- [ ] Build verification: [Build command]
**Verification Method**:
1. [Specific verification method]
2. [User scenario]
**Independently Deployable**: โ
/ โ ๏ธ [Reason]
---
### โฌ Commit 2: [Title]
**Goal**: [1 sentence - describe complete value provided by this commit]
**Test Requirement**: [TDD | TEST-AFTER | NO-TEST]
**Test Level**: [UNIT | INT | COMP | E2E | UNIT + E2E]
**Task Checklist**:
- [ ] [Specific task 1]
- [ ] [Specific task 2]
- [ ] Test ([LEVEL]): [Specific test case] (if TDD/TEST-AFTER)
- [ ] Build verification: [Build command]
**Verification Method**:
1. [Specific verification method]
2. [User scenario]
**Independently Deployable**: โ
/ โ ๏ธ [Reason]
---
## โ ๏ธ Principle Violation Justification (Only if needed)
| Violation | Why Necessary | Why Simple Alternative Rejected |
| --------- | ---------------------------- | ------------------------------- |
| Using any | VS Code API types incomplete | Cost to fix @types > benefit |
---
## ๐ Progress
- [ ] Commit 1
- [ ] Commit 2
Now start the task according to the guidelines above.