Claude Code 커스텀 슬래시 커맨드로 매일 20분을 줄인 3주 기록
Claude Code를 쓰기 시작하고 두 달쯤 지났을 때, 나는 같은 프롬프트를 하루에도 대여섯 번씩 복사해서 붙여넣고 있었다. "이 함수 테스트 짜줘, 엣지 케이스 포함해서, 기존 테스트 파일 스타일에 맞춰서." 매번 손으로 치기엔 길고, 메모장에 넣어두자니 찾는 게 더 번거로웠다. 커스텀 슬래시 커맨드를 제대로 파고든 건 그 반복이 손끝에서 지겨워진 순간부터였다.
매번 똑같은 프롬프트를 붙여넣던 습관
문제는 프롬프트 자체가 아니라 '매번 똑같이 정확하게' 쳐야 한다는 점이었다. 테스트를 짤 때마다 엣지 케이스를 넣으라고 덧붙이는 걸 깜빡하면 결과가 얕아졌고, 그럼 다시 요청하느라 왕복이 한 번 더 생겼다. 하루에 이런 왕복이 서너 번. 한 번에 2~3분씩 새어 나가는 게 어느 순간 눈에 보이기 시작했다. 손해라기보단, 매번 같은 실수를 반복하는 나 자신이 더 거슬렸다.
Claude Code는 프로젝트 루트의 .claude/commands 폴더에 마크다운 파일 하나를 만들면 그게 곧 슬래시 커맨드가 된다. 파일 이름이 커맨드 이름이 되고, 파일 안에 적은 내용이 그대로 프롬프트로 들어간다. 별도 설정 화면도, 재시작도 필요 없었다. 이 단순함 덕분에 오히려 몇 주째 미루던 걸 그날 저녁 30분 만에 세 개나 만들었다. 진입 장벽이 낮다는 게 이렇게 실행으로 이어질 줄은 몰랐다.
슬래시 커맨드로 옮긴 첫 세 가지 작업
처음 만든 건 테스트 작성용이었다. test-gen.md 안에 "선택한 함수의 단위 테스트를 작성한다. 정상 경로 하나, 경계값 둘, 예외 하나를 반드시 포함한다. 기존 테스트 파일의 네이밍과 assert 스타일을 먼저 읽고 맞춘다"라고 적었다. 이제 /test-gen만 치면 매번 같은 기준으로 테스트가 나온다. 깜빡할 일 자체가 사라졌다.
두 번째는 커밋 메시지였다. 스테이징된 변경을 읽고 한 줄 요약과 본문 세 줄을 정해진 형식으로 뽑게 했다. 세 번째는 코드 리뷰용으로, "버그 가능성, 누락된 예외 처리, 헷갈리는 네이밍" 이 세 가지만 짚고 나머지 잔소리는 하지 말라고 범위를 좁혔다. 이 범위 제한이 의외의 핵심이었다. 열 가지를 지적하던 리뷰가 정말 중요한 두세 개로 줄면서 오히려 실제로 고치는 속도가 붙었다. 지적이 많을수록 좋은 리뷰가 아니라는 걸 그때 체감했다.
커맨드 안에서 $ARGUMENTS를 쓰면 커맨드 뒤에 붙인 텍스트를 그대로 받아올 수 있다는 것도 나중에 알았다. 예를 들어 /test-gen 결제 검증 함수처럼 대상을 한 줄로 넘기면 매번 파일을 먼저 선택하는 손이 한 단계 줄었다.
3주 동안 실제로 줄어든 시간
숫자를 대충 세지 않으려고 3주간 이 세 커맨드를 몇 번 썼는지 직접 기록했다. 테스트 생성 41회, 커밋 메시지 68회, 리뷰 22회, 합쳐서 131회였다. 커맨드 하나가 아끼는 시간을 프롬프트 타이핑과 재요청 왕복을 합쳐 평균 2분으로 잡으면, 3주에 약 4시간 20분, 하루로 환산했을 때 20분 안팎이 빠진 셈이다.
20분이 크지 않아 보일 수 있는데, 실제 체감은 시간보다 '흐름이 안 끊긴다'는 쪽이 훨씬 컸다. 예전엔 프롬프트를 어떻게 쓸지 잠깐 고민하는 그 3초가 집중을 툭툭 끊었다. 그 3초의 마찰을 없앤 게 20분 절약이라는 숫자보다 더 오래 기억에 남았다.
만들기 전에 알았으면 좋았을 것
시작할 때 가장 헷갈렸던 건 커맨드에 '무엇을' 넣느냐가 아니라 '얼마나' 넣느냐였다. 처음엔 욕심을 부려서 테스트 커맨드 하나에 커버리지 측정, 문서화, 리팩터링 제안까지 다 밀어 넣었다. 결과는 산만했고 매번 결과가 달랐다. 지시가 많을수록 오히려 초점이 흐려졌다.
그래서 규칙을 하나 정했다. 커맨드 하나는 한 가지 일만 시킨다. 테스트는 테스트만, 커밋 메시지는 커밋 메시지만. 여러 단계가 필요하면 커맨드를 나눠서 순서대로 실행했다. 이렇게 쪼개고 나니 결과의 일관성이 눈에 띄게 올라갔고, 어떤 커맨드가 왜 그런 결과를 내는지도 훨씬 예측하기 쉬워졌다. 짧고 뾰족한 커맨드 다섯 개가 길고 뭉툭한 커맨드 하나보다 늘 나았다.
남은 아쉬움과 다음 실험
다 좋았던 건 아니다. 커맨드를 열 개 넘게 만들자 이름이 헷갈려서 뭘 만들었는지 까먹는 일이 생겼다. 한번은 비슷한 커맨드 두 개를 만들어 놓고 다른 걸 쓰다가 5분을 날렸다. 그래서 지금은 실제로 주 3회 이상 쓰는 것만 남기고 나머지는 지웠다. 커맨드는 많이 만드는 것보다 자주 쓰는 것만 살리는 편이 관리가 훨씬 편했다.
다음엔 프로젝트별로 .claude/commands를 따로 두고, 팀 저장소에 커밋해서 나만의 단축이 아니라 팀 공통 기준으로 굳혀볼 생각이다. 반복되는 프롬프트가 두 번 이상 손끝에 걸린다면, 그게 바로 커맨드로 만들 신호다. 나는 그 신호를 두 달이나 무시했고, 지금은 그 흘려보낸 시간이 못내 아깝다.