기본 제공 슬래시 명령어
| 명령어 | 목적 |
|---|---|
/add-dir | 추가 작업 디렉토리 추가 |
/agents | 특화된 작업을 위한 사용자 정의 AI 서브에이전트 관리 |
/bug | 버그 보고 (Anthropic에 대화 전송) |
/clear | 대화 기록 삭제 |
/compact [instructions] | 선택적 포커스 지침을 포함한 대화 압축 |
/config | 설정 인터페이스 열기 (설정 탭) |
/cost | 토큰 사용 통계 표시 (비용 추적 가이드에서 구독별 세부 정보 참조) |
/doctor | Claude Code 설치 상태 확인 |
/help | 사용 도움말 받기 |
/init | CLAUDE.md 가이드로 프로젝트 초기화 |
/login | Anthropic 계정 전환 |
/logout | Anthropic 계정에서 로그아웃 |
/mcp | MCP 서버 연결 및 OAuth 인증 관리 |
/memory | CLAUDE.md 메모리 파일 편집 |
/model | AI 모델 선택 또는 변경 |
/permissions | 권한 보기 또는 업데이트 |
/pr_comments | 풀 요청 댓글 보기 |
/review | 코드 검토 요청 |
/sandbox | 더 안전하고 자율적인 실행을 위해 파일 시스템 및 네트워크 격리를 포함한 샌드박스 bash 도구 활성화 |
/rewind | 대화 및/또는 코드 되감기 |
/status | 설정 인터페이스 열기 (버전, 모델, 계정 및 연결 상태를 표시하는 상태 탭) |
/terminal-setup | 줄바꿈을 위한 Shift+Enter 키 바인딩 설치 (iTerm2 및 VSCode만 해당) |
/usage | 플랜 사용 제한 및 속도 제한 상태 표시 (구독 플랜만 해당) |
/vim | vim 모드 진입하여 삽입 및 명령 모드 전환 |
사용자 정의 슬래시 명령어
사용자 정의 슬래시 명령어를 사용하면 자주 사용하는 프롬프트를 Markdown 파일로 정의하여 Claude Code가 실행할 수 있습니다. 명령어는 범위(프로젝트별 또는 개인)로 구성되며 디렉토리 구조를 통한 네임스페이싱을 지원합니다.구문
매개변수
| 매개변수 | 설명 |
|---|---|
<command-name> | Markdown 파일명에서 파생된 이름 (.md 확장자 제외) |
[arguments] | 명령어에 전달되는 선택적 인수 |
명령어 유형
프로젝트 명령어
저장소에 저장되고 팀과 공유되는 명령어입니다./help에 나열될 때 이러한 명령어는 설명 뒤에 “(project)“를 표시합니다.
위치: .claude/commands/
다음 예제에서는 /optimize 명령어를 만듭니다:
개인 명령어
모든 프로젝트에서 사용 가능한 명령어입니다./help에 나열될 때 이러한 명령어는 설명 뒤에 “(user)“를 표시합니다.
위치: ~/.claude/commands/
다음 예제에서는 /security-review 명령어를 만듭니다:
기능
네임스페이싱
명령어를 하위 디렉토리에 구성합니다. 하위 디렉토리는 구성에 사용되며 명령어 설명에 나타나지만 명령어 이름 자체에는 영향을 주지 않습니다. 설명은 명령어가 프로젝트 디렉토리(.claude/commands) 또는 사용자 수준 디렉토리(~/.claude/commands)에서 오는지 여부와 하위 디렉토리 이름을 표시합니다.
사용자 수준과 프로젝트 수준 명령어 간의 충돌은 지원되지 않습니다. 그 외에는 동일한 기본 파일명을 가진 여러 명령어가 공존할 수 있습니다.
예를 들어, .claude/commands/frontend/component.md의 파일은 “(project:frontend)“을 표시하는 설명과 함께 /component 명령어를 만듭니다.
한편, ~/.claude/commands/component.md의 파일은 “(user)“를 표시하는 설명과 함께 /component 명령어를 만듭니다.
인수
인수 자리 표시자를 사용하여 명령어에 동적 값을 전달합니다:$ARGUMENTS를 사용한 모든 인수
$ARGUMENTS 자리 표시자는 명령어에 전달된 모든 인수를 캡처합니다:
$1, $2 등을 사용한 개별 인수
위치 매개변수(셸 스크립트와 유사)를 사용하여 특정 인수에 개별적으로 액세스합니다:
- 명령어의 다른 부분에서 인수에 개별적으로 액세스
- 누락된 인수에 대한 기본값 제공
- 특정 매개변수 역할을 가진 더 구조화된 명령어 구축
Bash 명령어 실행
! 접두사를 사용하여 슬래시 명령어가 실행되기 전에 bash 명령어를 실행합니다. 출력은 명령어 컨텍스트에 포함됩니다. allowed-tools에 Bash 도구를 포함해야 하지만 허용할 특정 bash 명령어를 선택할 수 있습니다.
예를 들어:
파일 참조
@ 접두사를 사용하여 명령어에 파일 내용을 포함하여 파일 참조합니다.
예를 들어:
사고 모드
슬래시 명령어는 확장 사고 키워드를 포함하여 확장 사고를 트리거할 수 있습니다.프론트매터
명령어 파일은 명령어에 대한 메타데이터를 지정하는 데 유용한 프론트매터를 지원합니다:| 프론트매터 | 목적 | 기본값 |
|---|---|---|
allowed-tools | 명령어가 사용할 수 있는 도구 목록 | 대화에서 상속됨 |
argument-hint | 슬래시 명령어에 필요한 인수입니다. 예: argument-hint: add [tagId] | remove [tagId] | list. 이 힌트는 슬래시 명령어를 자동 완성할 때 사용자에게 표시됩니다. | 없음 |
description | 명령어의 간단한 설명 | 프롬프트의 첫 번째 줄 사용 |
model | 특정 모델 문자열 (모델 개요 참조) | 대화에서 상속됨 |
disable-model-invocation | SlashCommand 도구가 이 명령어를 호출하는 것을 방지할지 여부 | false |
플러그인 명령어
플러그인은 Claude Code와 원활하게 통합되는 사용자 정의 슬래시 명령어를 제공할 수 있습니다. 플러그인 명령어는 사용자 정의 명령어와 정확히 동일하게 작동하지만 플러그인 마켓플레이스를 통해 배포됩니다.플러그인 명령어 작동 방식
플러그인 명령어는:- 네임스페이스됨: 명령어는
/plugin-name:command-name형식을 사용하여 충돌을 피할 수 있습니다 (플러그인 접두사는 이름 충돌이 없는 한 선택 사항입니다) - 자동으로 사용 가능: 플러그인이 설치되고 활성화되면 해당 명령어가
/help에 나타납니다 - 완전히 통합됨: 모든 명령어 기능 지원 (인수, 프론트매터, bash 실행, 파일 참조)
플러그인 명령어 구조
위치: 플러그인 루트의commands/ 디렉토리
파일 형식: 프론트매터가 있는 Markdown 파일
기본 명령어 구조:
- 인수: 명령어 설명에서
{arg1}과 같은 자리 표시자 사용 - 하위 디렉토리: 네임스페이싱을 위해 하위 디렉토리에 명령어 구성
- Bash 통합: 명령어는 셸 스크립트 및 프로그램 실행 가능
- 파일 참조: 명령어는 프로젝트 파일 참조 및 수정 가능
호출 패턴
직접 명령어 (충돌이 없을 때)
플러그인 접두사 (명확히 하기 위해 필요할 때)
인수 포함 (명령어가 지원하는 경우)
MCP 슬래시 명령어
MCP 서버는 프롬프트를 슬래시 명령어로 노출할 수 있으며, 이는 Claude Code에서 사용 가능하게 됩니다. 이러한 명령어는 연결된 MCP 서버에서 동적으로 발견됩니다.명령어 형식
MCP 명령어는 다음 패턴을 따릅니다:기능
동적 발견
MCP 명령어는 다음 경우에 자동으로 사용 가능합니다:- MCP 서버가 연결되고 활성화됨
- 서버가 MCP 프로토콜을 통해 프롬프트를 노출함
- 연결 중에 프롬프트가 성공적으로 검색됨
인수
MCP 프롬프트는 서버에서 정의한 인수를 수락할 수 있습니다:명명 규칙
- 서버 및 프롬프트 이름이 정규화됨
- 공백 및 특수 문자가 밑줄이 됨
- 일관성을 위해 이름이 소문자로 변환됨
MCP 연결 관리
/mcp 명령어를 사용하여:
- 구성된 모든 MCP 서버 보기
- 연결 상태 확인
- OAuth 지원 서버로 인증
- 인증 토큰 삭제
- 각 서버의 사용 가능한 도구 및 프롬프트 보기
MCP 권한 및 와일드카드
MCP 도구에 대한 권한을 구성할 때 와일드카드는 지원되지 않습니다:- ✅ 올바름:
mcp__github(github 서버의 모든 도구 승인) - ✅ 올바름:
mcp__github__get_issue(특정 도구 승인) - ❌ 잘못됨:
mcp__github__*(와일드카드 지원 안 함)
mcp__servername. 특정 도구만 승인하려면 각 도구를 개별적으로 나열합니다.
SlashCommand 도구
SlashCommand 도구를 사용하면 Claude가 대화 중에 사용자 정의 슬래시 명령어를 프로그래밍 방식으로 실행할 수 있습니다.
이를 통해 Claude는 적절할 때 사용자를 대신하여 사용자 정의 명령어를 호출할 수 있습니다.
Claude가 SlashCommand 도구를 트리거하도록 권장하려면 지침 (프롬프트, CLAUDE.md 등)이 일반적으로 슬래시와 함께 명령어 이름을 참조해야 합니다.
예:
/context를 사용하여 토큰 사용을 모니터링하고 아래 작업을 따라 컨텍스트를 관리할 수 있습니다.
SlashCommand 도구 지원 명령어
SlashCommand 도구는 다음 사용자 정의 슬래시 명령어만 지원합니다:
- 사용자 정의됨.
/compact및/init과 같은 기본 제공 명령어는 지원되지 않습니다. description프론트매터 필드가 채워짐. 컨텍스트에서description을 사용합니다.
claude --debug를 실행하고 쿼리를 트리거하여 SlashCommand 도구가 호출할 수 있는 사용자 정의 슬래시 명령어를 볼 수 있습니다.
SlashCommand 도구 비활성화
Claude가 도구를 통해 슬래시 명령어를 실행하는 것을 방지하려면:
특정 명령어만 비활성화
특정 슬래시 명령어가 사용 가능하지 않도록 하려면 슬래시 명령어의 프론트매터에disable-model-invocation: true를 추가합니다.
이렇게 하면 명령어의 메타데이터도 컨텍스트에서 제거됩니다.
SlashCommand 권한 규칙
권한 규칙은 다음을 지원합니다:
- 정확한 일치:
SlashCommand:/commit(인수 없이/commit만 허용) - 접두사 일치:
SlashCommand:/review-pr:*(모든 인수를 포함한/review-pr허용)
문자 예산 제한
SlashCommand 도구에는 Claude에 표시되는 명령어 설명의 크기를 제한하는 문자 예산이 포함됩니다. 이는 많은 명령어를 사용할 수 있을 때 토큰 오버플로우를 방지합니다.
예산에는 각 사용자 정의 슬래시 명령어의 이름, 인수 및 설명이 포함됩니다.
- 기본 제한: 15,000자
- 사용자 정의 제한:
SLASH_COMMAND_TOOL_CHAR_BUDGET환경 변수를 통해 설정
/context에서 “M of N commands”로 경고가 표시됩니다.
스킬 대 슬래시 명령어
슬래시 명령어와 에이전트 스킬은 Claude Code에서 다른 목적을 제공합니다:슬래시 명령어 사용 대상
빠르고 자주 사용하는 프롬프트:- 자주 사용하는 간단한 프롬프트 스니펫
- 빠른 미리 알림 또는 템플릿
- 한 파일에 맞는 자주 사용하는 지침
/review→ “Review this code for bugs and suggest improvements”/explain→ “Explain this code in simple terms”/optimize→ “Analyze this code for performance issues”
스킬 사용 대상
구조가 있는 포괄적인 기능:- 여러 단계가 있는 복잡한 워크플로우
- 스크립트 또는 유틸리티가 필요한 기능
- 여러 파일에 걸쳐 구성된 지식
- 표준화하려는 팀 워크플로우
- 양식 작성 스크립트 및 검증이 있는 PDF 처리 스킬
- 다양한 데이터 유형에 대한 참조 문서가 있는 데이터 분석 스킬
- 스타일 가이드 및 템플릿이 있는 문서 스킬
주요 차이점
| 측면 | 슬래시 명령어 | 에이전트 스킬 |
|---|---|---|
| 복잡성 | 간단한 프롬프트 | 복잡한 기능 |
| 구조 | 단일 .md 파일 | SKILL.md + 리소스가 있는 디렉토리 |
| 발견 | 명시적 호출 (/command) | 자동 (컨텍스트 기반) |
| 파일 | 한 파일만 | 여러 파일, 스크립트, 템플릿 |
| 범위 | 프로젝트 또는 개인 | 프로젝트 또는 개인 |
| 공유 | git을 통해 | git을 통해 |
예제 비교
슬래시 명령어로:/review (수동 호출)
스킬로:
각각을 사용할 때
슬래시 명령어 사용:- 동일한 프롬프트를 반복적으로 호출
- 프롬프트가 한 파일에 맞음
- 실행 시기를 명시적으로 제어하려고 함
- Claude가 기능을 자동으로 발견해야 함
- 여러 파일 또는 스크립트가 필요함
- 검증 단계가 있는 복잡한 워크플로우
- 팀이 표준화되고 상세한 지침이 필요함