/cc-e2e:draft — 탐색 기록을 테스트 초안으로 바꾸기#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-e2e:draft |
| 분류 | E2E 작성 |
| 난이도 | ●●○ 보통 |
한마디로#
앱을 직접 눌러보며 남긴 탐색 기록(저널) 을, 사람이 읽고 다듬을 수 있는 테스트 시나리오 초안으로 자동 변환해 주는 단계입니다. 받아쓴 회의록을 깔끔한 정식 문서 양식으로 정리해 주는 것과 비슷합니다.
누가·언제 쓰나요#
/cc-e2e:explore로 앱을 둘러보며 탐색 기록을 이미 남긴 사람- 그 기록(
.claude/e2e-journal/폴더 안의 저널)을 바탕으로 정식 테스트 시나리오 초안을 만들고 싶을 때
즉, "둘러보기(explore)"를 끝낸 다음 곧바로 이어서 쓰는 2단계 작업입니다.
무엇을 해주나요#
탐색 기록을 읽어 다음 결과물을 만들어 줍니다.
-
테스트 시나리오 초안 —
integration_test/features/{feature}.feature(Given/When/Then 형식으로, 사람이 읽기 쉬운 시나리오)- 이미 같은 이름의 파일이 있으면, 덮어쓰지 않고
.draft.feature라는 별도 초안 파일로 안전하게 저장합니다. - 탐색이 화면 여러 개를 거쳤다면 화면(도달 상태)마다 파일을 나눠 만듭니다. 나중에 그 화면의 시나리오들을 한 번에 검사(배치)할 수 있게 하기 위해서입니다.
- 배치에 넣으면 안 되는 시나리오(로그아웃·결제·앱 재시작 등)에는
@isolated꼬리표를 자동으로 붙여 줍니다.
- 이미 같은 이름의 파일이 있으면, 덮어쓰지 않고
-
다음 작업 대상 목록 —
.claude/e2e-journal/key-harden-targets.md(테스트를 더 튼튼하게 다듬을 지점 정리) - 작성 힌트 —
.claude/e2e-journal/{feature}.step-hints.md - 품질 점검 리포트 — 초안이 최소 형식을 갖췄는지 자동 확인한 결과
어떻게 쓰나요#
# 기본 — 탐색 기록을 시나리오 초안 + 다듬기 대상 목록으로 변환
/cc-e2e:draft sign_in
# 초안만 만들기 (다듬기 대상 목록은 생략)
/cc-e2e:draft sign_in --skip-key-harden
# 같은 이름의 기존 시나리오 파일이 있으면 합치기
/cc-e2e:draft sign_in --merge
sign_in자리에는 탐색 기록을 남겨 둔 기능 이름을 적습니다. (필수)--skip-key-harden을 붙이면 "다듬기 대상 목록" 만들기를 건너뜁니다.--merge를 붙이면 기존 시나리오 파일과 하나로 합칩니다. (안 붙이면 별도 초안 파일로 따로 저장)
안에서 무슨 일이 벌어지나요#
- 기록 확인 — 탐색 저널이 실제로 있는지 먼저 확인합니다. 없으면 둘러보기부터 하라고 안내합니다.
- 기록 정리 — 저널을 시간 순서대로 읽어 "무엇을 어떤 순서로 했는지" 흐름을 재구성합니다.
- 시나리오 초안 작성 — 그 흐름을 Given/When/Then 시나리오 파일로 만듭니다. (기존 파일이 있으면 별도 초안으로 안전하게 보관)
- 다듬기 대상 뽑기 — 테스트를 더 튼튼하게 만들 지점을 목록으로 추려 냅니다.
- 작성 힌트 만들기 — 다음 단계 작업을 돕는 힌트 메모를 남깁니다.
- 품질 점검 — 시나리오가 최소 형식(Given/When/Then 각 1개 이상)을 갖췄는지 확인합니다.
- 다음 단계 안내 — 다듬기 → 단계 구현 → 박제(lock) 로 이어지는 다음 작업을 알려 줍니다.
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Triggers#
/cc-e2e:explore로 저널 생성 완료 후- exploration 저널이
.claude/e2e-journal/에 이미 존재할 때
사용법#
# 기본 — 저널을 Gherkin 초안 + key-harden 타겟으로 변환
/cc-e2e:draft sign_in
# 초안만 생성 (key-hardening 건너뜀)
/cc-e2e:draft sign_in --skip-key-harden
# 기존 .feature 파일이 있으면 병합
/cc-e2e:draft sign_in --merge파라미터#
| 파라미터 | 필수 | 설명 | 기본 |
|---|---|---|---|
feature | ✅ | exploration 저널이 있는 feature 이름 | — |
--skip-key-harden | ❌ | key-harden 타겟 파일 생략 | false |
--merge | ❌ | 기존 .feature 와 병합 (아니면 .draft.feature 로 별도 생성) | false |
실행 단계#
- 저널 존재 검증 —
.claude/e2e-journal/{feature}.jsonl필수 - 저널 파싱 — 시간순 이벤트 시퀀스 구성
- Gherkin 초안 생성 —
integration_test/features/{feature}.feature- 상단에 경고 주석 + 원본 저널 경로
- 기존 파일 존재 시
--merge가 없으면.draft.feature로 저장
- Key-Hardening 타겟 추출 —
.claude/e2e-journal/key-harden-targets.md - Step hints 생성 —
.claude/e2e-journal/{feature}.step-hints.md - 품질 검사 — Given/When/Then 최소 1개 + canonical step 규약 검증
- 다음 단계 안내 — key-hardening → step-implement → lock
출력#
integration_test/features/{feature}.feature(또는.draft.feature).claude/e2e-journal/key-harden-targets.md(휘발성).claude/e2e-journal/{feature}.step-hints.md(휘발성)- 품질 체크 리포트
실패 케이스#
| 원인 | 대응 |
|---|---|
| 저널 없음 | /cc-e2e:explore {feature} 안내 |
저널이 session_end 없이 닫힘 | 세션 재개 또는 강제 draft 옵션 안내 |
| 기존 .feature 충돌 | .draft.feature 로 별도 저장 + diff 출력 |
관련#
- skills/scenario-draft/SKILL.md
- rules/feature-file-conventions.md
- commands/explore.md — 이전 단계
- commands/lock.md — 박제 단계