# Session Handoff

> Generate a structured handoff document AND save it to Obsidian vault. Use when ending a session, saying "continue later", "save progress", "session summary", or "pick up where I left off".

- Skill: `daniel8824-del/session-handoff` (Agent Skill)
- Install (CLI): `npx skillmds@latest add daniel8824-del/session-handoff`
- Raw SKILL.md: https://api.skillmd.com/api/skills/daniel8824-del/session-handoff/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: daniel8824-del (https://skillmd.com/u/daniel8824-del)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/daniel8824-del/session-handoff

---


# Session Handoff

**이 스킬은 3단계를 모두 완료해야 한다. 어느 하나도 건너뛸 수 없다.**

## Step 1: 핸드오프 문서 생성

git 상태를 수집하고 아래 형식으로 문서를 작성한다.

```bash
git status
git diff --stat
git log --oneline -5
git branch --show-current
```

**문서 형식 (이 섹션명을 정확히 사용):**
```markdown
# Session Handoff — [date]

## Status
- **Branch**: {branch}
- **Commits this session**: {N}
- **Uncommitted changes**: {description}
- **Tests**: {passing / failing / not run}

## What's Done
- {completed task 1}
- {completed task 2}

## What's In Progress
- {current task with context}

## What's Pending
- {next task}

## Key Decisions Made
- {decision and why}

## Learnings Captured
- {Category} {rule}

## Resume Command

**다음 세션을 시작할 때 아래 문장을 그대로 복사해서 Claude에게 첫 메시지로 보내세요** (복붙 전용 — Claude가 이 한 줄만 읽어도 이번 세션 전체 맥락을 복원할 수 있도록 작성):

> ```
> {YYYY-MM-DD} {프로젝트명} 세션 이어서 — {완료한 것 한 줄 요약}까지 끝났고, 다음은 {바로 시작할 구체 작업}. 관련 파일: [[session-{YYYY-MM-DD}-{slug}]] 참고.
> ```

**작성 규칙** (Claude는 이 형식을 반드시 지킬 것):
1. **날짜 + 프로젝트명**으로 시작해 세션 검색 키워드 제공
2. **"이어서"** 문구 포함 → Claude가 replay-learnings 트리거하도록 유도
3. **"까지 끝났고"** 로 완료 상태 명시
4. **"다음은"** 으로 바로 시작할 구체 작업 명시 (~하자/~진행 금지, ~작업 시작 같은 명령형)
5. **[[session-*]]** 위키링크로 세션 노트 직접 참조

**예시** (이 형식 그대로):
> ```
> 2026-04-15 하네스+위키 세션 이어서 — wire-framer 스킬 등록 + 4장 수업 자료 완성까지 끝났고, 다음은 Hermes 에이전트 구축 시작. 관련 파일: [[session-2026-04-15-harness-wiki-lecture-skill]] 참고.
> ```
```

## Step 2: Obsidian 볼트에 저장 (MANDATORY — 건너뛸 수 없음)

**이 단계를 건너뛰면 핸드오프가 완료되지 않은 것이다.**

볼트 경로: `${OBSIDIAN_VAULT_PATH}/`

### 2-1. 파일 생성

**경로**: `30_Claude/01_Sessions/session-{YYYY-MM-DD}-{summary-slug}.md`
**파일명**: 영문 소문자 + 하이픈. 예: `session-2026-04-11-harness-wiki.md`

**프론트매터 (반드시 포함)**:
```yaml
---
title: "세션 {YYYY-MM-DD} — {요약}"
tags:
  - 개발/세션
  - 프로젝트/{name}
date: {YYYY-MM-DD}
---
```

### 2-2. 위키링크 규칙

**[[링크]]를 만들기 전에 반드시 대상 파일 존재를 확인한다:**
```bash
find ${OBSIDIAN_VAULT_PATH} -iname "파일명.md" | head -1
```
- 존재하면 → `[[파일명]]`
- 존재하지 않으면 → plain text (링크 걸지 않음)

**없는 페이지에 [[링크]]를 거는 것은 금지.**

### 2-3. index.md + log.md 업데이트

**index.md** (`30_Claude/00_Meta/index.md`):
- `## 01_Sessions` 섹션에 새 항목 추가

**log.md** (`30_Claude/00_Meta/log.md`):
- 파일 상단에 새 항목 추가 (최신이 위로)
- 형식: `## {YYYY-MM-DD} | session-handoff` + Pages + 한줄 요약

## Step 3: QMD 인덱싱 (MANDATORY — 건너뛸 수 없음)

```bash
qmd update && qmd embed
```

## 완료 확인

**아래 3개가 모두 충족되어야 핸드오프 완료:**
- [ ] `30_Claude/01_Sessions/session-*.md` 파일이 생성되었는가?
- [ ] `30_Claude/00_Meta/index.md`에 항목이 추가되었는가?
- [ ] `qmd update && qmd embed`가 실행되었는가?

**하나라도 안 되었으면 완료가 아니다. 돌아가서 실행한다.**

