---
name: work-log
description: 작업을 시작하기 전에 작업 계획 파일을 생성하고, 각 단계 완료 시마다 결과 파일을 별도로 기록하는 스킬. 사용자가 /work-log를 호출하거나 작업 계획서를 만들어달라고 요청할 때 사용합니다.
allowed-tools: Read, Write, Edit, Bash, Glob
argument-hint: [작업 내용] (선택사항 — 생략하면 작업 내용을 따로 물어봄)
---

# Work Log — 작업 계획 및 단계별 결과 기록 스킬

작업을 시작하기 전에 계획 파일을 만들고, 각 단계 완료 시마다 반드시 결과 파일을 생성한다.
**결과 파일 생성 및 사용자 확인 없이는 절대 다음 단계로 진행하지 않는다.**

## 파일 구조

```
docs/work-log/
└── {작업명}_{날짜}/                         ← 작업별 폴더
    ├── {작업명}_{날짜}_계획내용.md           ← 작업 계획서 (작업 시작 시 생성)
    ├── {작업명}_01단계_{날짜}.md             ← 1단계 완료 후 결과 기록
    ├── {작업명}_02단계_{날짜}.md             ← 2단계 완료 후 결과 기록
    └── {작업명}_03단계_{날짜}.md             ← 3단계 완료 후 결과 기록
```

---

## 실행 순서

### Step 1: 작업 내용 파악

두 가지 호출 방식을 모두 처리한다.

- **뒤에 내용 있는 경우**: `/work-log 홈페이지 질문 페이지 구현` → 해당 내용을 작업 설명으로 사용
- **내용 없는 경우**: `/work-log` 만 입력 → "어떤 작업을 진행할까요?" 라고 물어본 뒤 답변을 작업 설명으로 사용

작업 설명을 파악한 뒤, 2~4글자의 간결한 한국어 작업명을 직접 결정한다.
(예: "홈페이지 질문 페이지 구현해줘" → `질문페이지구현`)

날짜는 오늘 날짜를 `MMDD` 형식으로 사용한다. (예: 4월 13일 → `0413`)

---

### Step 2: 폴더 생성

`docs/work-log/{작업명}_{날짜}/` 폴더를 생성한다.

```bash
mkdir -p "docs/work-log/{작업명}_{날짜}"
```

---

### Step 3: 작업 단계 분석

요청받은 작업을 분석하여 논리적인 단계로 나눈다.
- 단계 수는 작업 규모에 따라 유동적으로 결정한다.
- 각 단계는 독립적으로 완료 가능한 단위로 나눈다.

---

### Step 4: 계획 파일 작성

파일명: `{작업명}_{날짜}_계획내용.md` (폴더 안에 생성)

```markdown
# {작업명}_{날짜}_계획내용

## 작업 계획
- 전체 목표: {작업의 전체 목표를 한 줄로 요약}

## 작업01 — {단계 제목}
- [ ] 완료

## 작업02 — {단계 제목}
- [ ] 완료

## 작업03 — {단계 제목}
- [ ] 완료
```

---

### Step 5: 계획 확인 요청

파일을 생성한 뒤, 사용자에게 계획 내용을 보여주고 확인을 요청한다.

> "작업 계획을 작성했습니다. 확인 후 진행 여부를 알려주세요."

사용자가 확인하면 작업을 시작한다. 수정 요청이 있으면 파일을 업데이트한 뒤 재확인한다.

---

### Step 6: 작업 진행 중 완료 표시

각 작업 단계가 완료될 때마다 계획 파일의 해당 항목을 즉시 업데이트한다.

```markdown
## 작업01 — {단계 제목}
- [x] 완료
```

---

### Step 7: 단계 완료 시 결과 파일 생성 (필수 — 생략 절대 불가)

**⚠️ 이 단계는 반드시 실행해야 한다. 결과 파일 생성 없이 다음 단계로 진행하는 것은 금지된다.**

각 단계가 완료될 때마다 아래 순서를 반드시 따른다.

#### 1. 스크립트 실행으로 결과 파일 템플릿 자동 생성

```bash
node .claude/scripts/create-step-log.cjs {작업명} {날짜} {단계번호}
# 예: node .claude/scripts/create-step-log.cjs GPT연동공유 0416 01
```

#### 2. 생성된 결과 파일에 내용 채우기

스크립트가 생성한 파일(`{작업명}_{N}단계_{날짜}.md`)을 열어 아래 항목을 채운다.

```markdown
# {작업명}_{N}단계_{날짜}

## 단계 요약
- {이번 단계에서 한 작업 한 줄 요약}

## 생성 파일
- {새로 만든 파일 경로 목록 — 없으면 "없음"}

## 수정 내역
- {기존 파일에서 변경한 내용 목록}

## 막혔던 것
- {작업 중 문제가 생겼던 것과 해결 방법 — 없으면 "없음"}

## 다음 단계 참고
- {이번 단계 결과가 다음 단계에 미치는 영향 한 줄 메모}

## 커밋
- {해당 단계 완료 커밋 해시 — 커밋 전이면 "미커밋"}
```

#### 3. 사용자에게 결과 파일 내용 보여주기

결과 파일 내용을 사용자에게 보여주고 확인을 받는다.

> "{N}단계 완료 기록을 저장했습니다. 다음 단계로 진행할까요?"

**사용자 확인 응답을 받기 전까지 다음 단계 구현을 시작하지 않는다.**
