| name | save-session |
| description | 현재 세션 상태를 docs/sessions/에 저장해서 다음 세션이 완전한 컨텍스트로 이어갈 수 있게 한다. /save로 호출. 컨덕터 워크스페이스 컨텍스트 리셋이나 문맥 한계 직전에 필수. |
/save — 세션 상태 저장
이번 세션에서 일어난 모든 것(만든 것, 작동한 것, 실패한 것, 남은 것)을 날짜 파일로 기록해서 다음 세션이 정확히 이어갈 수 있게 한다.
언제 사용
- 작업 세션 종료 직전 (Claude Code 닫기 전)
- 컨텍스트 한계 근접 시 → 먼저 /save 후 새 세션
- 복잡한 문제를 해결한 직후
- 워크스페이스 전환 / 컨텍스트 핸드오프 필요 시
SDD와의 차이
/sdd status: 공식 워크플로우 단계(1~5) 진행 상태
/save: 자유형 작업 메모 — 디버깅, 연구, 시도했다가 실패한 것, 미확정 결정
서로 보완재다. SDD 중간이어도 /save는 가능.
실행 순서
1. 컨텍스트 수집
파일 쓰기 전에 모으기:
git status / git diff 로 변경된 파일 전부 확인
- 이번 세션 대화에서 무엇이 논의·시도·결정됐는지 복기
- 마주친 에러와 해결(혹은 미해결) 여부
- 현재 test/build 상태
2. 저장 폴더 확인
mkdir -p docs/sessions
3. 세션 파일 작성
경로: docs/sessions/YYYY-MM-DD-<slug>.md
slug 규칙: 소문자 + 숫자 + 하이픈, 8자 이상 권장 (예: race-toctou-fix, onboarding-flow-v2). 당일 충돌 방지.
4. 모든 섹션 정직하게 작성
내용 없는 섹션은 "없음" 또는 "N/A"로 명시. 비어있는 것보다 거짓말이 더 나쁘다.
5. 사용자에게 보여주고 확인 요청
"세션이 docs/sessions/{파일명}에 저장되었습니다. 누락/수정할 부분 있나요?"
세션 파일 템플릿
# 세션: YYYY-MM-DD — <주제 한 줄>
**시작 시각:** HH:MM
**마지막 갱신:** HH:MM
**브랜치:** <git branch>
**주제:** <한 줄 요약>
## 무엇을 만들고 있나
<한 단락. 목표와 현재 단계>
## 작동 확인된 것 (증거 포함)
> **할루시네이션 가드**: ✓ 표시 전 증거를 검증한다. 증거는 셋 중 하나로 한정:
>
> - 테스트 출력의 실제 줄 (`pnpm test` 통과 메시지 인용)
> - 커밋 SHA (`git log --oneline -1`)
> - 파일:줄 (구현 위치 + 동작 검증 방식)
>
> 기억 기반("아마 됐을 것", "방금 고쳤음")으로 ✓ 표시 금지. 검증 못 하면 "아직 시도 안 한 것" 또는 "블로커"로 이동.
- ✓ <기능/변경>: <테스트/수동 확인/로그>
- ✓ <기능/변경>: <증거>
## 시도했지만 실패한 것 (이유 명시)
- ✗ <접근>: <왜 실패했나>
- ✗ <접근>: <왜 실패했나>
> 이 섹션이 가장 중요하다. 다음 세션이 같은 실패를 반복하지 않도록.
## 아직 시도 안 한 것
- [ ] <접근/아이디어>: <왜 안 해봤는지>
## 파일별 현재 상태
| 파일 | 상태 | 다음 할 일 |
| -------------------------- | ------- | ------------------- |
| apps/api/src/router/foo.ts | 수정 중 | input 검증 Zod 추가 |
| apps/web/src/pages/bar.tsx | 완료 | — |
## 결정사항
- <결정>: <근거>
## 블로커
- <블로커>: <누구/무엇을 기다리는지>
## 정확한 다음 한 걸음
<다음 세션이 바로 타이핑할 명령 또는 열어야 할 파일:줄>
짝이 되는 명령
/resume-session — 가장 최근 세션 파일을 자동 로드해서 어디서 멈췄는지 요약.