---
name: 3docs-create
description: "3문서(계획서/맥락노트/체크리스트) 자동 생성"
triggers:
  - "3문서 생성"
  - "3문서 만들기"
  - "계획서 생성"
  - "새 프로젝트"
  - "새 작업 시작"
usage: "/3docs-create <task_id> <project_name> [--meeting <meeting_file_path>]"
---

# 3docs-create 스킬

아누가 이 스킬을 로드했을 때 따를 지시사항.

---

## 1. task_id 확인

사용자가 명시적으로 `task_id`를 제공했는지 확인한다.

- **제공된 경우**: 그 값을 그대로 사용.
- **미제공 시**: `/home/jay/workspace/memory/task-timer.py` 를 읽어 현재 진행 중인 작업을 확인한다.
  ```bash
  python3 /home/jay/workspace/memory/task-timer.py status
  ```
  여전히 확인 불가 시 사용자에게 직접 질문한다.
- **형식**: `task-XX.X` (예: `task-43.0`, `task-46.1`)

---

## 2. project_name 확인

사용자가 명시적으로 `project_name`을 제공했는지 확인한다.

- **제공된 경우**: 그 값을 그대로 사용.
- **미제공 시**: `task_id`를 기반으로 유추하거나, 유추가 불가능하면 사용자에게 질문한다.
- **형식**: kebab-case (예: `anu-guide-system`, `api-server-v2`)

---

## 3. 디렉토리 확인 및 생성

대상 경로:
```
/home/jay/workspace/memory/plans/<project_name>/
```

디렉토리가 이미 존재하는 경우, 기존 파일을 덮어쓸지 사용자에게 확인한다.
확인 없이 임의로 덮어쓰지 말 것.

디렉토리 생성 명령:
```bash
mkdir -p /home/jay/workspace/memory/plans/<project_name>
```

---

## 4. 현재 날짜 확인

날짜는 반드시 시스템에서 가져온다. 임의로 날짜를 추정하거나 고정하지 말 것.

```bash
cokacdir --currenttime
```

출력된 날짜를 `YYYY-MM-DD` 형식으로 사용한다.

---

## 5. 3개 파일 생성

파일 템플릿: `references/doc-templates.md`를 읽어 템플릿을 확인한 후 파일 3개를 생성한다.

생성 위치:
- 계획서: `/home/jay/workspace/memory/plans/<project_name>/plan.md`
- 맥락노트: `/home/jay/workspace/memory/plans/<project_name>/context-notes.md`
- 체크리스트: `/home/jay/workspace/memory/plans/<project_name>/checklist.md`

---

## 6. 스키마 참조

3문서 전체 규약은 아래 파일을 따른다:

```
/home/jay/workspace/memory/specs/3docs-schema.md
```

파일 생성 전 스키마를 확인하여 YAML 프론트매터 형식이 최신 규약과 일치하는지 검증할 것.

---

## 7. 생성 완료 메시지

3개 파일 생성 후 아래 메시지를 출력한다:

```
3문서 생성 완료:
✅ 계획서:   memory/plans/<project_name>/plan.md
✅ 맥락노트: memory/plans/<project_name>/context-notes.md
✅ 체크리스트: memory/plans/<project_name>/checklist.md

다음 단계:
1. 각 파일의 [TODO] 항목을 실제 내용으로 채워주세요.
2. Agent 미팅 진행: /agent-meeting <주제>
3. 3문서 완성 후 제이회장님 승인: /nuclear-approval
```

---

## 8. --meeting 파라미터 (미팅 결과 자동 참조)

`--meeting <meeting_file_path>` 파라미터가 제공된 경우, 미팅 기록 파일을 읽어 [TODO] 항목에 힌트 주석을 삽입한다.

### 동작 방식

1. 미팅 기록 파일(`memory/meetings/YYYY-MM-DD-<topic>.md`)을 읽는다.
2. "최종 합의 사항" 섹션의 번호별 합의 내용을 파싱한다.
3. 3문서 [TODO] 항목 옆에 매핑 힌트를 주석으로 삽입한다:

```markdown
**목표**: [TODO] <!-- 미팅 합의 #1 참조: [합의 내용 요약] -->
```

### 매핑 규칙

- 합의 사항 중 "무엇을 할 것인가" → 계획서의 '목표', '범위/포함' [TODO]에 힌트 삽입
- 합의 사항 중 "왜 이 결정인가" → 맥락노트의 '결정 근거' [TODO]에 힌트 삽입
- 합의 사항 중 구체적 실행 항목 → 체크리스트의 Phase 항목 [TODO]에 힌트 삽입

### 주의

- [TODO]를 자동으로 채우지 않는다. 힌트 주석만 삽입한다 (환각 방지).
- 미팅 기록 파일이 존재하지 않으면 경고만 출력하고 정상 진행한다 (빈 템플릿 생성).
- 파라미터 미제공 시 기존 동작과 동일 (힌트 없는 빈 템플릿).

---

## 9. Dream State Mapping (3단계 비전 로드맵)

> gstack A14 도입: 단기 구현이 장기 비전과 정합하는지 검증하는 3단계 매핑.
> 계획서 작성 시 반드시 포함해야 할 비전 정합성 체크.

### 적용 시점
- 3문서 생성 시 계획서(plan.md)에 자동 포함
- [TODO] 형태로 빈 템플릿 삽입 (환각 방지 원칙 유지)

### 3단계 매핑 구조

계획서에 아래 섹션을 추가한다:

```
## Dream State Mapping

### CURRENT STATE (현재 상태)
- 현재 시스템/제품의 상태를 팩트 기반으로 기술
- [TODO: 현재 상태 기술 — 정량적 데이터 포함]

### THIS PLAN (이번 계획)
- 이번 구현으로 달성하려는 변화
- [TODO: 이번 구현의 목표와 예상 변화 — 측정 가능한 지표 포함]

### 12-MONTH IDEAL (12개월 이상 장기 비전)
- 12개월 후 이상적인 상태
- [TODO: 장기 비전 기술 — 이번 계획이 여기에 어떻게 기여하는지]

### 정합성 체크
- [ ] 이번 계획이 12개월 비전과 같은 방향인가?
- [ ] 이번 구현이 12개월 비전을 가로막지 않는가?
- [ ] 기술 부채 없이 확장 가능한 방식인가?
```

### 규칙
- CURRENT STATE는 **팩트만** 기술 (추측 금지)
- THIS PLAN은 **측정 가능한 목표** 포함 필수
- 12-MONTH IDEAL은 [TODO]로 남기되, 프로젝트 context.md가 있으면 참조 힌트 삽입
- 정합성 체크 3개 항목 중 하나라도 체크 불가이면 → Agent 미팅에서 논의 필요

---

## 10. 주의사항

- **[TODO] 항목을 임의로 채우지 말 것**: 실제 프로젝트 맥락을 알게 된 후 채운다. 환각(hallucination) 방지 원칙. 근거 없는 판단 = 환각 (아누 가이드 Section 2.2 참조).
- **날짜 고정 금지**: 반드시 `cokacdir --currenttime` 으로 시스템 날짜를 가져온다.
- **덮어쓰기 전 확인**: 디렉토리가 이미 존재하면 사용자 확인 없이 파일을 덮어쓰지 않는다.
- **3문서 없이 코딩 절대 금지** (아누 가이드 Section 2.2): 이 스킬은 코딩 시작 전 계획 단계에 속한다. 파일 생성 후 곧바로 구현에 들어가지 말 것.
- **스키마 준수**: `/home/jay/workspace/memory/specs/3docs-schema.md` 에 명시된 YAML 프론트매터 규약을 따른다.
