배경
fix/sdd-workflow-handoffs 브랜치(PR #38)의 Non-interactive defaults 표는 brand-new phase slug 를 다음과 같이 정의한다:
Derive from spec filename(s): kebab-case, drop trailing numbers, truncate to 3 words. Example: specs/phase-3/01-profile-migration.md → phase-3-profile.
문제는 phase 안에 spec 이 여러 개 있을 때 첫 spec 의 이름만 반영 한다는 것.
관찰된 사례 (Kanban 검증, 2026-04-26)
- spec 들:
specs/phase-1/01-wip-limit-per-column.md, specs/phase-1/02-persistent-json-storage.md
- 실제 phase 의 도메인: WIP limit + JSON storage = "보드 강화 / foundation"
- 휴리스틱이 도출한 슬러그:
phase-1-wip-limit-column ← 첫 spec 이름만 반영
- 사람이라면 골랐을 것:
phase-1-foundation 또는 phase-1-board-hardening
같은 패턴이 이전 라운드(Node.js URL shortener, Python statlib)에서도 관찰됐다 — phase 가 단일 spec 일 땐 문제 없는데, 2개 이상 spec 에서 마찰이 생긴다.
영향
- Cosmetic. 워크플로 자체는 정상 동작 (task 파일 정상 생성, 의존성 sync, status dashboard 정상)
- 하지만 디렉토리 이름이 phase 의 실제 범위를 misrepresent — 사용자가 매번 rename 하고 싶은 충동
개선 후보 (어느 쪽이든 OK)
- 단순화 (권장): brand-new phase 디폴트를 그냥
phase-N 으로. 슬러그 없이.
- Aggregation: 모든 spec 의 공통 단어 추출 (예: TF-IDF 비슷한 휴리스틱) → 너무 복잡할 수도
- Idle prompt: 자동 모드가 아닐 땐 슬러그를 제안 + 첫 작업 직전에 한 번만 물어봄
해당 파일
writing-tasks-plugin/skills/writing-tasks/SKILL.md 의 "Non-interactive defaults" 표, Phase slug for a brand-new phase 행
배경
fix/sdd-workflow-handoffs브랜치(PR #38)의 Non-interactive defaults 표는 brand-new phase slug 를 다음과 같이 정의한다:문제는 phase 안에 spec 이 여러 개 있을 때 첫 spec 의 이름만 반영 한다는 것.
관찰된 사례 (Kanban 검증, 2026-04-26)
specs/phase-1/01-wip-limit-per-column.md,specs/phase-1/02-persistent-json-storage.mdphase-1-wip-limit-column← 첫 spec 이름만 반영phase-1-foundation또는phase-1-board-hardening같은 패턴이 이전 라운드(Node.js URL shortener, Python statlib)에서도 관찰됐다 — phase 가 단일 spec 일 땐 문제 없는데, 2개 이상 spec 에서 마찰이 생긴다.
영향
개선 후보 (어느 쪽이든 OK)
phase-N으로. 슬러그 없이.해당 파일
writing-tasks-plugin/skills/writing-tasks/SKILL.md의 "Non-interactive defaults" 표,Phase slug for a brand-new phase행