Slash Commands Reference
Create and use user-triggered prompts with /command-name syntax.
When to Use "How do I create a slash command?" "What slash commands are available?" "Add bash to my command" "Use file references in commands" "Slash commands vs skills" Built-in Commands Command Purpose /clear Clear conversation history /compact Compact conversation with focus /config Open settings interface /cost Show token usage /agents Manage sub-agents /mcp Manage MCP servers /memory Edit CLAUDE.md files /model Select AI model /review Request code review /resume Resume session /help Get usage help Creating Commands Project Commands mkdir -p .claude/commands cat > .claude/commands/optimize.md << 'EOF'
description: Analyze code for performance issues
Review this code for: - Performance bottlenecks - Memory leaks - Caching opportunities EOF
Personal Commands mkdir -p ~/.claude/commands cat > ~/.claude/commands/review.md << 'EOF'
description: Security-focused code review
Check for vulnerabilities: - Input validation - SQL injection - XSS risks EOF
Command File Format
description: Brief description for /help allowed-tools: [Bash, Read, Write] # Optional argument-hint: "[file] [type]" # Optional
Your markdown instructions here. Use $1, $2 for arguments or $ARGUMENTS for all.
Bash Execution
Run bash before loading prompt with ! prefix:
allowed-tools: Bash(git:), Bash(grep:) description: Git commit helper
Current status: !git status
Staged changes: !git diff --staged
Recent commits: !git log --oneline -5
Based on these changes, suggest a commit message.
Rules:
Must declare allowed-tools: Bash(...) in frontmatter
Use backticks: !command
Output is included in Claude's context
File References
Include files with @ prefix:
Review against @.claude/STYLE_GUIDE.md
Compare: - @src/old.js - @src/new.js
Refactor files matching @src/*/.util.ts
Arguments
argument-hint: "[pr-number] [priority]"
Review PR #$1 with priority: $2
Or use all arguments:
Fix issue #$ARGUMENTS
Usage:
/review-pr 456 high
$1 = "456", $2 = "high"
Namespacing
Organize with subdirectories:
.claude/commands/ ├── frontend/ │ └── component.md → /component (project:frontend) └── backend/ └── endpoint.md → /endpoint (project:backend)
MCP Slash Commands
MCP servers expose prompts as commands:
/mcp__github__list_prs /mcp__github__pr_review 456 /mcp__jira__create_issue "Bug" high
Slash Commands vs Skills Aspect Slash Commands Skills Invocation Explicit: /command Auto-discovered Files Single .md file Directory with SKILL.md Use Case Quick prompts Complex workflows
Use slash commands for: Frequently typed prompts, simple templates Use skills for: Complex workflows, multiple files, auto-discovery
Example: Complete Git Commit Command
description: Generate semantic commit message allowed-tools: Bash(git:*), Read argument-hint: "[type]"
Semantic Commit Generator
Staged files: !git diff --name-only --cached
Diff preview:
!git diff --cached | head -100
Generate a conventional commit message. Type: $1 (feat/fix/docs/style/refactor/perf/test/chore)
Format: <type>(<scope>): <subject>
Usage: /commit feat