블로그 예약 발행 작업을 다 끝내고 나서 문득 이런 생각이 들었다. 계속 추가만 했지, 한 번도 정리를 안 했다는 걸. 그래서 Claude Code 스킬 정리를 처음으로 해봤다.
Claude Code 스킬 정리를 해야겠다고 생각한 이유
Claude Code에는 스킬(skill)과 메모리(memory)라는 개념이 있다. 스킬은 “블로그 포스팅해줘”처럼 특정 말을 하면 자동으로 실행되는 루틴이다. 메모리는 Claude가 작업할 때 참고하는 기록 파일들이다. 둘 다 쓸수록 쌓인다.
나는 작업할 때마다 스킬을 추가하고, 메모리를 저장하고, 그걸 다시 꺼내 쓰는 방식으로 Claude를 활용해왔다. 근데 돌이켜보니 한 번도 뒤를 돌아본 적이 없었다. 쌓기만 했다.
그래서 물어봤다. “지금 메모리랑 스킬 중에 삭제해도 무관한 거 있어?”
오래 안 쓴 것을 찾는 대신 ‘없는 것’을 찾기로 한 결정
처음 접근은 단순했다. 마지막으로 쓴 날짜 순으로 정렬해서 오래된 것부터 지우면 될 거라고 생각했다.
근데 그게 안 됐다.
세션(session, 한 번의 작업 대화 기록) 기록이 3주치밖에 남아 있지 않았고, 그 안에서 스킬이 실제로 호출된 횟수는 전부 합쳐서 20번이었다. 이 데이터를 기준으로 “안 쓴 것”을 추리면 멀쩡하게 살아 있는 스킬까지 다 걸린다. 판단 기준으로 쓸 수가 없었다.
그래서 기준을 바꿨다. Claude Code 스킬 정리의 기준을 “오래 안 쓴 것”이 아니라 “없는 걸 가리키는 것”으로 잡았다. 존재하지 않는 폴더나 폐기된 프로젝트를 참조하고 있는 항목을 찾는 거다. 이건 기간 데이터가 없어도 확인할 수 있다.
가장 자주 쓰는 말에 걸린 죽은 스킬 발견
첫 번째로 나온 게 blog-automation이라는 스킬이었다.
이 스킬의 트리거(trigger, 스킬을 작동시키는 특정 말이나 조건)는 “블로그 포스팅해줘”, “포스트 만들어줘” 같은 말이었다. 내가 가장 자주 쓰는 말이다. 그런데 이 스킬이 라우팅하는 대상이 blog-generator 폴더였고, 그 폴더는 이미 삭제된 지 오래였다. ai-blog-generator도 마찬가지였다. 폐기된 프로젝트였다.
즉, “블로그 포스팅해줘”라고 하면 없는 폴더로 cd(폴더 이동 명령어) 하는 명령이 나올 수 있는 상태였다.
언제부터 이랬는지는 모른다. 이 스킬을 만든 건 4월이고, 프로젝트가 폐기됐다고 기록해둔 건 8월 말이다. 그사이 어디쯤에서 깨졌을 텐데 정확한 시점을 알 방법이 없다. 깨진 걸 아무도 기록하지 않았으니까.
조금 놀랐다. 그리고 열받았다. “왜 지금까지 나한테 말을 안 해줬을까”라는 생각이 먼저 들었는데, 내가 물어본 적이 없으니 말을 안 한 거다. 틀린 말도 아니다. 그게 더 답답했다.
지금까지 Claude와 함께 만든 것들이 — 서브에이전트 7개로 만든 블로그 파이프라인 같은 것들이 , 이 스킬을 거쳐갔다면, 쏟아부은 노력에 구멍이 있었던 거다. 멀쩡히 작동하는 것처럼 보였을 뿐이고.
메모리 파일에서 나온 4개의 좀비 참조들
좀비 참조란 이미 삭제되거나 폐기된 대상을 가리키는 기록을 말한다. 실제로 없는데 있다고 믿고 있는 항목들이다.
메모리 쪽에서는 네 개가 나왔다.
- 폐기한 tech-blog-generator의 스킬 자동 업데이트 규칙
- 폐기한 블로그의 글자 수 기준
- 삭제된 blog-generator의 에이전트 구성 문서
- 색인에 아예 등록되지 않은 고아 파일 하나
전부 존재하지 않는 것을 가리키고 있었다.
그중 세 번째가 특히 웃겼다. 삭제된 blog-generator의 에이전트 구성 문서는 그날 만든 거였다. 몇 시간 전에 세션 정리하면서 저장한 문서인데, 그 프로젝트가 이미 폐기됐다는 걸 모르고 저장한 거다. 만든 지 반나절도 안 된 메모리가 벌써 죽어 있었다.
쌓이는 속도보다 썩는 속도가 더 빠를 수 있다는 걸 이때 처음 실감했다.

정리를 다 끝내고 나서 직접 확인한 화면이다. blog-automation은 더 이상 없고, 메모리는 53개로 줄었고, MEMORY.md 안에서 실제 파일을 못 찾는 링크는 하나도 없다.
Claude Code 스킬 정리 결과와, 지우지 않은 것들
정리 결과는 이렇다.
| 항목 | 정리 전 | 정리 후 |
|---|---|---|
| 메모리 파일 | 57개 | 53개 |
| 색인 파일 줄 수 | 125줄 | 113줄 |
| 스킬 | blog-automation 포함 | blog-automation 삭제 |
고아 파일 하나는 지우지 않았다. 내용 자체는 쓸 만했기 때문에, 이미 있던 자율 처리 규칙 안으로 합쳤다. 내용은 버리지 않고 위치만 바꾼 거다.
요즘 안 쓰는 스킬도 몇 개 더 있었는데, 그것들은 건드리지 않았다. 이유는 단순하다. 프로젝트 폴더가 다 살아 있었다. 깨진 게 아니라 지금 당장 안 하는 일일 뿐이다. “오래 안 썼다”는 이유 하나로 지우는 건 근거가 약하다. 지우지 않았다.
앞으로 이런 문제를 줄이려면 어떻게 해야 할까
Claude Code 스킬 정리를 매번 내가 물어봐서 하는 게 아니라, 이런 참조 오류를 수시로 체크해서 먼저 알려주는 Claude를 만들고 싶다. 근데 내 마음대로 안 된다. 그게 답답하다.
한편으로는 나 자신이 문제였다는 것도 안다. 원하는 결과가 나오면 거기서 멈추는 습관. 더 이상 손대지 않으려 하는 것. 정리 같은 건 생각도 안 하는 것. 이번에 발견한 구멍은 그 습관이 만든 거다.
당장 할 수 있는 건 하나다. 프로젝트를 폐기할 때 관련된 스킬과 메모리를 같이 정리하는 것. 지금은 추가할 때만 신경 쓰고 삭제할 때는 아무것도 안 한다. 그러니까 blog-automation처럼 언제 죽었는지도 모르는 스킬이 생기는 거다.
폴더를 지울 때 그 폴더를 참조하는 스킬과 메모리도 같이 확인해야 한다. Claude Code 스킬 정리는 그때 같이 끝내는 게 맞다. 순서가 그래야 한다. 추가할 때 꼼꼼한 것보다, 삭제할 때 꼼꼼한 게 더 중요하다는 걸 이번에 배웠다.
다음번에 또 이런 걸 발견하면, 그때도 내가 물어봐서 찾을 거다. 그게 지금은 좀 불만이지만, 적어도 묻는 습관은 들었다.
CLAUDE.md 쪽에서 비슷하게 발견한 중복 지침은 CLAUDE.md 정리하다 발견한 중복 지침에 정리했다.
