
Claude Code로 한 시간쯤 작업하다 보면 세션을 마무리할 타이밍이 온다. 변경사항 커밋하고, 필요하면 문서 정리하고, 스킬을 수정했으면 기록도 남겨야 한다. 매번 같은 순서를 반복하는 게 귀찮아서 /wrap이라는 세션 마무리 스킬을 만들었다.
Claude Code 세션이 길어지면 context compaction이 일어난다. 대화 맥락이 압축되면서 초반에 뭘 했는지 기억이 흐려지는데, 그 전에 마무리를 해야 한다. 안 그러면 커밋을 빼먹거나 스킬 변경 기록을 놓치게 된다.
문제는 이 작업이 매번 똑같다는 거다. 문서 정리, git commit, 스킬 record. 순서도 정해져 있고 판단이 필요한 부분도 별로 없다. 자동화하기 딱 좋은 대상이었다.
/wrap을 실행하면 세 단계가 순서대로 돌아간다.
핵심은 '개입 없으면 skip'이라는 원칙이다. 스킬을 쓰기만 하고 수정하지 않았으면 record를 건너뛴다. 쓸데없는 기록을 쌓지 않는 게 중요하니까.
wrap 스킬의 핵심 절차를 SKILL.md에 이렇게 정의했다.
## 절차
### 1. 문서화
세션에서 생성/변경된 산출물 중 문서화가 필요한 것이 있으면 정리.
### 2. Git
1. git status로 현재 프로젝트의 git 상태 확인
2. git 저장소가 아니면 → git init 제안
3. 변경사항이 있으면 → 커밋 메시지 작성, 사용자 확인 후 commit & push
### 3. 사용된 스킬의 Record 작성
1. ~/.claude/skills/에 설치된 사용자 스킬만 대상
2. 개입 없었으면 → skip
3. 개입 있었으면 → /skill-version-manager record {skill-name}보면 알겠지만 복잡한 로직은 없다. Claude Code가 이미 git이나 파일 시스템을 잘 다루니까 절차만 정해주면 된다. 스킬이란 게 결국 '이 순서대로 해줘'라는 체크리스트인 셈이다.
wrap을 만들면서 세션 기록 파일명 규칙도 손봤다. 기존에는 주제 기반이었는데 버전 기반으로 변경했다.
# Before
docs/notes/session-2026-02-10-ai-agent-solo-biz.md
# After
docs/notes/session-v1.0.0-2026-02-10.md주제명을 slug로 만들면 파일명이 길어지고 일관성도 떨어진다. 버전 + 날짜 조합으로 바꾸니 같은 날 같은 버전에 대한 기록을 하나의 파일에 모을 수 있게 됐다. 오전에 v1.2.0 작업하다가 오후에 이어서 할 때 파일이 분산되지 않는다.
세션 마무리를 깜빡하는 가장 큰 이유는 context compaction이다. Claude Code가 컨텍스트를 압축하면 '아 방금 뭘 고쳤더라' 하는 기억이 사라진다. 그래서 wrap은 작업이 끝나고 바로 실행하는 게 좋다.
사실 이건 자동화 전에도 알고 있었는데 매번 까먹었다. /wrap 하나 치면 끝이라는 간단함이 습관을 만드는 데 도움이 됐다.
wrap 스킬에서 재밌는 건 '도구가 자기 자신의 개선 데이터를 수집한다'는 점이다. 스킬을 쓰다가 사용자가 개입한 부분을 기록하면 그게 다음 버전의 개선 포인트가 된다. 사용 -> 관찰 -> 개선 루프가 도구 안에 내장되는 셈이다.
복잡한 시스템이 아니라 체크리스트 하나로 시작하는 거라 만드는 데 30분도 안 걸렸다. 비슷한 반복 작업이 있다면 스킬로 만들어보는 걸 권한다. 생각보다 잘 돌아간다.