스펙 문서를 작성하거나 개선. 대화 맥락에서 새 스펙을 만들거나, 기존 스펙 파일을 인터뷰로 보강. Use when the user asks to create, write, draft, or refine a spec.
인자 형태에 따라 모드가 결정된다:
--ref <path> 인자: 참조 스펙을 읽고, 그 안의 작업 단위에 해당하는 신규 스펙을 작성한다새 스펙 (인자 없음): 대화에서 다음을 추출한다:
기존 스펙 (파일 경로 인자): $ARGUMENTS 파일을 읽고 현재 내용을 파악한다.
참조 스펙 기반 신규 (--ref <path>): <path> 파일을 읽고 다음을 파악한다:
스펙에 컨벤션이 본문 구조와 용어로 반영되도록, 관련 스킬을 먼저 읽는다.
~/.claude/skills/{스킬명}/SKILL.md~/.claude/plugins/ 하위에서 Glob으로 탐색확인되지 않은 사항을 AskUserQuestion으로 질문한다.
인터뷰 영역:
참조 스펙 기반 신규 모드에서 추가로 확인:
규칙:
스펙 작성에 필요한 기존 코드 구조, 인터페이스, 테스트 패턴을 확인한다.
스펙이 public 함수/클래스 시그니처를 정의하거나 기존 인터페이스를 변경하는 경우, 추가로 확인:
새 스펙 (인자 없음, 또는 --ref): docs/specs/ 하위에 작성한다. 파일명: {YYYY-MM-DD}-{kebab-case-영문}.md (예: 2026-04-03-user-auth-flow.md)
기존 스펙: 원본 파일을 수정한다.
--ref 모드일 때 추가로:
> 참조: [원본 스펙 제목](상대경로.md))다음 구조로 작성한다:
# [기능명]
## 목표
[한 문장으로 무엇을 왜 만드는지]
## 상세
[구현 세부사항, 기술적 결정]
## 경계
- 항상: ...
- 먼저: ...
- 절대: ...
## 검증
[테스트 방법, 확인 절차]
검증은 섹션을 채우기 위한 항목이 아니라, 스펙이 의도한 변경이 실제로 반영되었는지 확인할 수단. 다음 원칙을 따른다.
수동 검증은 자동화가 비용 대비 가치가 없거나 관측 대상이 감각적(오디오, UI, 렌더 결과)인 경우에만 구체적 조건으로 기술
본 섹션은 무엇을 검증할지를 정한다. 어떻게 테스트를 쓸지는 test-design 스킬을 따른다