| name | plan-3-edge-case |
| description | 기획 Edge Case 검사 스킬. "edge case 검사", "엣지케이스 검토", "예외 상황 검토", "예외 케이스", "edge case 분석" 등의 요청 시 트리거. plan-2 기획 초안에서 Constraint 위반을 먼저 경고하고 누락된 edge case를 식별한다. AI Driven Development 파이프라인의 3단계. 반드시 Step 2(기획 시작)이 완료된 상태에서 사용한다. |
| compatibility | 이전 대화에 기획 초안(Step 2 결과)이 존재해야 함 |
Edge Case 검사 (AI Driven Development Step 3/6)
이 스킬은 AI Driven Development 파이프라인의 세 번째 단계이다.
Step 2(기획 시작)에서 작성된 기획 초안을 기반으로 동작한다.
완료 후 사용자에게 Step 4: UI Layout 설명 스킬 사용을 안내한다.
전제 조건
Step 2(기획 시작)의 로컬 md 파일(.claude/docs/draft-*.md)이 존재해야 한다.
파일이 없으면 사용자에게 "먼저 '기획 시작해줘'로 Step 2를 완료해 주세요"라고 안내한다.
로컬 md 파일에 Notion 상세 문서 링크가 있으면 해당 Notion 페이지도 notion-fetch로 로드하여 기획 초안 전문을 확인한다.
Memory Bootstrap (공통)
이 스킬은 Notion Memory를 읽기 전용으로 참조한다.
.claude/docs/draft-*.md의 프론트매터에서 constraint_url, flowchart_url 등 Memory URL을 읽는다.
- 이 단계에서 사용할 memory:
constraint_url (전체 — 플랫폼·법·기술 모두), flowchart_url
- URL이 누락된 memory는 관련 검사를 스킵하고 사용자에게 보고한다.
- 프론트매터가 없거나 손상되었으면 "plan-1부터 다시 실행해 주세요" 안내 후 중단.
출력 전략
| 채널 | 용도 | 내용 |
|---|
| 터미널 | 대화 전용 | 질문, 응답, Edge Case 요약 목록 (EC-ID + 한 줄 설명) |
| Notion | 상세 문서 | Edge Case 전체 분석, 처리 방안 상세, 기획 초안 반영 결과 |
| 로컬 md | 파이프라인 입력 | plan-4-ui-layout이 참조할 구조화된 요약 + Memory URL 프론트매터 계승 |
터미널 출력 규칙
- Edge Case 목록: EC-ID + 카테고리 + 한 줄 요약만 터미널에 출력. 상세 분석은 Notion에 작성.
- 처리 방안: 결정 사항만 터미널에 요약. 전문은 Notion에 작성.
- 완료 시: Notion 링크와 로컬 파일 경로만 터미널에 출력.
Notion 저장
이전 Step에서 사용한 Notion 페이지에 이어서 작성한다.
로컬 md 파일에서 Notion 페이지 URL을 읽어온다.
로컬 md 파일
-
저장 경로: 프로젝트 루트의 .claude/docs/edge-case-{기획주제}.md
-
프론트매터는 plan-2의 값을 그대로 계승하여 기록한다:
---
project_name: {계승}
glossary_url: {URL}
flowchart_url: {URL}
principle_url: {URL}
constraint_url: {URL}
---
-
본문은 plan-4-ui-layout이 참조할 수 있도록 아래 구조로 작성:
- Constraint 위반 사전 경고 결과 (있었으면)
- 처리 확정된 Edge Case 목록 (EC-ID, 관련 기능, 처리 방안)
- 무시/추후 검토 Edge Case 목록
- Edge Case 검사 요약 (총 수, 처리/무시/추후)
- Notion 상세 문서 링크
1단계: Constraint 사전 경고
Edge Case 논의 전에 확정적으로 위반되는 제약을 먼저 차단한다. constraint_url 전체(플랫폼·법·기술)를 로드하여 기획 초안과 대조한다.
| 위반 ID | Constraint 조항 | 기획 초안의 충돌 지점 | 자동 처리 제안 |
|---|
| V-001 | (예: 만 14세 미만 가입 불가) | (예: F-002 자녀 계정 직접 생성) | (예: 법정대리인 동의 플로우 추가) |
이 단계의 위반은 논의 대상이 아닌 자동 차단 이슈다. 사용자에게 처리 방안(제약 우회 / 기획 변경 / 제약 갱신)을 선택하게 한 뒤 다음 단계로 진행한다.
2단계: 기획 초안에서 Edge Case 자동 식별
기획 초안의 각 기능(F-ID)에 대해 아래 관점으로 누락된 edge case를 식별한다. 각 카테고리는 로드된 constraint 및 flowchart row와 교차 참조한다.
검사 관점
| 카테고리 | 검사 항목 | Memory 교차 참조 |
|---|
| 입력 예외 | 빈 입력, 최대/최소 초과, 특수문자, 중복 입력, 허용되지 않는 형식 | constraint(개인정보 수집 범위) |
| 상태 예외 | 로그인 만료, 권한 없음, 데이터 없음(빈 상태), 이미 처리된 항목 재시도 | flowchart(기존 상태 전이) |
| 네트워크/시스템 | 네트워크 끊김, 서버 오류, 타임아웃, 동시 요청(중복 탭) | constraint(네트워크 정책) |
| 기기/환경 | 저사양 기기, 화면 크기 차이, OS 버전 차이, 백그라운드 전환 후 복귀 | constraint(지원 OS 버전) |
| 사용자 행동 | 중간 이탈(뒤로 가기, 앱 종료), 빠른 반복 탭, 예상치 못한 순서 진행 | flowchart(이탈 지점) |
| 데이터 경계 | 대량 데이터(목록 100건 이상), 긴 텍스트, 이미지 대용량, 다국어 | constraint(데이터 용량 제한) |
| 기존 기능 충돌 | 기존 플로우와 새 기능 간 상태 불일치, 데이터 정합성 | flowchart(전체 row 교차) |
3단계: Edge Case 목록 제시 및 논의
식별된 edge case를 아래 형식으로 사용자에게 제시한다.
| EC ID | 관련 기능 | 카테고리 | 상황 설명 | 발생 가능성 | 영향도 |
|---|
| EC-001 | F-001 | (카테고리) | (어떤 상황인지 자연어로) | 높음/중간/낮음 | 높음/중간/낮음 |
제시 후 사용자와 논의한다:
- 각 edge case의 처리 필요 여부 (처리함 / 무시 / 추후 검토)
- 사용자가 추가로 떠올리는 edge case가 있는지
- 우선순위 조정이 필요한지
4단계: Edge Case 처리 방안 정의
처리하기로 결정한 edge case에 대해 아래 형식으로 처리 방안을 작성한다.
| EC ID | 관련 기능 | 상황 | 처리 방안 | 사용자에게 보여줄 결과 |
|---|
| EC-001 | F-001 | (상황) | (어떻게 처리할지) | (사용자가 보게 될 메시지나 동작) |
5단계: 기획 초안에 Edge Case 반영
처리 방안이 확정된 edge case를 기획 초안의 해당 기능 상세에 추가한다.
각 기능(F-ID)의 실패 및 예외 상황 테이블에 반영:
| 상황 | 발생 조건 | 사용자에게 보여줄 결과 | EC ID |
|---|
| (edge case 상황) | (발생 조건) | (처리 결과) | EC-001 |
6단계: Edge Case 검사 결과 요약 및 다음 단계 안내
Edge Case 검사 요약
| 항목 | 수 |
|---|
| Constraint 위반 사전 차단 | |
| 총 식별된 edge case | |
| 처리하기로 결정 | |
| 무시하기로 결정 | |
| 추후 검토 | |
미처리 Edge Case (추후 검토)
Edge Case 처리 결과를 Notion 페이지에 작성하고 로컬 md 파일에 요약 + 프론트매터를 저장한 뒤, 사용자에게 Notion 링크와 로컬 파일 경로를 안내한다.
수정 사항이 있으면 Notion과 로컬 md를 모두 업데이트한다.
사용자에게 아래 메시지로 다음 단계를 안내한다:
✅ Edge Case 검사 완료 (Step 3/6)
다음 단계로 UI Layout 설명을 진행합니다.
아래와 같이 요청해 주세요:
👉 "UI 레이아웃 설명해주세요"