Slash commands are frequently-used prompts defined as Markdown files that Claude executes during interactive sessions. Understanding command structure, frontmatter options, and dynamic features enables creating powerful, reusable workflows. **Key concepts:** - Markdown file format for commands
/command-name, the command content becomes Claude's instructions. Write commands as directives TO Claude about what to do, not as messages TO the user.Review this code for security vulnerabilities including: - SQL injection - XSS attacks - Authentication issues Provide specific line numbers and severity ratings. `**Incorrect approach (messages to user):**` This command will review your code for security issues. You'll receive a report with vulnerability details.
.claude/commands//help~/.claude/commands//helpplugin-name/commands//help.md extension:.claude/commands/ ├── review.md # /review command ├── test.md # /test command └── deploy.md # /deploy command `**Simple command:**` Review this code for security vulnerabilities including: - SQL injection - XSS attacks - Authentication bypass - Insecure data handling
--- description: Review code for security issues allowed-tools: Read, Grep, Bash(git:*) model: sonnet --- Review this code for security vulnerabilities...
/help Type: String Default: First line of command prompt--- description: Review pull request for code quality ---
--- allowed-tools: Read, Write, Edit, Bash(git:*) ---
Read, Write, Edit - Specific toolsBash(git:*) - Bash with git commands only* - All tools (rarely needed)--- model: haiku ---
haiku - Fast, simple commandssonnet - Standard workflowsopus - Complex analysis--- argument-hint: [pr-number] [priority] [assignee] ---
--- disable-model-invocation: true ---
--- description: Fix issue by number argument-hint: [issue-number] --- Fix issue #$ARGUMENTS following our coding standards and best practices. `**Usage:**` > /fix-issue 123 > /fix-issue 456 `**Expands to:**` Fix issue #123 following our coding standards... Fix issue #456 following our coding standards...
$1, $2, $3, etc.:--- description: Review PR with priority and assignee argument-hint: [pr-number] [priority] [assignee] --- Review pull request #$1 with priority level $2. After review, assign to $3 for follow-up. `**Usage:**` > /review-pr 123 high alice `**Expands to:**` Review pull request #123 with priority level high. After review, assign to alice for follow-up.
Deploy $1 to $2 environment with options: $3> /deploy api staging --force --skip-testsDeploy api to staging environment with options: --force --skip-tests--- description: Review specific file argument-hint: [file-path] --- Review @$1 for: - Code quality - Best practices - Potential bugs `**Usage:**` > /review-file src/api/users.ts
src/api/users.ts before processing commandCompare @src/old-version.js with @src/new-version.js Identify: - Breaking changes - New features - Bug fixes
Review @package.json and @tsconfig.json for consistency Ensure: - TypeScript version matches - Dependencies are aligned - Build configuration is correct
references/plugin-features-reference.md section on bash execution. The reference includes the exact syntax and multiple working examples to avoid execution issues.claude/commands/ ├── build.md ├── test.md ├── deploy.md ├── review.md └── docs.md
.claude/commands/ ├── ci/ │ ├── build.md # /build (project:ci) │ ├── test.md # /test (project:ci) │ └── lint.md # /lint (project:ci) ├── git/ │ ├── commit.md # /commit (project:git) │ └── pr.md # /pr (project:git) └── docs/ ├── generate.md # /generate (project:docs) └── publish.md # /publish (project:docs)
/help/helpallowed-tools when neededargument-hint--- argument-hint: [pr-number] --- $IF($1, Review PR #$1, Please provide a PR number. Usage: /review-pr [number] )
Bash(git:*) not Bash(*)--- description: Deploy application to environment argument-hint: [environment] [version] --- <!-- Usage: /deploy [staging|production] [version] Requires: AWS credentials configured Example: /deploy staging v1.2.3 --> Deploy application to $1 environment using version $2...
--- description: Review code changes allowed-tools: Read, Bash(git:*) --- Files changed: !`git diff --name-only` Review each file for: 1. Code quality and style 2. Potential bugs or issues 3. Test coverage 4. Documentation needs Provide specific feedback for each file. `### Testing Pattern` --- description: Run tests for specific file argument-hint: [test-file] allowed-tools: Bash(npm:*) --- Run tests: !`npm test $1` Analyze results and suggest fixes for failures. `### Documentation Pattern` --- description: Generate documentation for file argument-hint: [source-file] --- Generate comprehensive documentation for @$1 including: - Function/class descriptions - Parameter documentation - Return value descriptions - Usage examples - Edge cases and errors `### Workflow Pattern` --- description: Complete PR workflow argument-hint: [pr-number] allowed-tools: Bash(gh:*), Read --- PR #$1 Workflow: 1. Fetch PR: !`gh pr view $1` 2. Review changes 3. Run checks 4. Approve or request changes
.md extension present$1, $2 syntax correctargument-hint matches usageallowed-tools includes Bash@ syntax correct${CLAUDE_PLUGIN_ROOT}, an environment variable that resolves to the plugin's absolute path.--- description: Analyze using plugin script allowed-tools: Bash(node:*) --- Run analysis: !`node ${CLAUDE_PLUGIN_ROOT}/scripts/analyze.js $1` Review results and report findings. `**Common patterns:**` # Execute plugin script !`bash ${CLAUDE_PLUGIN_ROOT}/scripts/script.sh` # Load plugin configuration @${CLAUDE_PLUGIN_ROOT}/config/settings.json # Use plugin template @${CLAUDE_PLUGIN_ROOT}/templates/report.md # Access plugin resources @${CLAUDE_PLUGIN_ROOT}/docs/reference.md
commands/ directory:plugin-name/ ├── commands/ │ ├── foo.md # /foo (plugin:plugin-name) │ ├── bar.md # /bar (plugin:plugin-name) │ └── utils/ │ └── helper.md # /helper (plugin:plugin-name:utils) └── plugin.json
/help output--- description: Deploy using plugin configuration argument-hint: [environment] allowed-tools: Read, Bash(*) --- Load configuration: @${CLAUDE_PLUGIN_ROOT}/config/$1-deploy.json Deploy to $1 using configuration settings. Monitor deployment and report status. `**Template-based pattern:**` --- description: Generate docs from template argument-hint: [component] --- Template: @${CLAUDE_PLUGIN_ROOT}/templates/docs.md Generate documentation for $1 following template structure. `**Multi-script pattern:**` --- description: Complete build workflow allowed-tools: Bash(*) --- Build: !`bash ${CLAUDE_PLUGIN_ROOT}/scripts/build.sh` Test: !`bash ${CLAUDE_PLUGIN_ROOT}/scripts/test.sh` Package: !`bash ${CLAUDE_PLUGIN_ROOT}/scripts/package.sh` Review outputs and report workflow status.
references/plugin-features-reference.md for detailed patterns.--- description: Deep code review argument-hint: [file-path] --- Initiate comprehensive review of @$1 using the code-reviewer agent. The agent will analyze: - Code structure - Security issues - Performance - Best practices Agent uses plugin resources: - ${CLAUDE_PLUGIN_ROOT}/config/rules.json - ${CLAUDE_PLUGIN_ROOT}/checklists/review.md
plugin/agents/ directory--- description: Document API with standards argument-hint: [api-file] --- Document API in @$1 following plugin standards. Use the api-docs-standards skill to ensure: - Complete endpoint documentation - Consistent formatting - Example quality - Error documentation Generate production-ready API docs.
plugin/skills/ directoryreferences/plugin-features-reference.md for examples of commands that coordinate with hooks--- description: Comprehensive review workflow argument-hint: [file] allowed-tools: Bash(node:*), Read --- Target: @$1 Phase 1 - Static Analysis: !`node ${CLAUDE_PLUGIN_ROOT}/scripts/lint.js $1` Phase 2 - Deep Review: Launch code-reviewer agent for detailed analysis. Phase 3 - Standards Check: Use coding-standards skill for validation. Phase 4 - Report: Template: @${CLAUDE_PLUGIN_ROOT}/templates/review.md Compile findings into report following template.
--- description: Deploy with validation argument-hint: [environment] --- Validate environment: !`echo "$1" | grep -E "^(dev|staging|prod)quot; || echo "INVALID"` If $1 is valid environment: Deploy to $1 Otherwise: Explain valid environments: dev, staging, prod Show usage: /deploy [environment] `### File Existence Checks` --- description: Process configuration argument-hint: [config-file] --- Check file exists: !`test -f $1 && echo "EXISTS" || echo "MISSING"` If file exists: Process configuration: @$1 Otherwise: Explain where to place config file Show expected format Provide example configuration `### Plugin Resource Validation` --- description: Run plugin analyzer allowed-tools: Bash(test:*) --- Validate plugin setup: - Script: !`test -x ${CLAUDE_PLUGIN_ROOT}/bin/analyze && echo "✓" || echo "✗"` - Config: !`test -f ${CLAUDE_PLUGIN_ROOT}/config.json && echo "✓" || echo "✗"` If all checks pass, run analysis. Otherwise, report missing components. `### Error Handling` --- description: Build with error handling allowed-tools: Bash(*) --- Execute build: !`bash ${CLAUDE_PLUGIN_ROOT}/scripts/build.sh 2>&1 || echo "BUILD_FAILED"` If build succeeded: Report success and output location If build failed: Analyze error output Suggest likely causes Provide troubleshooting steps
references/frontmatter-reference.md. For plugin-specific features and patterns, see references/plugin-features-reference.md. For command pattern examples, see examples/ directory.