session-closelisted
Install: claude install-skill Kyungjong-kim/claude-code-harness
# Session Close
세션에서 변경한 내용을 문서로 정리하고 다음 작업을 기록한다.
## Step 1 — 변경 내용 수집
```bash
# 이번 세션 변경 파일
git diff --name-only HEAD 2>/dev/null
git status --short 2>/dev/null
# 오늘 커밋
git log --oneline --since="today 00:00" 2>/dev/null
```
## Step 2 — HANDOFF 구조 감지
아래 경로 중 존재하는 것 확인:
```bash
find . -name "HANDOFF_NOW.md" -not -path "*/node_modules/*" 2>/dev/null | head -3
```
| 결과 | 처리 |
|------|------|
| HANDOFF_NOW.md 있음 | Step 3-A 실행 (HANDOFF 3종 갱신) |
| 없음 | Step 3-B 실행 (변경 요약만 출력) |
---
## Step 3-A — HANDOFF 3종 갱신 (HANDOFF 구조 있는 경우)
CLAUDE.md에서 갱신 순서·경로 확인 후 아래 순서로 갱신한다.
**① 기능 정리 문서 갱신 여부 확인 (코드 변경이 있는 경우)**
```bash
# 이번 세션에서 수정된 소스 파일의 도메인 목록
git diff --name-only HEAD 2>/dev/null | grep -E "\.(ts|tsx|js|jsx|py|go|java|kt|rs)$" | \
grep -v "\.test\.\|\.spec\.\|_test\." | head -10
```
수정된 소스 파일이 있으면 아래를 확인한다:
- **FE 소스 변경**: 해당 도메인의 `FE_*.md`가 이번 세션 내 갱신됐는지 확인
- **BE 소스 변경**: 해당 도메인의 `BE_*.md`가 이번 세션 내 갱신됐는지 확인
- 갱신되지 않았으면 HANDOFF 갱신 전에 먼저 기능 정리 문서를 갱신한다.
- 문서가 없으면 템플릿 기반으로 신규 작성 후 진행한다.
---
**② HANDOFF_NOW.md**
- §1 현재 상태: 브랜치·이슈·빌드 명령 갱신
- §1 "이번 세션 완료 (YYYY-MM-DD)": 세션 날짜와 완료 작업 요약으로 갱신 (날짜·이슈번호·변경 내용 1~2줄)
- §2 다음 작업: 완료 항목 삭제, 새 할 일 추가, 우선순위 재정렬
- **2주 미착수 항목 감지**: §2 항목 중 `YYYY-MM-DD` 형식 날짜가 포함된 항목이 있으면 오늘 날짜와 비교해 14일 초과 항목에 `⏸` 태그 추가 후 §2 하단으로 이동
- 60줄 이하 유지 (초과 시 하위 항목을 HANDOFF.md로 이관)
갱신 후 줄 수 확인:
```bash
HANDOFF_PATH=$(find . -name "HANDOFF_NOW.md" -not -path "*/node_modules/*" 2>/dev/null | head -1)
LINE_COUNT=$(wc -l < "$HANDOFF_PATH" 2>/dev/null | tr -d