Files
portfolio-hub/.github/prompts/draft-design.prompt.md
T
2026-04-23 04:32:10 +00:00

96 lines
4.8 KiB
Markdown

---
name: "draft-design"
description: "Create a 3_design.md draft from a confirmed Planning document"
argument-hint: "예: sdlc-001 또는 docs/sdlc/sdlc-001_20260417_stage-pilot/2_planning.md"
agent: "agent"
---
확정된 Planning 문서를 기반으로 Design 초안(`3_design.md`)을 생성한다.
목표:
- `docs/sdlc/<CYCLE_ID>/3_design.md`를 생성한다.
- `2_planning.md`의 확정 내용(태스크, 요구사항, 검증 계획, 리스크)을 Design 초안의 입력으로 사용한다.
- 추론 가능한 항목은 초안 문장으로 채우고, 사용자 결정이 필요한 항목만 플레이스홀더로 남긴다.
---
## 실행 절차
### 1. 입력 해석
- 사용자가 CYCLE_ID(예: `sdlc-001`)를 제공했으면 `docs/sdlc/` 아래에서 해당 패턴으로 시작하는 폴더를 찾아 `2_planning.md` 경로를 확정한다.
- 사용자가 파일 경로를 직접 제공했으면 해당 경로의 상위 폴더에서 `2_planning.md`를 찾는다.
- 파일이 없으면 사용자에게 피드백하고 중단한다.
### 2. Planning 인계 조건 확인
`2_planning.md`에서 아래 조건을 확인한다. 미충족 시 중단하고 이유를 보고한다.
| 항목 | 기준 |
|------|------|
| 문서 상태 | `confirmed`여야 한다 |
| Ready for Design | `true`여야 한다 |
| 3_design.md 존재 여부 | 이미 존재하면 덮어쓰기 의사를 확인하고, 의사 표현이 없으면 중단한다 |
### 3. Planning 내용 추출
`2_planning.md`와 `1_discovery.md`에서 아래 항목을 읽어 Design 초안 작성에 사용한다.
- 이슈명 (`# 0`의 `이슈명:`)
- 문서 ID / CYCLE_ID
- 태스크 전체 목록 및 담당자 (`# 2`)
- 태스크별 DoD (`# 2`)
- FR/NFR 목록 (`# 1`)
- 검증 계획 개요 (`# 6`)
- 리스크 및 완화 방안 (`# 7`)
- Deferred 처리된 오픈 질문 (`# 7`)
- 외부 의존성 및 기술/환경 제약 (`# 5`)
### 4. Design 초안 작성 원칙
- Planning 태스크 구조와 FR/NFR을 바탕으로 각 태스크의 설계 방향, 변경 대상, 입출력을 초안으로 채운다.
- 저장소 구조, 파일 경로, 기존 코드 패턴을 실제로 확인해 변경 대상(`DESIGN_TARGET_N`)을 구체적으로 명시한다.
- 아래 항목은 추론 불가 또는 사용자 확인 필요이므로 플레이스홀더로 남긴다.
- 외부 시스템 계약이 미확정인 인터페이스
- Freeze 확정 담당자 (`{{CONFIRMED_BY:TBD}}`)
- 보안 고려사항(`# 5`)은 변경 내용을 기준으로 OWASP Top 10 항목을 점검해 해당/비해당과 근거를 채운다.
### 5. 자동으로 채워야 하는 항목
| 항목 | 채움 방법 |
|------|---------|
| `# 0` 메타데이터 | 현재 시각, CYCLE_ID, 이슈명, Planning 경로를 자동 입력 |
| `# 1` Planning 인계 요약 | Planning `# 2` 태스크 목록 이식, `# 7`의 Deferred 항목 이식 |
| `# 2` 아키텍처/구조 개요 | FR/NFR과 저장소 구조를 기반으로 변경 영향 범위 초안 작성 |
| `# 2` 주요 컴포넌트 | 실제 파일/모듈/디렉터리 구조를 확인해 영향 컴포넌트 나열 |
| `# 3` 상세 설계 | 각 T-N 태스크별 설계 방향, 변경 대상, 입출력 초안 작성 |
| `# 4` 인터페이스 정의 | FR/NFR 기반으로 필요한 API, 함수 시그니처, 스키마 초안 작성 |
| `# 5` 보안 고려사항 | 변경 내용 기준 OWASP 항목 점검, 해당/비해당 및 대응 방안 채움 |
| `# 6` 리스크 | Planning 이월 리스크 중 Design 관련 항목 포함 및 신규 Design 리스크 추가 |
| `# 8` 파일 처리 결과 | 생성 결과와 참조 문서 경로 채움 |
| `# 9` 사용자 결정 필요 | 미확정 인터페이스, 외부 시스템 계약 등 사용자 결정 필요 항목 정리 |
| `# 10` Freeze 플래그 | `Handoff Decision: 보류`, `Ready for Implementation: false` 초기값 입력 |
### 6. 파일 생성
- 경로: `docs/sdlc/<CYCLE_ID>/3_design.md`
- 기반: `.github/templates/sdlc/3_design.md`를 구조 기준으로 사용하되, 위 작성 원칙에 따라 채운 초안을 생성한다.
### 7. 결과 보고
응답에 아래 내용을 포함한다.
- **생성 결과**: 파일 경로
- **채워진 항목 요약**: 자동 추론으로 채운 주요 내용 목록
- **사용자 결정 필요 항목**: `# 9`에 정리된 항목 요약
- **다음 단계 안내**: Design 검토 후 `/confirm-design <CYCLE_ID>` 실행 안내
---
## 중요 규칙
- Planning이 `confirmed` 상태가 아니면 초안을 생성하지 않는다.
- 이미 `3_design.md`가 존재하는 경우 사용자 명시 없이 덮어쓰지 않는다.
- 변경 대상 경로/파일명은 저장소를 직접 확인해 실제 존재하는 경로를 사용한다. 추측으로 채우지 않는다.
- 보안 고려사항은 "비해당"이라도 근거를 한 줄 이상 남긴다.
- 현재 시각은 시스템 또는 컨텍스트에서 제공된 날짜/시간을 사용한다.