슬래시 명령어는 /로 시작하는 특수 명령어를 사용하여 Claude Code 세션을 제어하는 방법을 제공합니다. 이러한 명령어는 SDK를 통해 전송하여 대화 기록 지우기, 메시지 압축, 도움말 가져오기 등의 작업을 수행할 수 있습니다.
Claude Agent SDK는 시스템 초기화 메시지에서 사용 가능한 슬래시 명령어에 대한 정보를 제공합니다. 세션이 시작될 때 이 정보에 접근하세요:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Hello Claude",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Available slash commands:", message.slash_commands);
// 출력 예시: ["/compact", "/clear", "/help"]
}
}일반 텍스트처럼 프롬프트 문자열에 포함하여 슬래시 명령어를 보내세요:
import { query } from "@anthropic-ai/claude-agent-sdk";
// 슬래시 명령어 보내기
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "result") {
console.log("Command executed:", message.result);
}
}/compact - 대화 기록 압축/compact 명령어는 중요한 컨텍스트를 보존하면서 이전 메시지를 요약하여 대화 기록의 크기를 줄입니다:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "compact_boundary") {
console.log("Compaction completed");
console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);
console.log("Trigger:", message.compact_metadata.trigger);
}
}/clear - 대화 지우기/clear 명령어는 이전 기록을 모두 지우고 새로운 대화를 시작합니다:
import { query } from "@anthropic-ai/claude-agent-sdk";
// 대화를 지우고 새로 시작
for await (const message of query({
prompt: "/clear",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Conversation cleared, new session started");
console.log("Session ID:", message.session_id);
}
}내장 슬래시 명령어를 사용하는 것 외에도, SDK를 통해 사용할 수 있는 자체 커스텀 명령어를 만들 수 있습니다. 커스텀 명령어는 서브에이전트를 구성하는 방식과 유사하게 특정 디렉토리에 마크다운 파일로 정의됩니다.
커스텀 슬래시 명령어는 범위에 따라 지정된 디렉토리에 저장됩니다:
.claude/commands/ - 현재 프로젝트에서만 사용 가능~/.claude/commands/ - 모든 프로젝트에서 사용 가능각 커스텀 명령어는 마크다운 파일이며:
.md 확장자 제외)이 명령어 이름이 됩니다.claude/commands/refactor.md를 생성합니다:
Refactor the selected code to improve readability and maintainability.
Focus on clean code principles and best practices.이렇게 하면 SDK를 통해 사용할 수 있는 /refactor 명령어가 생성됩니다.
.claude/commands/security-check.md를 생성합니다:
---
allowed-tools: Read, Grep, Glob
description: Run security vulnerability scan
model: claude-opus-4-6
---
Analyze the codebase for security vulnerabilities including:
- SQL injection risks
- XSS vulnerabilities
- Exposed credentials
- Insecure configurations파일 시스템에 정의되면 커스텀 명령어는 SDK를 통해 자동으로 사용할 수 있습니다:
import { query } from "@anthropic-ai/claude-agent-sdk";
// 커스텀 명령어 사용
for await (const message of query({
prompt: "/refactor src/auth/login.ts",
options: { maxTurns: 3 }
})) {
if (message.type === "assistant") {
console.log("Refactoring suggestions:", message.message);
}
}
// 커스텀 명령어는 slash_commands 목록에 나타남
for await (const message of query({
prompt: "Hello",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
// 내장 명령어와 커스텀 명령어 모두 포함됨
console.log("Available commands:", message.slash_commands);
// 예시: ["/compact", "/clear", "/help", "/refactor", "/security-check"]
}
}커스텀 명령어는 플레이스홀더를 사용하여 동적 인수를 지원합니다:
.claude/commands/fix-issue.md를 생성합니다:
---
argument-hint: [issue-number] [priority]
description: Fix a GitHub issue
---
Fix issue #$1 with priority $2.
Check the issue description and implement the necessary changes.SDK에서 사용:
import { query } from "@anthropic-ai/claude-agent-sdk";
// 커스텀 명령어에 인수 전달
for await (const message of query({
prompt: "/fix-issue 123 high",
options: { maxTurns: 5 }
})) {
// 명령어는 $1="123"과 $2="high"로 처리됨
if (message.type === "result") {
console.log("Issue fixed:", message.result);
}
}커스텀 명령어는 bash 명령어를 실행하고 그 출력을 포함할 수 있습니다:
.claude/commands/git-commit.md를 생성합니다:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---
## Context
- Current status: !`git status`
- Current diff: !`git diff HEAD`
## Task
Create a git commit with appropriate message based on the changes.@ 접두사를 사용하여 파일 내용을 포함합니다:
.claude/commands/review-config.md를 생성합니다:
---
description: Review configuration files
---
Review the following configuration files for issues:
- Package config: @package.json
- TypeScript config: @tsconfig.json
- Environment config: @.env
Check for security issues, outdated dependencies, and misconfigurations.더 나은 구조를 위해 하위 디렉토리에 명령어를 구성합니다:
.claude/commands/
├── frontend/
│ ├── component.md # /component 생성 (project:frontend)
│ └── style-check.md # /style-check 생성 (project:frontend)
├── backend/
│ ├── api-test.md # /api-test 생성 (project:backend)
│ └── db-migrate.md # /db-migrate 생성 (project:backend)
└── review.md # /review 생성 (project)하위 디렉토리는 명령어 설명에 나타나지만 명령어 이름 자체에는 영향을 미치지 않습니다.
.claude/commands/code-review.md를 생성합니다:
---
allowed-tools: Read, Grep, Glob, Bash(git diff:*)
description: Comprehensive code review
---
## Changed Files
!`git diff --name-only HEAD~1`
## Detailed Changes
!`git diff HEAD~1`
## Review Checklist
Review the above changes for:
1. Code quality and readability
2. Security vulnerabilities
3. Performance implications
4. Test coverage
5. Documentation completeness
Provide specific, actionable feedback organized by priority..claude/commands/test.md를 생성합니다:
---
allowed-tools: Bash, Read, Edit
argument-hint: [test-pattern]
description: Run tests with optional pattern
---
Run tests matching pattern: $ARGUMENTS
1. Detect the test framework (Jest, pytest, etc.)
2. Run tests with the provided pattern
3. If tests fail, analyze and fix them
4. Re-run to verify fixesSDK를 통해 이러한 명령어를 사용합니다:
import { query } from "@anthropic-ai/claude-agent-sdk";
// 코드 리뷰 실행
for await (const message of query({
prompt: "/code-review",
options: { maxTurns: 3 }
})) {
// 리뷰 피드백 처리
}
// 특정 테스트 실행
for await (const message of query({
prompt: "/test auth",
options: { maxTurns: 5 }
})) {
// 테스트 결과 처리
}Was this page helpful?