session-skills / guide

/session:restart

API 에러·OOM·인증 만료·ESC 로 죽은 턴을 같은 세션에서 이어받아, 다음 실패 비용이 작아지도록 더 잘게 쪼갠 실행으로 되돌린다.

Claude Code 전용다른 하네스는 degradeTaskList / TaskUpdate사용자 트리거 전용
하네스

TaskList 가 없으면 어떻게 되나

실패가 아니라 degrade 다 — 그리고 degrade 했다는 사실을 출력에 말해야 한다.

Claude Code

TaskList / TaskUpdate 로 세션 TodoList 를 읽고 in_progress 항목을 재개 대상으로 삼는다.

그 밖의 하네스

대부분 쓰기 전용 todo 도구만 노출한다. 마지막으로 완료된 tool 결과에서 재개 대상을 고르고 git status --short 로 교차 확인한다. 청킹과 위임 규칙은 그대로다.

경계

언제 쓰고, 언제 안 쓰나

이럴 때 쓴다

  • 턴이 죽었지만 세션은 살아 있을 때
  • “이어서 해줘”, “끊긴 데서 재개”, “다시 로그인했어”
  • 사용자에게 처음부터 다시 시키고 싶지 않을 때

이럴 땐 다른 스킬

  • 토큰 리밋 리셋 후 크론이 깨워서 재개 → session:resume-after-limit
  • 컨텍스트가 차서 다음 세션에 넘겨야 함 → session:handoff
  • 세션이 잘 끝났는지 감사만 → session:close
인터페이스

호출 형식

인자가 없다. 재개 대상은 현재 세션의 TodoList 에서 읽는다.

/session:restart
/session:restart -h
동작

4단계

1

재개 대상 식별

TaskList 의 유일한 in_progress 항목이 재개 대상이고, git status --short 한 번으로 교차 확인한 뒤에 움직인다. 아무것도 고를 수 없으면 멈추고 사용자에게 묻는다.

2

announce + 더 작은 단계 계획

무엇을 이어받았는지 한 줄 먼저 찍는다. 그래야 사용자가 싸게 교정할 수 있다. 필요하면 TaskUpdate 로 in_progress 표시.

3

큰 출력은 위임

광범위 검색, 전체 저장소 find, 다중 파일 정합성 검사는 서브에이전트로 보내고 응답을 약 200 단어로 제한해 메인 컨텍스트를 얇게 유지한다.

4

실행 후 반납

각 단계마다 TodoList 를 갱신하고 한 줄씩 보고한다. 원래 끊겼던 작업이 끝나면 제어를 돌려주되, 반드시 Next: 한 줄로 마친다.

계약

주의사항과 제약

이 스킬의 전제는 “직전 배치가 중간에 죽었다” 이다. 제약 대부분이 거기서 나온다.

  • 이미 출력이 대화에 있는 process 스킬을 다시 돌리지 않는다. 컨텍스트에서 결과를 읽는다.
  • ‘효율을 위해’ tool 호출을 묶지 않는다. 직전 배치가 중간에 죽었다는 것이 전제이므로, 한 번에 하나씩 간다.
  • TodoList 항목의 제목을 고치지 않는다 — 상태만 바꾼다. 제목을 다시 쓰면 사용자의 의도가 사라진다.
  • Step 2 announce 줄을 조용히 건너뛰지 않는다. 사용자가 무엇을 이어받았는지 보아야 싸게 교정할 수 있다.
  • 다른 스킬 안에서 이 스킬을 호출하지 않는다. 사용자가 직접 트리거하는 복구 수단이지 빌딩 블록이 아니다.