| name | handoff |
| description | 세션 인계. 컨텍스트가 차거나 세션을 끝낼 때 진행상황·결정·다음 할 일을 남겨 다음 세션이 이어가게 한다. "핸드오프", "이어서 작업", "인계/컨텍스트 정리", "세션 정리" 요청에 사용. precompact 훅이 남긴 자동 스냅샷을 사람이 읽을 인계문으로 정리하는 데도 쓴다.
|
handoff — 세션 인계
세션을 넘길 때 상태를 HANDOFF.md(레포 루트) 한 파일에 적는다. 다음 세션은 이 파일을 먼저 읽고 이어간다.
무엇을 적나 — 세 가지만
- ✅ 무엇이 됐나 — 검증된 것만. 근거를 함께: "X 구현,
npm test 통과", "Y 커밋 abc1234". "했다"만 적고 안 돌려본 건 여기 넣지 않는다.
- ❌ 무엇을 시도했고 실패했나 — 다음 세션이 같은 삽질을 반복하지 않게. "A 방식 시도 → B 때문에 실패, C로 우회".
- ⏳ 다음 할 일 + 아직 안 한 것 — 구체적으로. "auth 리팩터"가 아니라 "
login.ts:42 토큰 만료 처리 추가, 테스트 test_expiry 작성".
쓰는 법
- 짧게. 인계문은 소설이 아니다. 다음 세션이 30초에 상황 파악하는 게 목표. 각 항목 한두 줄.
- 구체 명사·경로·커밋·명령어. "관련 파일 수정" ✗ → "
src/db.ts:88 커넥션 풀 크기 20으로" ✓.
- 결정과 이유. 되돌리기 어려운 선택은 왜 그랬는지 한 줄. 다음 세션이 뒤집기 전에 알게.
- 끝나면 검증되지 않은 추측·장식은 지운다. (anti-ai-slop과 같은 원칙)
precompact 훅과의 관계
.claude/hooks/dump-handoff.sh(PreCompact:manual 훅)가 압축 직전 기계적 스냅샷을 HANDOFF.md에 자동으로 덧붙인다 — 브랜치·변경파일·최근 사용자 메시지. 이건 안전망일 뿐 지능형 인계가 아니다. 재개 시엔 inject-handoff.sh(SessionStart:resume)가 이 파일을 컨텍스트에 주입한다.
- 이 스킬이 발동하면 파일에 남은
## ⏸ pre-compact snapshot ... 섹션들을 읽어서 위 세 항목으로 정리하고, 정리된 자동 섹션은 지운다(중복 방지).
- 훅은 모델을 부를 수 없어(PreCompact는 컨텍스트 주입 미지원) 스냅샷만 남긴다. 사람이 읽을 인계문은 이 스킬이 만든다.
형식 (템플릿)
# Handoff — <작업 한 줄 요약>
_업데이트: <날짜> · 브랜치: `<branch>`_
## ✅ 된 것
- ...
## ❌ 시도했다 실패 / 막힌 것
- ...
## ⏳ 다음 할 일
- [ ] ...