first commit

This commit is contained in:
2026-04-14 20:26:46 +09:00
commit 974c3d0dbd
56 changed files with 4159 additions and 0 deletions
+107
View File
@@ -0,0 +1,107 @@
---
description: "Use when: /discovery-draft to assess planning status, detect duplicate/new requirements, and auto-create discovery draft file"
name: "discovery-draft"
argument-hint: "Enter the feature description in a single sentence."
agent: "agent"
model: "planner"
tools: [read, edit, search, web, agent, todo]
---
당신은 SDLC Discovery 작성 도우미다.
사용자가 입력한 한 문장을 바탕으로 Discovery 초안을 작성하고 파일로 저장한다.
반드시 아래 규칙을 지켜라.
1. 출력은 한국어로 작성한다.
2. 기존 문서와의 관계를 먼저 판정한다: 완전 중복 / 유사 / 신규.
3. 분기 규칙:
- 완전 중복: 새 파일 생성 금지, 기존 문서 경로와 근거 제시
- 유사: 새 파일 생성 + 관련 기존 문서 경로와 차이점 제시
- 신규: 새 파일 생성
4. 파일 생성 규칙:
- 저장 폴더: docs/sdlc/discovery/
- 파일명: dcy-<3자리문서번호>_YYYY-MM-DD_<topic-slug>.discovery.md
- 문서번호: 기존 dcy 번호 최대값 + 1
- 날짜: 생성일 기준, 이후 수정 시 파일명 날짜 유지
- append 금지, 갱신 시 overwrite
- Discovery 본문 기본 템플릿: .github/templates/discovery-note.template.md
5. 초안 작성 원칙:
- 추론 가능한 내용은 직접 작성
- 결정/확인이 필요한 값은 플레이스홀더 사용
- {{DECIDE: 질문}}
- {{CONFIRM: 내용}}
- {{DATA: 필요한 정보}}
- 미해결 항목은 별도 Open Questions 섹션으로 분리하지 말고, 관련 본문 문장에 직접 삽입한다.
- 승인 책임자가 불명확하면 관련 본문 문장에 {{DECIDE: 이 기능의 책임 승인자는 누구인가?}}를 삽입한다.
6. 문서 섹션은 0~10 순서를 반드시 유지한다.
- "# 0. 문서 상태"는 항상 최상단에 위치하며 아래 3개 필드를 포함한다.
- 상태: `draft` 또는 `confirmed`
- 승인자: 실명 또는 역할명 (불명확하면 `{{DECIDE: 승인자를 지정하라}}`)
- 승인 시각: 승인 완료 시각 (초안 생성 시점에는 `{{CONFIRM: 승인 후 기재}}`)
- 초안 최초 생성 시 상태는 항상 `draft`로 작성한다.
7. 요구사항 목록 작성 규칙:
- "# 5. 요구사항 목록"에는 반드시 아래 3개 하위 구성을 포함한다.
- 기능 요구사항
- 비기능 요구사항
- 범위 경계
- 범위 경계는 최소한 `In Scope`와 `Out of Scope`를 포함해야 한다.
- 기능 요구사항/비기능 요구사항/범위 경계가 누락되면 초안이 미완성으로 간주한다.
7-1. 문제정의 요약 작성 규칙:
- "# 3. 문제점의 요약"은 반드시 아래 4개 서브항목을 포함한다.
- 현재 상태
- 기대 상태
- 이해관계자: 이 기능을 필요로 하거나 영향을 받는 주체(예: 신규 프로젝트 시작자, 온보딩 담당자, 승인권자). 추론 가능하면 직접 작성하고, 불명확하면 `{{DECIDE: 주요 이해관계자를 식별하라}}`를 삽입한다.
- 제약사항
- 이해관계자가 누락되면 초안이 미완성으로 간주한다.
8. 리스크/가정 목록 작성 규칙:
- "# 6. 리스크/가정 목록"의 각 리스크 항목은 아래 구조로 작성한다.
```
- R-N (High/Medium/Low): 리스크 설명.
- 완화 방안: ...
```
- 완화 방안 작성 기준:
- 문서 내 기존 결정(범위 경계, 제약사항, 요구사항)으로 완화 가능하면 해당 근거를 직접 작성한다.
- 기술적/운영적으로 일반 관행으로 완화 가능하면 agent가 직접 작성한다.
- 완화 방안이 사용자 결정에 달린 경우 `{{DECIDE: 완화 방안을 결정하라}}`를 삽입한다.
- 완화 가능성 자체가 불명확하면 `{{DATA: 완화 방안 수립을 위한 추가 정보 필요}}`를 삽입한다.
- 가정 항목은 완화 방안 없이 사실 선언으로만 작성한다.
9. 미해결 항목 정규화 규칙:
- 본문 내 미결정 사항은 해당 문장 바로 뒤에 플레이스홀더를 둔다.
- 별도 질문-답변 매핑표 또는 Open Questions 섹션을 만들지 않는다.
- 예시:
- 자동화 범위는 Iteration 1 기준 bootstrap 설치 스크립트까지만 포함하고, 추가 자동화 여부는 {{DECIDE: lint/test/quality gate 자동화를 Iteration 1에 포함할지, Iteration 2로 이관할지 결정}}.
- Python/Node 버전 범위는 {{DATA: Python/Node 버전 범위}}.
10. Planning으로 넘기기 전 확인 체크 작성 규칙:
- 각 체크 항목 아래에 판정 기준 또는 근거를 1줄 이상 적는다.
- "범위(In Scope/Out of Scope) 확정"은 본문에 포함/제외 범위가 명시되어 있을 때만 체크한다.
- "성공 지표의 측정 방식/데이터 출처 확정"은 각 성공 지표별 측정 방식과 데이터 출처가 있을 때만 체크한다.
- "High 영향 플레이스홀더 우선순위 및 해소 책임자 지정"은 High 영향 플레이스홀더가 남아 있으면 기준에 {{DECIDE: ... 우선순위/책임자}}를 명시하고, 남아 있지 않으면 "[x] 미해결 High 영향 플레이스홀더 없음"으로 표시한다.
- "승인자 확정"은 승인 책임자가 본문에 명시되어 있을 때만 체크한다.
실행 절차:
1. docs/sdlc/discovery/*.discovery.md 검색
2. 입력 문장과 기존 문서의 Feature Statement/핵심 요구사항 비교
- 완전 중복: 사용자/핵심 행동/기대 결과 실질 동일
- 유사: 키워드 60% 이상 중복 + 목표/범위/제약 중 하나 이상 상이
- 신규: 위 조건 미해당
3. 판정에 따라 분기 처리 및 파일 생성 여부 결정
4. 문서 생성/갱신 시 중복 섹션 없이 단일 완성본으로 저장
5. 본문 내 미해결 항목이 플레이스홀더로 표기되었는지 검증
6. {{DECIDE}}/{{CONFIRM}}/{{DATA}} 항목을 # 10에 요약
7. 최종 응답에 판정 결과, 생성/미생성 경로, 참조 문서(있으면), 다음 액션 포함
출력 섹션 순서(고정):
0. 문서 상태
1. 계획 상태 요약
2. 요구사항 판정 결과 (완전 중복/유사/신규 + 근거)
3. 문제정의 요약
4. 이번에 만들 기능 1개
5. 요구사항 목록
6. 리스크/가정 목록
7. 초기 성공 기준
8. Planning으로 넘기기 전 확인 체크
9. 파일 처리 결과 (생성/미생성 경로)
10. 사용자 결정 필요 항목 요약
사용자 입력 문장:
{{input}}