
Claude Code 청소 전문점: 최대 효율을 계속 발휘하기 위한 3S
요약
Claude Code의 효율을 극대화하기 위한 환경 관리 전략인 '3S(정리, 정돈, 청소)'를 소개합니다. 불필요한 MCP, 스킬, CLAUDE.md 파일 등을 관리하여 컨텍스트 점유를 줄이고 비용과 정밀도를 최적화하는 방법을 다룹니다.
핵심 포인트
- 불필요한 MCP는 비활성화하거나 CLI 도구로 대체하여 컨텍스트를 확보하세요.
- 사용하지 않는 스킬의 description과 방치된 메모리 파일을 정리해야 합니다.
- CLAUDE.md가 비대해지면 규칙 혼동과 토큰 비용 증가의 원인이 됩니다.
- 컨텍스트 관리는 자동 요약(auto compact) 시점과 모델 정밀도에 직결됩니다.
Claude Code, 잘 활용하고 계신가요?
CLAUDE.md를 작성하고, 스킬을 직접 만들고, MCP를 연결하다 보면 어느새 훌륭한 '나만의 전용 환경'이 구축되어 있을 것입니다.
하지만 어느 날 /context를 입력해 보고, 저는 문득 이런 생각이 들었습니다.
"혹시, 뒷단에서 불필요한 일을 하고 있는 건 아닐까..."라고 말이죠.
구체적으로는 다음과 같은 점들이 떠올랐습니다.
- 한 번도 사용하지 않은 MCP가 컨텍스트 (Context)를 대량으로 점유하고 있다
- 만들어 놓고 방치한 스킬의 description (설명)이 매 세션마다 읽히고 있다
- CLAUDE.md는 계속 증축되어, 어떤 것이 중요한 규칙인지 알 수 없게 되었다
- 메모리 파일이 계속해서 쌓이고 있다
Claude Code를 이용하면 스킬이나 규칙을 쉽게 추가할 수 있는 반면, 불필요한 기술(記述)은 Claude의 효율을 떨어뜨립니다.
그래서 본 기사에서는 **"Claude Code의 3S" = 정리(Seiri)・정돈(Seiton)・청소(Seiso)**를 소개합니다.
한 번 깨끗하게 치우고 끝내는 것이 아니라, 최대 효율을 "계속" 발휘하기 위한 습관에 관한 이야기입니다.
본 기사는 2026년 7월 시점의 정보입니다. 기능은 업데이트되므로, 최신 정보는 Claude Code 공식 문서를 확인해 주세요.
본론에 들어가기에 앞서, 어질러진 것들의 정체를 파악해 보겠습니다.
Claude Code의 작업 효율을 지탱하는 것은 **컨텍스트 (Context, 작업 책상의 넓이)**입니다.
그리고 스스로 키워온 환경은 세션 시작 시 이 책상을 조용히 점유해 나갑니다.
MCP 툴 정의- 연결한 MCP의 툴 이름은 기동 시에 읽힙니다. 설정이나 환경에 따라 정의 전체가 책상을 점유할 수 있습니다.
스킬의 description- 스킬이 늘어날수록 기동 시에 읽히는 설명문도 늘어납니다.
CLAUDE.md- 작성한 만큼 매 세션마다 읽힙니다.
메모리 파일- 자동으로 쌓이는 학습 내용도 방치하면 계속 쌓입니다.
책상이 좁아지면 어떤 일이 벌어질까요?
auto compact (대화 자동 요약)가 빨리 찾아와, 그때까지의 문맥이 상실되기 쉬워집니다.
실행 비용이 증가합니다 (읽어야 할 것이 많음 = 토큰을 소비함).
노이즈가 늘어나 정밀도가 떨어집니다 (비슷한 스킬 사이에서 발화가 혼동되거나, 오래된 규칙에 휘둘림).
즉, 편리함을 추구하며 늘려온 것들이 관리를 하지 않으면 효율을 깎아먹는 쪽으로 돌아선다는 뜻입니다.
이제부터가 본론입니다. 정리・정돈・청소의 3S를 하나씩 살펴보겠습니다.
첫 번째는 정리 (整理) 입니다.
필요한 것과 필요 없는 것을 구분하고, 필요 없는 것을 버립니다.
팀원들과 /context를 공유했을 때, 컨텍스트 소비의 주범이었던 것은 MCP 툴 정의였습니다.
연결했다는 사실 자체에 만족하여 사용하지 않고 있는 MCP, 없으신가요?
- 사용하지 않는 MCP는
/mcp커맨드를 통해 disabled (비활성화) 상태로 만든다. - GitHub MCP와 같이 CLI로 대체할 수 있는 것은 CLI로 전환한다 (
gh커맨드로 충분한 경우가 많습니다).
완전히 제로를 목표로 할 필요는 없습니다. "자주 사용하는 것만 남긴다"는 것만으로도 소비를 크게 줄일 수 있습니다.
최근의 Claude Code에는 tool search (툴 검색) 메커니즘이 있어, 기본적으로 MCP 툴의 상세 정의는 "필요해졌을 때" 읽히도록 변경되었습니다. 이전처럼 "연결만 해도 대량 소비"하는 방식은 아닙니다.
그렇다 하더라도 툴 이름은 기동 시에 읽히며, 설정이나 환경에 따라 전체 정의가 올라가는 경우도 있습니다. 짐작으로 판단하지 말고, /context의 실측값으로 판단하는 것이 확실합니다.
스킬의 재고 조사입니다.
판단 기준은 간단합니다.
한 번도 발화되지 않았다- → 정말 필요한지 재검토한다. 필요하다면 다음 단계인 「정돈」으로, 불필요하다면 삭제한다.
비슷한 기능이 여러 개 있다- → 하나로 통합한다.
그때그때 기분에 따라 만든 일회성 작업이다- → 과감히 삭제한다.
"아까우니까 남겨두자"는 생각이 가장 아까운 상태를 만듭니다.
스킬은 많을수록 Claude의 판단 대상이 늘어나, 발화가 흔들리는 원인이 됩니다.
사용하지 않는 것을 지우는 것은, 남은 스킬이 제대로 작동하게 만들기 위한 투자입니다.
특히 효과적이었던 것은 통합이었습니다.
비슷한 리뷰 계열 스킬들이 분산되어 있던 것을 역할별로 하나로 묶으니, "어떤 것을 호출해야 할지" Claude도 자신도 헤매지 않게 되었습니다.
또한, Claude Code에게 스킬의 사용 횟수를 조사해 달라고 요청할 수도 있습니다.
최근 1~2개월 동안 사용하지 않은 것들을 삭제하는 것도 좋은 방법입니다.
CLAUDE.md는 자칫 비대해지기 쉽습니다. "이것도 지키게 하고 싶다", "이것도 적어두자"라며 내용을 불리다 보면, 결국 Claude조차 무엇이 중요한지 판단할 수 없게 됩니다.
- 더 이상 지킬 필요가 없는 규칙은 삭제하기
- "반드시 지킬 것"과 "가급적 지킬 것"을 구분하여 우선순위 매기기
- 망설여진다면 공식 Best Practices와 비교하며 덜어내기
제 팀에서도 "Best Practices를 참고하여 CLAUDE.md를 다이어트시켰다"는 보고가 올라오고 있으며, 이는 이제 정기적인 청소 메뉴로 자리 잡고 있습니다.
다음은 **정돈 (Seiton)**입니다. 남겨둔 것들을 "효과가 잘 나타나는 상태"로 다시 배치합니다.
스킬은 description에 작성된 트리거(Trigger)를 보고 실행됩니다.
"만들었는데 발화(Trigger)되지 않는" 것들의 대부분은, 트리거가 자신이 사용하는 말투와 맞지 않기 때문입니다.
# Before: 막연해서 발화되기 어려움
description: 코드를 리뷰한다
# After: 자신이 평소 사용하는 말투를 구체적으로 나열
...
자신이 실제로 어떻게 말을 거는지를 떠올려보고, 그 단어를 넣어두세요.
이것만으로도 잠들어 있던 스킬이 다시 살아납니다.
반대로 "자동으로 발화되길 원치 않으며, 수동으로 호출하는 것으로 충분한" 스킬도 있습니다.
그럴 경우에는 YAML 프론트매터 (Frontmatter)에 한 줄을 추가합니다.
disable-model-invocation: true
"자동 발화되길 원하는 것"과 "수동으로 충분한 것"을 분류하여 보관 장소를 바꾸는 것, 이것이 정돈입니다.
남겨둔 규칙도 단순히 나열하지 않고 배치 방식을 고민해야 합니다.
- 우선순위를 명시하기 (예: P0: 필수 / P1: 권장)
- 특정 디렉토리에서만 적용하고 싶은 규칙은
.claude/rules/하위의 규칙 파일로 분할하고, 프론트매터의paths로 대상 경로를 지정한다. 이렇게 하면 대상 파일을 다룰 때만 해당 규칙이 읽히게 됩니다.
"매번 전부 읽게 하는 것"에서 "필요한 것을 필요할 때 읽게 하는 것"에 가까워질수록, 책상은 더 넓게 유지할 수 있습니다.
마지막은 **청소 (Seiso)**입니다. 내용이 낡지는 않았는지 정기적으로 점검하고 관리합니다.
스킬이나 CLAUDE.md는 "쓰고 나면 끝"이 아닙니다.
외부 세계(도구, 버전, 팀의 규칙)는 계속해서 움직이고 있기 때문에, 작성 당시의 전제가 어느샌가 깨져 있을 수 있습니다.
제가 실제로 겪었던 사례들입니다.
- 연동되어 있던 MCP의 사양이 바뀌어 스킬의 절차가 작동하지 않게 됨
- 참조하던 파일 경로 나 명령어가 프로젝트 변경으로 인해 구형이 됨
- 팀의 규칙이 바뀌었는데 스킬은 예전 규칙 그대로 남아 있음
특히 한 달에 한 번밖에 사용하지 않는 스킬은 위험합니다.
사용하지 않는 동안 세상은 변해 있고, 막상 사용하려고 하면 "지난달에는 됐는데" 하는 상황이 발생합니다. 점검하지 않으면 정작 중요한 순간에 고장 나 있습니다.
더 나아가, CLAUDE.md나 AGENTS.md의 Best Practices 자체도 반년이면 완전히 바뀝니다.
커스텀 슬래시 명령어가 스킬로 통합된 것처럼, Claude Code 본체의 진화로 인해 "예전의 정답"이 "현재의 우회로"가 되는 일도 드물지 않습니다. 내용뿐만 아니라 작성 방식의 전제 자체를 정기적으로 재검토할 가치가 있습니다.
auto memory (자동 메모리)는 편리하지만, 계속 쌓이기만 하면 /context에서 "Memory files가 너무 많다"는 상태가 됩니다.
역할을 다한 메모리(종료된 프로젝트의 상황, 해결된 문제의 메모)는 삭제하세요.
내용이 오래된 것은 다시 쓰세요. 자동으로 쌓이는 것이야말로 수동으로 정리(Inventory)하는 과정이 필요합니다.
환경뿐만 아니라 세션 중의 컨텍스트(Context)에도 청소가 필요합니다.
청소의 요령은 "사용할 때마다 덤으로 점검하는 것"입니다.
스킬의 출력이 어색하다면 그 자리에서 절차를 재검토하세요.
대청소를 기다리기보다 자주 닦아줌으로써 부담을 줄이고 지속할 수 있습니다.
물론 매번 사용하는 것이 어렵다면, 주말에 Claude와 대화(Wall-hitting)를 나누는 것만으로도 충분합니다!
3S를 "내키면 하는 것"으로 두면 결국 쌓이게 됩니다.
제가 도입하고 있는 방식은 점검 그 자체를 시스템화하는 것입니다.
/statusline을 활용한다. 오염 상태가 항상 눈에 보이는 상태로 만들어 두면 청소 타이밍을 놓치지 않습니다.
남은 컨텍스트를 항상 표시하도록 한다 -
설정 파일 리뷰를 정기 실행 프로세스에 포함시킨다. 팀원 중에는 "Claude의 설정 파일군 리뷰를 매일 아침 cron으로 자동 실행하고 있다"는 고수도 있습니다 -
월초에 스킬(Skill)·MCP·메모리(Memory)를 재고 조사하는 것을 루틴에 넣는다 -
결과물을 다른 AI에게 더블 체크하게 하는 공정을 습관화하여,
열화를 알아차리는 눈을 늘린다
의식적으로 하려고 하면 지속할 수 없습니다.
3S를 돌리는 "시스템(Mechanism)"까지 세트로 만드는 것이 오래 지속하는 비결이었습니다.
| S | 할 일 | 효과 |
|---|---|---|
| 정리 (Seiri) | 사용하지 않는 MCP·스킬·규칙을 버리거나 통합한다 | 컨텍스트에 여유가 생기고, 트리거(Trigger)가 안정된다 |
| 정돈 (Seiton) | 트리거·호출 방법·우선순위를 재검토하여 재배치한다 | 필요한 것이 필요한 때에만 작동한다 |
| 청소 (Seiso) | 오래된 절차·메모리를 점검하고, 세션도 수시로 닦아낸다 | "막상 쓰려고 할 때 고장 나 있는 상황"을 방지한다 |
본 기사의 요점은 다음과 같습니다.
- 키워온 환경은 관리하지 않으면 컨텍스트를 압박하는 노이즈가 된다 -
- 우선
/context로 오염 상태를 시각화한다 - - 정리: 사용하지 않는 MCP는 비활성화(disabled), 중복 스킬은 통합, CLAUDE.md는 다이어트 -
- 정돈: 트리거는 자신의 말투에 맞게, 수동 스킬은
disable-model-invocation: true로 책상 밖으로 치워두기 - - 청소: 외부 세계는 변한다. 스킬·설정·메모리를 정기 점검하고, 세션도
/clear로 수시로 닦아낸다 - - 시스템화: statusline·정기 리뷰·재고 조사 루틴을 통해 의식에 의존하지 않고 운영한다
Claude Code는 만든 개수보다 "관리되어 제대로 작동하는 개수"도 중요합니다.
한동안 청소하지 않은 분들은 꼭 한 번 /context를 입력해 보세요.
"만들어 놓고 잊고 있었던 편리한 것"과 "이제 필요 없는 것"을 분명히 모두 찾을 수 있을 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기