| name | handoff |
| description | 현재 Claude Code 세션의 맥락을 일회용 핸드오프 문서로 압축해 $TMPDIR에 저장 → 새 세션이 이어받게 한다. compact가 한 세션을 늘린다면 handoff는 다른 세션으로 깨끗이 넘긴다. "핸드오프", "다른 세션으로 넘겨", "이건 따로 처리해", "곁가지 작업 분리", 컨텍스트가 무거워져 새 세션이 필요할 때 사용. 영속 기록(메모리)이 아니라 휘발성 바톤이다. |
| argument-hint | [다음 세션의 목적] |
Handoff — 세션 간 컨텍스트 바톤
목적
현재 세션의 맥락을 압축해 **새 세션(또는 다른 에이전트)**이 이어받을 수 있는 일회용 마크다운 문서를 만든다.
compact / 메모리와의 구분 (중요)
| 역할 | 대상 세션 |
|---|
/compact | 같은 세션을 요약해 이어감 (퇴적층 누적) | 현재 세션 연장 |
handoff | 맥락을 다른 세션으로 넘김 | 새 세션·곁가지 분리 |
memory-update / session-close | 영속 기록 — 볼트 메모리에 반영 | 장기 보존 |
핸드오프는 휘발성 바톤이다. active-context.md·change-log.md·decisions/에 쓰지 않는다. 영속 기록은 session-close/memory-update 담당. (경계 위반 금지)
언제 쓰나
- 현재 세션이 무거워져 (체감 ~120k 토큰, "dumb zone") 새 세션이 필요할 때
- 현재 작업 중 범위 밖 작업 (리팩터·버그·별도 기획)을 발견 → 현재 세션을 더럽히지 않고 독립 세션으로 넘길 때
- DIY 서브에이전트: 부모 세션 → 자식 세션 (프로토타입/조사) → 학습을 핸드오프로 부모에 반송
- 다른 하니스로 교차 (Claude Code → Codex/Copilot 등 검토)
입력
- 다음 세션의 목적: 인자로 받는다. 없으면 사용자에게 묻는다.
"이 핸드오프로 다음 세션이 무엇을 할 건가요?"
목적 없이는 좋은 핸드오프 문서를 쓸 수 없다.
절차
1. 목적 확인
인자로 받은 다음 세션의 목적을 확인한다. 없으면 사용자에게 묻고 대기한다.
2. 관련 슬라이스 추리기
현재 대화에서 다음 세션 목적에 관련된 내용만 추린다. 전체 대화를 복붙하지 않는다.
3. 저장 경로 확인
echo $TMPDIR
macOS 기본값은 /var/folders/.../T/ 형태. 파일명 규칙:
handoff-<주제슬러그>-<YYYYMMDD-HHMM>.md
예: handoff-vault-cleanup-20260608-1430.md
4. 핸드오프 문서 작성
아래 구조로 작성한다:
# Handoff: <다음 세션의 목적>
## 다음 세션이 할 일
<한 문단 — 명확한 목표>
## 추천 스킬
- 다음 세션이 바로 부를 스킬 (예: /session-ops, /vault-health, /discord-announce)
## 맥락 (포인터 우선, 복사 금지)
- 관련 볼트 파일: [[...]] (내용 복사 대신 링크)
- 의미 회상: memory.recall("<주제>") 로 관련 과거 맥락을 불러올 것
- 관련 결정: _system/agents/memory/decisions/...
## 현재까지의 상태 / 비자명한 학습
<다른 곳에 없는, 이 세션에서만 나온 핵심 — 짧게>
## 주의
<제약, 건드리면 안 되는 것>
5. $TMPDIR에 저장
TMPDIR=$(echo $TMPDIR)
cat > "${TMPDIR}handoff-<슬러그>-<YYYYMMDD-HHMM>.md" << 'EOF'
<문서 내용>
EOF
볼트에 저장하지 않는다. (꼭 보관해야 하면 gitignore된 06_inbox/handoffs/로 — 예외적)
6. 사용자에게 안내
저장된 경로를 출력하고 새 세션에서 붙여넣을 방법을 안내한다:
✅ 핸드오프 문서 저장 완료
📄 경로: /var/folders/.../T/handoff-<슬러그>-<YYYYMMDD-HHMM>.md
새 세션에서 이어받으려면:
cat <위 경로> | pbcopy
→ 새 Claude Code 세션 열기 → 붙여넣기 후 작업 시작
규칙 (Matt Pocock 원칙 + 적응)
- 포인터, 복사 금지 — 볼트 파일·decisions·이슈에 이미 있는 내용은 wikilink/경로로 가리킨다.
memory.recall을 다음 세션의 회상 수단으로 명시.
- 민감정보 redact — Discord 봇 토큰, Notion API 키,
.env 값, **멤버 PII (실명·연락처)**는 문서에 넣지 않는다.
- 일회용 —
$TMPDIR에 저장. 볼트에 보관해 rot 시키지 않는다. (꼭 보관해야 하면 gitignore된 06_inbox/handoffs/로 — 예외적)
- 추천 스킬 섹션 필수 — 다음 세션이 부를 스킬을 적어 새 세션이 바로 그 모드로 들어가게 한다.
- 목적 우선 — 인자로 받은 다음 세션 목적에 맞춰 내용을 좁힌다.
메모리에 쓰지 말 것
이 스킬은 어떤 경우에도 active-context.md, change-log.md, decisions/, long-term/에 쓰지 않는다. 그건 memory-update/session-close의 일이다.
연관 스킬
| 스킬 | 관계 |
|---|
/memory-update | 구분 — 영속 기록 (핸드오프와 중복 사용 금지) |
/session-close | 구분 — 세션 종료 후 볼트 정리·메모리 갱신 |
/session-ops | 협력 — 새 세션에서 바로 호출할 수 있는 통합 스킬 |