Handoff은(는) 무엇을 하나요?
작업 세션을 종료하고, 다음 세션이 중단된 지점에서 정확히 재개할 수 있도록 handoff 파일을 디스크에 작성합니다. /compact 대신 사용하며, 함께 사용하지 않습니다.
왜 /compact가 아닌가
/compact는 요약을 작성하기 위해 전체 대화를 다시 읽고, 그 요약으로 기록을 대체합니다. 접두사가 변경되므로 이미 구축된 캐시가 사라지고, 그 이후 모든 턴마다 캐시를 다시 구축해야 합니다. 이는 연속성을 얻는 대신 비용을 지불하는 방식입니다.
Handoff 파일은 세 가지 측면에서 정반대의 접근을 취합니다.
- 비용이 적습니다. 파일은 쓰기에 몇 백 토큰, 읽기에 몇 백 토큰만 필요하며, 새 세션은 작고 깨끗한 접두사에서 시작합니다.
- 사용자가 무엇을 유지할지 선택합니다.
/compact는 스스로 결정하며 가장 가치 있는 정보, 즉 시도해보고 실패한 경로를 버립니다. 어떤 자동 요약도 이를 보존하지 못합니다. - 디스크에 남습니다. 같은 작업에 대한 세 번째 세션은 첫 번째와 두 번째 세션이 무엇을 했는지 알 수 있습니다.
/compact는 세션 내에서만 존재하고 사라집니다.
절차
1. 스스로 재구성하세요. 직접 볼 수 있는 것은 묻지 마세요. 무엇이 수정되었는지, 무엇이 시도되었는지, 무엇이 실패했고 그 이유는 무엇인지, 어떤 결정이 내려졌는지, 어디에서 멈췄는지 — 이 모든 것은 대화 내용에 있습니다. Git 저장소라면 git status --short와 git log --oneline -5를 추가하세요.
2. 직접 추론할 수 없는 두 가지 공백만 물어보세요. 그것들은 목표(무엇을 만들고 있고 왜 만드는지, 오늘 한 일이 아님)와 원하는 다음 단계(항상 명백한 다음 단계와 같지는 않음)입니다. 이 정보가 없다면, 한 질문으로 물어보고, 당신의 가설을 포함시켜 "네"라고만 답하면 되게 하세요. 그 외에는 묻지 마세요. 섹션이 비어 있으면 없음이라고 쓰고 넘어가며, 존재하지 않는 해결된 문제를 만들어내지 마세요.
3. 저장 위치를 결정하세요. 코드 저장소: docs/handoff/{YYYY-MM-DD}-{slug}.md. 메모 보관소나 노트 폴더(이 프로젝트 il-tuo-os 자체와 같은 경우): 작업이 속한 프로젝트 내 handoffs/ 폴더. {slug}는 날짜가 아닌 작업에 대한 두세 단어입니다. 동일한 slug의 handoff 파일이 이미 존재하면 덮어쓰지 마세요: 새 파일은 seq 필드를 증가시키고 이전 파일을 prev에 기록하여, 체인이 역방향으로 읽힐 수 있게 합니다.
4. 다음 프론트매터 — type: handoff, date, status, seq, prev, tags — 와 아래 섹션들을 이 순서대로 파일에 작성하세요.
- 목표: 무엇을 만들고 있고 왜 만드는지, 두세 줄 (이유 포함).
- 현재 상태: 지금의 실제 상태. 작동하는 것, 절반 완료된 것, 시작되지 않은 것.
- 시도했지만 작동하지 않은 것: 파일에서 가장 중요한 섹션. 버려진 각 경로와 그 이유. 다음 세션이 처음부터 다시 시도하는 것을 방지합니다.
- 발생한 문제와 해결 방법: 재발 가능성이 있는 문제만. 증상, 원인, 수정 사항.
- 내린 결정: 선택된 사항 과 버려진 대안, 각각 한 줄 이유. 대안 없이 적힌 결정은 일주일 후에 다시 논의됩니다.
- 수정된 파일: 경로, 각 파일에서 변경된 내용 한 줄.
- 앞으로 나아갈 방향: 다음 단계 (명령형). 그 다음 단계도 이미 명확하다면 함께.
- 무언가를 건드리기 전에 알아야 할 사항: 함정, 특정 방식으로 실행해야 하는 명령어, 고장난 것처럼 보이지만 실제로는 그렇지 않은 것. 없으면
없음.
5. 새 세션에 붙여넣을 준비가 된 재개 명령 한 줄을 채팅에 출력하며 마무리하세요. {경로}를 읽고 "앞으로 나아갈 방향"부터 재개하세요. 그리고 이 시점에서 /clear를 실행할 수 있으며, 재개 비용은 해당 파일만 읽으면 된다는 내용을 추가하세요.
사용하지 말아야 할 경우
항상 사용하는 스킬은 무분별하게 사용하는 스킬입니다.
- 연속성이 없는 작업 전환 →
/clear, handoff가 필요하지 않습니다. - 최근 턴에서 잘못된 방향으로 갔을 때 →
/rewind, 캐시가 이미 알고 있는 지점으로 돌아갑니다. - 곧 업데이트 없이 재개할 경우 →
/rename후/resume. - 다른 날이나 다른 주에 작업을 계속할 때 → 이 스킬.
이 스킬은 사용자를 대신하여 /clear를 실행하지 않습니다. 제안만 합니다.