터미널에서 AI와 페어 프로그래밍을 하는 Claude Code를 쓰다 보면 슬래시 커맨드(/)를 반복해서 호출하게 된다. 이 글은 매일 쓰는 커맨드들과, 반복 작업을 줄여주는 커스텀 커맨드 만드는 방법을 정리한 것이다.
1. 자주 쓰는 내장 슬래시 커맨드
터미널에서 /를 입력하면 자동완성 목록이 뜬다. 그중에서 체감상 제일 많이 쓰는 것들.
세션 관리
| 커맨드 | 설명 |
|---|---|
/clear | 대화 초기화. 작업이 바뀔 때마다 써주면 컨텍스트가 깨끗해진다 |
/compact | 현재 대화를 요약해서 컨텍스트 공간 확보 |
/resume | 이전 세션 이어가기 |
/cost | 지금까지 쓴 토큰/비용 |
큰 작업 하나 끝나면 /clear 습관을 들이는 게 좋다. 컨텍스트가 쌓이면 응답 품질도 떨어지고 비용도 올라간다.
설정 & 권한
| 커맨드 | 설명 |
|---|---|
/config | 테마, 모델, 출력 스타일 등 설정 |
/model | 모델 전환 (Sonnet ↔ Opus 등) |
/permissions | 툴 사용 권한 규칙 편집 |
/permissions가 특히 유용하다. 매번 “이 bash 커맨드 실행해도 돼?” 묻는 게 귀찮다면 자주 쓰는 것들을 allowlist에 추가해두면 된다.
프로젝트 세팅
| 커맨드 | 설명 |
|---|---|
/init | 프로젝트 루트에 CLAUDE.md 자동 생성 |
/memory | CLAUDE.md 파일 편집 |
/mcp | MCP 서버 연결 관리 |
/agents | 서브에이전트 관리 |
/hooks | 훅(자동 실행 스크립트) 설정 확인 |
새 저장소에 들어가면 먼저 /init부터. CLAUDE.md는 프로젝트 규칙·스택·스타일을 AI에 알려주는 문서고, 이게 잘 쓰여 있을수록 답변 품질이 확 달라진다.
리뷰 & 기타
| 커맨드 | 설명 |
|---|---|
/review | 로컬에서 PR 코드 리뷰 |
/security-review | 변경사항 보안 리뷰 |
/help | 커맨드 목록 |
2. 프롬프트 안에서 쓰는 특수 문법
@ — 파일 참조
파일을 프롬프트 안에 끼워 넣을 때.
@src/pages/index.astro 이 파일에서 SEO 메타태그가 누락된 부분을 찾아줘.
여러 파일도 된다.
@package.json 와 @tsconfig.json 설정이 일관되게 맞는지 봐줘.
! — Bash 실행
프롬프트가 모델에 전달되기 전에 쉘에서 실행되고, 그 결과가 프롬프트에 들어간다.
!`git status` 결과를 보고 지금 어떤 파일들이 변경됐는지 설명해줘.
매번 터미널에 붙였다 떼는 수고가 줄어든다.
3. 커스텀 슬래시 커맨드 만들기
반복되는 프롬프트가 있으면 파일 하나로 커맨드화할 수 있다.
위치
- 프로젝트 전용:
.claude/commands/<이름>.md - 전역:
~/.claude/commands/<이름>.md
예를 들어 .claude/commands/refactor.md 파일을 만들면 /refactor 커맨드가 생긴다.
기본 템플릿
---
description: 선택한 파일을 작은 함수들로 리팩터링
argument-hint: <파일 경로>
allowed-tools: Read, Edit, Grep
---
다음 파일의 코드를 리팩터링해줘: $ARGUMENTS
기준:
- 함수 하나는 20줄 이하
- 이름은 의도를 드러내게
- 불필요한 주석 제거
- 테스트는 건드리지 말 것
쓸 때는 이렇게.
/refactor src/utils/parser.ts
Frontmatter 주요 필드
| 필드 | 용도 |
|---|---|
description | 커맨드 팔레트에 뜨는 설명 |
argument-hint | 자동완성 때 보이는 인자 힌트 |
allowed-tools | 허용 툴 목록. 여기에 적힌 건 권한 프롬프트 없이 실행 |
model | 이 커맨드에만 특정 모델 고정 (선택) |
$ARGUMENTS 플레이스홀더
커맨드 뒤에 붙여 쓴 인자가 $ARGUMENTS 위치에 그대로 들어간다. 포지션 인자($1, $2 …)도 지원한다.
4. 실전 예시: 자주 쓰는 커스텀 커맨드 3개
/commit — 변경사항 요약해서 커밋 메시지 뽑기
---
description: 스테이징된 변경사항을 보고 Conventional Commits 형식 메시지 생성
allowed-tools: Bash
---
!`git diff --cached`
위 diff를 보고 Conventional Commits 형식으로 커밋 메시지를 작성해줘.
형식: `<type>(<scope>): <subject>`
본문은 "왜" 중심으로 2~3줄. 이모지 금지.
/til — 오늘 배운 것 포스트 드래프트
---
description: TIL 포스트 초안 생성
argument-hint: <주제>
---
오늘 "$ARGUMENTS" 주제로 TIL 포스트 초안을 작성해줘.
- 길이: 300~500자
- 코드 예시 1개
- 마지막 줄에 "왜 중요한가" 1줄
- 마크다운 frontmatter 포함
/explain — 방금 고친 코드 설명 만들기
---
description: HEAD 변경사항을 코드 리뷰어에게 설명하듯 요약
allowed-tools: Bash
---
!`git diff HEAD`
이 변경사항을 PR 설명에 쓸 수 있도록 정리해줘.
- 무엇을 바꿨는지 (what)
- 왜 바꿨는지 (why)
- 주의할 부분 (caveats)
5. 몇 가지 팁
CLAUDE.md에 투자하라. “이 프로젝트는 Jekyll이었는데 Astro로 마이그레이션했고 배포는 GitHub Actions로…” 같은 맥락이 한 줄이라도 있으면 엉뚱한 제안이 확 줄어든다./permissions미리 세팅.Bash(git *),Read(**/*)같은 안전한 패턴은 허용해두면 승인 프롬프트 지옥에서 벗어난다./clear를 두려워하지 말 것. 컨텍스트 정리가 곧 품질이다.- 커스텀 커맨드는 가볍게. 3번 이상 반복한 프롬프트면 바로 파일로 만들자.
.claude/commands/디렉터리도 git에 같이 커밋해서 팀이 공유할 수 있다.
마치며
Claude Code의 진짜 힘은 “기본 대화” 밖에 있다. /init으로 맥락을 주고, @로 파일을 꽂고, !로 쉘을 연결하고, 반복되는 작업은 .claude/commands/에 적립하는 것. 이 흐름이 몸에 붙으면 AI가 “가끔 쓰는 도구”가 아니라 “일하는 방식”이 된다.