기본 제공 슬래시 명령어

명령어목적
/add-dir추가 작업 디렉토리 추가
/agents특화된 작업을 위한 사용자 정의 AI 서브에이전트 관리
/bug버그 보고 (Anthropic에 대화 전송)
/clear대화 기록 삭제
/compact [instructions]선택적 포커스 지침을 포함한 대화 압축
/config설정 인터페이스 열기 (설정 탭)
/cost토큰 사용 통계 표시 (비용 추적 가이드에서 구독별 세부 정보 참조)
/doctorClaude Code 설치 상태 확인
/help사용 도움말 받기
/initCLAUDE.md 가이드로 프로젝트 초기화
/loginAnthropic 계정 전환
/logoutAnthropic 계정에서 로그아웃
/mcpMCP 서버 연결 및 OAuth 인증 관리
/memoryCLAUDE.md 메모리 파일 편집
/modelAI 모델 선택 또는 변경
/permissions권한 보기 또는 업데이트
/pr_comments풀 요청 댓글 보기
/review코드 검토 요청
/sandbox더 안전하고 자율적인 실행을 위해 파일 시스템 및 네트워크 격리를 포함한 샌드박스 bash 도구 활성화
/rewind대화 및/또는 코드 되감기
/status설정 인터페이스 열기 (버전, 모델, 계정 및 연결 상태를 표시하는 상태 탭)
/terminal-setup줄바꿈을 위한 Shift+Enter 키 바인딩 설치 (iTerm2 및 VSCode만 해당)
/usage플랜 사용 제한 및 속도 제한 상태 표시 (구독 플랜만 해당)
/vimvim 모드 진입하여 삽입 및 명령 모드 전환

사용자 정의 슬래시 명령어

사용자 정의 슬래시 명령어를 사용하면 자주 사용하는 프롬프트를 Markdown 파일로 정의하여 Claude Code가 실행할 수 있습니다. 명령어는 범위(프로젝트별 또는 개인)로 구성되며 디렉토리 구조를 통한 네임스페이싱을 지원합니다.

구문

/<command-name> [arguments]

매개변수

매개변수설명
<command-name>Markdown 파일명에서 파생된 이름 (.md 확장자 제외)
[arguments]명령어에 전달되는 선택적 인수

명령어 유형

프로젝트 명령어

저장소에 저장되고 팀과 공유되는 명령어입니다. /help에 나열될 때 이러한 명령어는 설명 뒤에 “(project)“를 표시합니다. 위치: .claude/commands/ 다음 예제에서는 /optimize 명령어를 만듭니다:
# 프로젝트 명령어 생성
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" > .claude/commands/optimize.md

개인 명령어

모든 프로젝트에서 사용 가능한 명령어입니다. /help에 나열될 때 이러한 명령어는 설명 뒤에 “(user)“를 표시합니다. 위치: ~/.claude/commands/ 다음 예제에서는 /security-review 명령어를 만듭니다:
# 개인 명령어 생성
mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

기능

네임스페이싱

명령어를 하위 디렉토리에 구성합니다. 하위 디렉토리는 구성에 사용되며 명령어 설명에 나타나지만 명령어 이름 자체에는 영향을 주지 않습니다. 설명은 명령어가 프로젝트 디렉토리(.claude/commands) 또는 사용자 수준 디렉토리(~/.claude/commands)에서 오는지 여부와 하위 디렉토리 이름을 표시합니다. 사용자 수준과 프로젝트 수준 명령어 간의 충돌은 지원되지 않습니다. 그 외에는 동일한 기본 파일명을 가진 여러 명령어가 공존할 수 있습니다. 예를 들어, .claude/commands/frontend/component.md의 파일은 “(project:frontend)“을 표시하는 설명과 함께 /component 명령어를 만듭니다. 한편, ~/.claude/commands/component.md의 파일은 “(user)“를 표시하는 설명과 함께 /component 명령어를 만듭니다.

인수

인수 자리 표시자를 사용하여 명령어에 동적 값을 전달합니다:
$ARGUMENTS를 사용한 모든 인수
$ARGUMENTS 자리 표시자는 명령어에 전달된 모든 인수를 캡처합니다:
# 명령어 정의
echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

# 사용법
> /fix-issue 123 high-priority
# $ARGUMENTS는 다음이 됩니다: "123 high-priority"
$1, $2 등을 사용한 개별 인수
위치 매개변수(셸 스크립트와 유사)를 사용하여 특정 인수에 개별적으로 액세스합니다:
# 명령어 정의  
echo 'Review PR #$1 with priority $2 and assign to $3' > .claude/commands/review-pr.md

# 사용법
> /review-pr 456 high alice
# $1은 "456"이 되고, $2는 "high"가 되고, $3은 "alice"가 됩니다
다음이 필요할 때 위치 인수를 사용합니다:
  • 명령어의 다른 부분에서 인수에 개별적으로 액세스
  • 누락된 인수에 대한 기본값 제공
  • 특정 매개변수 역할을 가진 더 구조화된 명령어 구축

Bash 명령어 실행

! 접두사를 사용하여 슬래시 명령어가 실행되기 전에 bash 명령어를 실행합니다. 출력은 명령어 컨텍스트에 포함됩니다. allowed-toolsBash 도구를 포함해야 하지만 허용할 특정 bash 명령어를 선택할 수 있습니다. 예를 들어:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---

## Context

- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## Your task

Based on the above changes, create a single git commit.

파일 참조

@ 접두사를 사용하여 명령어에 파일 내용을 포함하여 파일 참조합니다. 예를 들어:
# 특정 파일 참조

Review the implementation in @src/utils/helpers.js

# 여러 파일 참조

Compare @src/old-version.js with @src/new-version.js

사고 모드

슬래시 명령어는 확장 사고 키워드를 포함하여 확장 사고를 트리거할 수 있습니다.

프론트매터

명령어 파일은 명령어에 대한 메타데이터를 지정하는 데 유용한 프론트매터를 지원합니다:
프론트매터목적기본값
allowed-tools명령어가 사용할 수 있는 도구 목록대화에서 상속됨
argument-hint슬래시 명령어에 필요한 인수입니다. 예: argument-hint: add [tagId] | remove [tagId] | list. 이 힌트는 슬래시 명령어를 자동 완성할 때 사용자에게 표시됩니다.없음
description명령어의 간단한 설명프롬프트의 첫 번째 줄 사용
model특정 모델 문자열 (모델 개요 참조)대화에서 상속됨
disable-model-invocationSlashCommand 도구가 이 명령어를 호출하는 것을 방지할지 여부false
예를 들어:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Create a git commit
model: claude-3-5-haiku-20241022
---

Create a git commit with message: $ARGUMENTS
위치 인수를 사용한 예:
---
argument-hint: [pr-number] [priority] [assignee]
description: Review pull request
---

Review PR #$1 with priority $2 and assign to $3.
Focus on security, performance, and code style.

플러그인 명령어

플러그인은 Claude Code와 원활하게 통합되는 사용자 정의 슬래시 명령어를 제공할 수 있습니다. 플러그인 명령어는 사용자 정의 명령어와 정확히 동일하게 작동하지만 플러그인 마켓플레이스를 통해 배포됩니다.

플러그인 명령어 작동 방식

플러그인 명령어는:
  • 네임스페이스됨: 명령어는 /plugin-name:command-name 형식을 사용하여 충돌을 피할 수 있습니다 (플러그인 접두사는 이름 충돌이 없는 한 선택 사항입니다)
  • 자동으로 사용 가능: 플러그인이 설치되고 활성화되면 해당 명령어가 /help에 나타납니다
  • 완전히 통합됨: 모든 명령어 기능 지원 (인수, 프론트매터, bash 실행, 파일 참조)

플러그인 명령어 구조

위치: 플러그인 루트의 commands/ 디렉토리 파일 형식: 프론트매터가 있는 Markdown 파일 기본 명령어 구조:
---
description: Brief description of what the command does
---

# Command Name

Detailed instructions for Claude on how to execute this command.
Include specific guidance on parameters, expected outcomes, and any special considerations.
고급 명령어 기능:
  • 인수: 명령어 설명에서 {arg1}과 같은 자리 표시자 사용
  • 하위 디렉토리: 네임스페이싱을 위해 하위 디렉토리에 명령어 구성
  • Bash 통합: 명령어는 셸 스크립트 및 프로그램 실행 가능
  • 파일 참조: 명령어는 프로젝트 파일 참조 및 수정 가능

호출 패턴

직접 명령어 (충돌이 없을 때)
/command-name
플러그인 접두사 (명확히 하기 위해 필요할 때)
/plugin-name:command-name
인수 포함 (명령어가 지원하는 경우)
/command-name arg1 arg2

MCP 슬래시 명령어

MCP 서버는 프롬프트를 슬래시 명령어로 노출할 수 있으며, 이는 Claude Code에서 사용 가능하게 됩니다. 이러한 명령어는 연결된 MCP 서버에서 동적으로 발견됩니다.

명령어 형식

MCP 명령어는 다음 패턴을 따릅니다:
/mcp__<server-name>__<prompt-name> [arguments]

기능

동적 발견

MCP 명령어는 다음 경우에 자동으로 사용 가능합니다:
  • MCP 서버가 연결되고 활성화됨
  • 서버가 MCP 프로토콜을 통해 프롬프트를 노출함
  • 연결 중에 프롬프트가 성공적으로 검색됨

인수

MCP 프롬프트는 서버에서 정의한 인수를 수락할 수 있습니다:
# 인수 없음
> /mcp__github__list_prs

# 인수 포함
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug title" high

명명 규칙

  • 서버 및 프롬프트 이름이 정규화됨
  • 공백 및 특수 문자가 밑줄이 됨
  • 일관성을 위해 이름이 소문자로 변환됨

MCP 연결 관리

/mcp 명령어를 사용하여:
  • 구성된 모든 MCP 서버 보기
  • 연결 상태 확인
  • OAuth 지원 서버로 인증
  • 인증 토큰 삭제
  • 각 서버의 사용 가능한 도구 및 프롬프트 보기

MCP 권한 및 와일드카드

MCP 도구에 대한 권한을 구성할 때 와일드카드는 지원되지 않습니다:
  • 올바름: mcp__github (github 서버의 모든 도구 승인)
  • 올바름: mcp__github__get_issue (특정 도구 승인)
  • 잘못됨: mcp__github__* (와일드카드 지원 안 함)
MCP 서버의 모든 도구를 승인하려면 서버 이름만 사용합니다: mcp__servername. 특정 도구만 승인하려면 각 도구를 개별적으로 나열합니다.

SlashCommand 도구

SlashCommand 도구를 사용하면 Claude가 대화 중에 사용자 정의 슬래시 명령어를 프로그래밍 방식으로 실행할 수 있습니다. 이를 통해 Claude는 적절할 때 사용자를 대신하여 사용자 정의 명령어를 호출할 수 있습니다. Claude가 SlashCommand 도구를 트리거하도록 권장하려면 지침 (프롬프트, CLAUDE.md 등)이 일반적으로 슬래시와 함께 명령어 이름을 참조해야 합니다. 예:
> Run /write-unit-test when you are about to start writing tests.
이 도구는 각 사용 가능한 사용자 정의 슬래시 명령어의 메타데이터를 문자 예산 제한까지 컨텍스트에 넣습니다. /context를 사용하여 토큰 사용을 모니터링하고 아래 작업을 따라 컨텍스트를 관리할 수 있습니다.

SlashCommand 도구 지원 명령어

SlashCommand 도구는 다음 사용자 정의 슬래시 명령어만 지원합니다:
  • 사용자 정의됨. /compact/init과 같은 기본 제공 명령어는 지원되지 않습니다.
  • description 프론트매터 필드가 채워짐. 컨텍스트에서 description을 사용합니다.
Claude Code 버전 >= 1.0.124의 경우 claude --debug를 실행하고 쿼리를 트리거하여 SlashCommand 도구가 호출할 수 있는 사용자 정의 슬래시 명령어를 볼 수 있습니다.

SlashCommand 도구 비활성화

Claude가 도구를 통해 슬래시 명령어를 실행하는 것을 방지하려면:
/permissions
# 거부 규칙에 추가: SlashCommand
이렇게 하면 SlashCommand 도구 (및 슬래시 명령어 설명)도 컨텍스트에서 제거됩니다.

특정 명령어만 비활성화

특정 슬래시 명령어가 사용 가능하지 않도록 하려면 슬래시 명령어의 프론트매터에 disable-model-invocation: true를 추가합니다. 이렇게 하면 명령어의 메타데이터도 컨텍스트에서 제거됩니다.

SlashCommand 권한 규칙

권한 규칙은 다음을 지원합니다:
  • 정확한 일치: SlashCommand:/commit (인수 없이 /commit만 허용)
  • 접두사 일치: SlashCommand:/review-pr:* (모든 인수를 포함한 /review-pr 허용)

문자 예산 제한

SlashCommand 도구에는 Claude에 표시되는 명령어 설명의 크기를 제한하는 문자 예산이 포함됩니다. 이는 많은 명령어를 사용할 수 있을 때 토큰 오버플로우를 방지합니다. 예산에는 각 사용자 정의 슬래시 명령어의 이름, 인수 및 설명이 포함됩니다.
  • 기본 제한: 15,000자
  • 사용자 정의 제한: SLASH_COMMAND_TOOL_CHAR_BUDGET 환경 변수를 통해 설정
문자 예산을 초과하면 Claude는 사용 가능한 명령어의 하위 집합만 볼 수 있습니다. /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을 통해

예제 비교

슬래시 명령어로:
# .claude/commands/review.md
Review this code for:
- Security vulnerabilities
- Performance issues
- Code style violations
사용법: /review (수동 호출) 스킬로:
.claude/skills/code-review/
├── SKILL.md (overview and workflows)
├── SECURITY.md (security checklist)
├── PERFORMANCE.md (performance patterns)
├── STYLE.md (style guide reference)
└── scripts/
    └── run-linters.sh
사용법: “Can you review this code?” (자동 발견) 스킬은 더 풍부한 컨텍스트, 검증 스크립트 및 구성된 참조 자료를 제공합니다.

각각을 사용할 때

슬래시 명령어 사용:
  • 동일한 프롬프트를 반복적으로 호출
  • 프롬프트가 한 파일에 맞음
  • 실행 시기를 명시적으로 제어하려고 함
스킬 사용:
  • Claude가 기능을 자동으로 발견해야 함
  • 여러 파일 또는 스크립트가 필요함
  • 검증 단계가 있는 복잡한 워크플로우
  • 팀이 표준화되고 상세한 지침이 필요함
슬래시 명령어와 스킬은 공존할 수 있습니다. 필요에 맞는 접근 방식을 사용합니다. 에이전트 스킬에 대해 자세히 알아봅니다.

참고 항목