---
name: project-kickoff
description: "프로젝트 킥오프 오케스트레이터: Phase 0~3 전체 흐름 관리, 순서 위반 방지, 기존 스킬 호출 조율"
triggers:
  - "project-kickoff"
  - "프로젝트 킥오프"
  - "킥오프 시작"
  - "킥오프"
usage: "/project-kickoff <project_name>"
---

# project-kickoff 스킬

> 이 스킬은 아누(개발실장)가 `/project-kickoff <project_name>` 명령으로 프로젝트 전체 킥오프 흐름(Phase 0~3)을 오케스트레이션하는 절차를 정의한다. 각 Phase의 선행 산출물 존재를 검증하고, 올바른 순서대로 기존 스킬들을 호출하며, 세션 간 컨텍스트를 보존한다.

---

## 1. 스킬 진입 절차

`/project-kickoff <project_name>` 호출 시 아누는 다음을 순서대로 수행한다.

### 1.1 project_name 확인

- 명시적으로 제공된 경우: 그 값을 그대로 사용.
- 미제공 시: 아누가 사용자에게 직접 질문한다. 임의로 추정 금지.
- **형식**: kebab-case (예: `realtime-notification`, `api-server-v2`)

### 1.2 킥오프 상태 파일 확인

```bash
cat /home/jay/workspace/memory/kickoff/<project_name>/kickoff-state.json
```

- **파일 없음 (신규 프로젝트)**: 킥오프 초기화 절차 실행 (Section 2 참조).
- **파일 있음 (재진입)**: 현재 Phase를 읽고 다음 단계 안내 (Section 3 참조).

### 1.3 킥오프 초기화 (신규 프로젝트만)

```bash
mkdir -p /home/jay/workspace/memory/kickoff/<project_name>
python3 /home/jay/workspace/kickoff.py init --project <project_name> --task <task_id>
```

`task_id`가 없는 경우:
```bash
python3 /home/jay/workspace/memory/task-timer.py status
```
여전히 확인 불가 시 사용자에게 질문한다.

초기화 완료 후 출력:
```
[project-kickoff] <project_name> 킥오프 초기화 완료.
현재 Phase: Phase 0 (리서치)

Phase 0부터 시작합니다. Section 4를 참조하세요.
```

---

## 2. 현재 Phase 판별 기준

`kickoff-state.json`의 `current_phase` 값을 읽는다. 직접 판단하지 말고 반드시 파일을 확인한다.

```bash
python3 /home/jay/workspace/kickoff.py status --project <project_name>
```

출력 예시:
```
프로젝트: <project_name>
현재 Phase: 1
Phase 0 완료: ✅ (memory/research/<topic>.md)
Phase 1 완료: ❌
```

**Phase 순서 위반 방지 원칙**: Phase N을 시작하기 전에 Phase N-1의 완료 산출물이 반드시 존재해야 한다. 이전 Phase가 완료되지 않은 상태에서 다음 Phase 진행 금지.

---

## 3. Phase별 선행 산출물 검증 게이트

각 Phase 시작 전 아누는 아래 검증을 수행한다. 검증 실패 시 즉시 중단하고 안내 메시지를 출력한다.

| Phase | 시작 조건 (선행 산출물) | 검증 실패 시 안내 |
|-------|----------------------|----------------|
| Phase 0 | 없음 (최초 진입) | — |
| Phase 1 | `memory/research/<topic>.md` 존재 | "Phase 0 산출물 없음. 먼저 Phase 0(리서치)를 완료하세요." |
| Phase 2 | `memory/meetings/YYYY-MM-DD-<topic>.md` 존재 | "Phase 1 산출물 없음. 먼저 Phase 1(Agent 미팅)을 완료하세요." |
| Phase 3 | `memory/plans/<project>/plan.md`, `context-notes.md`, `checklist.md` 모두 존재 + [TODO] 없음 | "Phase 2 산출물 미완성. 먼저 Phase 2(3문서 작성)를 완료하세요." |

**검증 명령 예시 (Phase 3 진입 전):**
```bash
grep -r "\[TODO\]" /home/jay/workspace/memory/plans/<project_name>/
```
[TODO]가 하나라도 남아 있으면 Phase 3 진입 불가.

---

## 4. Phase 0: 리서치

상세 절차: `references/phase0-research.md`를 읽어라.

**산출물**: `memory/research/<topic>.md`
**완료 후**: 제이회장님께 보고 → Phase 1 진입 여부 확인

---

## 5. Phase 1: Agent 미팅

상세 절차: `references/phase1-meeting.md`를 읽어라.

**산출물**: `memory/meetings/YYYY-MM-DD-<topic>.md`
**완료 후**: 제이회장님께 보고 → Phase 2 진입 여부 확인

---

## 6. Phase 2: 3문서 작성

상세 절차: `references/phase2-3docs.md`를 읽어라.

**산출물**: `memory/plans/<project>/{plan,context-notes,checklist}.md`
**완료 조건**: grep `[TODO]` 결과 없음

---

## 7. Phase 3: 핵미사일 발사코드 (승인)

상세 절차: `references/phase3-approval.md`를 읽어라.

**완료 조건**: 제이회장님 명시적 승인 + task-timer 시작 + 담당팀 dispatch 완료

---

## 8. 세션 간 컨텍스트 전달 템플릿

세션 재개 시 컨텍스트 전달 형식: `references/context-template.md`를 읽어라.

---

## 9. 승인 포인트 요약

```
[보고] Phase 0 완료
  → 아누가 리서치 결과를 제이회장님께 보고
  → 제이회장님 피드백 반영 후 Phase 1 진행 여부 확인

[보고] Phase 1 완료
  → 아누가 미팅 합의 결과를 제이회장님께 보고
  → 제이회장님 피드백 반영 후 Phase 2 진행 여부 확인

[승인] Phase 3 실행
  → 핵미사일 발사코드 = 제이회장님 명시적 승인 필수
  → /nuclear-approval 스킬 통해 승인 요청
  → 승인 없이 구현 시작 절대 금지
```

---

## 10. Phase 간 파일 전달 맵

```
Phase 0 → Phase 1:
  memory/research/<topic>.md

Phase 1 → Phase 2:
  memory/meetings/YYYY-MM-DD-<topic>.md

Phase 2 → Phase 3:
  memory/plans/<project>/plan.md
  memory/plans/<project>/context-notes.md
  memory/plans/<project>/checklist.md

Phase 3 → Phase 4+:
  memory/plans/<project>/plan.md
  memory/plans/<project>/context-notes.md
  memory/plans/<project>/checklist.md
  + dispatch.py 실행 결과
```

---

## 11. kickoff.py 유틸리티 명령어

```bash
# 킥오프 초기화
python3 /home/jay/workspace/kickoff.py init \
  --project <name> --task <task_id>

# 현재 상태 확인
python3 /home/jay/workspace/kickoff.py status \
  --project <name>

# Phase 완료 기록
python3 /home/jay/workspace/kickoff.py phase-done \
  --project <name> --phase <N> --output <파일경로>
```

---

## 12. 금지사항

1. **Phase 순서 위반 금지**: 이전 Phase 산출물 없이 다음 Phase 진행 금지. 선행 산출물 검증 게이트를 절대 건너뛰지 말 것.
2. **승인 없이 Phase 3 자체 통과 금지**: `/nuclear-approval` 스킬을 통하지 않고 임의로 승인 처리 금지.
3. **[TODO] 미완성 상태로 Phase 3 진입 금지**: 3문서에 [TODO]가 하나라도 남아 있으면 Phase 3 진입 불가.
4. **근거 없는 산출물 생성 금지**: 리서치 파일, 3문서 등 모든 산출물의 판단에는 근거(코드 위치, 문서, 테스트 결과) 인용 필수. 근거 없는 판단 = 환각.
5. **킥오프 상태 파일 직접 수정 금지**: `kickoff-state.json`을 직접 편집하지 말고 반드시 `kickoff.py` 명령어를 통해 업데이트.
6. **Phase 건너뛰기 금지**: Phase 0 → Phase 2 등 중간 Phase 생략 금지. 반드시 순서대로 진행.
7. **보고 없이 다음 Phase 진행 금지**: Phase 0, Phase 1 완료 시 제이회장님 보고 후 다음 단계 진행 여부를 확인한다.

---

## 13. 빠른 참조

- **킥오프 상태 디렉토리**: `/home/jay/workspace/memory/kickoff/`
- **킥오프 유틸리티**: `/home/jay/workspace/kickoff.py`
- **리서치 디렉토리**: `/home/jay/workspace/memory/research/`
- **미팅 기록 디렉토리**: `/home/jay/workspace/memory/meetings/`
- **3문서 디렉토리**: `/home/jay/workspace/memory/plans/`
- **킥오프 설계서**: `/home/jay/workspace/memory/specs/project-kickoff-design.md`
- **조직도**: `/home/jay/workspace/memory/organization-structure.json`
- **agent-meeting 스킬**: `/home/jay/workspace/skills/agent-meeting/SKILL.md`
- **3docs-create 스킬**: `/home/jay/workspace/skills/3docs-create/SKILL.md`
- **nuclear-approval 스킬**: `/home/jay/workspace/skills/nuclear-approval/SKILL.md`
- **task-timer**: `/home/jay/workspace/memory/task-timer.py`

---

**스킬 버전**: v1.0
**작성일**: 2026-03-03
**작성자**: 아테나 (개발1팀 UX/UI 설계자)
**지시자**: 아누 (개발실장)
**참조**: project-kickoff-design.md Section 6.3, agent-meeting SKILL.md, 3docs-create SKILL.md, nuclear-approval SKILL.md
