Skip to content

Slash Commands 命令

概述

Slash 命令是在交互式会话中控制 Claude 行为的快捷方式。它们分为以下几种类型:

  • 内置命令:由 Claude Code 提供(/help/clear/model
  • 技能(Skills):用户定义的命令,以 SKILL.md 文件形式创建(/optimize/pr
  • 插件命令:来自已安装插件的命令(/frontend-design:frontend-design
  • MCP 提示词:来自 MCP 服务器的命令(/mcp__github__list_prs

注意:自定义 slash 命令已合并到技能(skills)中。.claude/commands/ 中的文件仍然有效,但现在推荐使用技能(.claude/skills/)。两者都可以创建 /command-name 快捷方式。请参阅技能指南获取完整参考。

内置命令参考

内置命令是常用操作的快捷方式。共有 55+ 个内置命令5 个捆绑技能 可用。在 Claude Code 中输入 / 即可查看完整列表,或输入 / 后跟任意字母进行筛选。

命令用途
/add-dir <path>添加工作目录
/agents管理代理配置
/branch [name]将对话分支到新会话(别名:/fork)。注意:/fork 在 v2.1.77 中重命名为 /branch
/btw <question>不加入历史记录的旁白问题
/chrome配置 Chrome 浏览器集成
/clear清除对话(别名:/reset/new
/color [color|default]设置提示栏颜色
/compact [instructions]压缩对话,可选聚焦说明
/config打开设置(别名:/settings
/context以彩色网格可视化上下文使用情况
/copy [N]复制助手回复到剪贴板;w 写入文件
/cost显示 token 使用统计
/desktop在桌面应用中继续(别名:/app
/diff未提交更改的交互式 diff 查看器
/doctor诊断安装健康状态
/effort [low|medium|high|max|auto]设置努力级别。max 需要 Opus 4.6
/exit退出 REPL(别名:/quit
/export [filename]将当前对话导出到文件或剪贴板
/extra-usage配置速率限制的额外用量
/fast [on|off]切换快速模式
/feedback提交反馈(别名:/bug
/help显示帮助
/hooks查看钩子配置
/ide管理 IDE 集成
/init初始化 CLAUDE.md。设置 CLAUDE_CODE_NEW_INIT=true 启用交互式流程
/insights生成会话分析报告
/install-github-app设置 GitHub Actions 应用
/install-slack-app安装 Slack 应用
/keybindings打开按键绑定配置
/login切换 Anthropic 账户
/logout退出 Anthropic 账户
/mcp管理 MCP 服务器和 OAuth
/memory编辑 CLAUDE.md,切换自动记忆
/mobile移动应用二维码(别名:/ios/android
/model [model]选择模型,使用左/右箭头调整努力级别
/passes分享 Claude Code 免费周
/permissions查看/更新权限(别名:/allowed-tools
/plan [description]进入计划模式
/plugin管理插件
/pr-comments [PR]获取 GitHub PR 评论
/privacy-settings隐私设置(仅限 Pro/Max)
/release-notes查看更新日志
/reload-plugins重新加载活跃插件
/remote-control从 claude.ai 远程控制(别名:/rc
/remote-env配置默认远程环境
/rename [name]重命名会话
/resume [session]恢复对话(别名:/continue
/review已弃用 — 请改为安装 code-review 插件
/rewind回退对话和/或代码(别名:/checkpoint
/sandbox切换沙盒模式
/schedule [description]创建/管理定时任务
/security-review分析分支的安全漏洞
/skills列出可用技能
/stats可视化每日使用情况、会话、连续天数
/status显示版本、模型、账户
/statusline配置状态栏
/tasks列出/管理后台任务
/terminal-setup配置终端按键绑定
/theme更改颜色主题
/vim切换 Vim/普通模式
/voice切换按键说话语音输入

捆绑技能

这些技能随 Claude Code 一起提供,像 slash 命令一样调用:

技能用途
/batch <instruction>使用 worktree 协调大规模并行更改
/claude-api加载项目语言对应的 Claude API 参考
/debug [description]启用调试日志
/loop [interval] <prompt>按间隔重复运行提示词
/simplify [focus]审查已更改文件的代码质量

已弃用命令

命令状态
/review已弃用 — 被 code-review 插件取代
/output-style自 v2.1.73 起弃用
/fork重命名为 /branch(别名仍可用,v2.1.77)

近期变更

  • /fork 重命名为 /branch/fork 保留为别名(v2.1.77)
  • /output-style 已弃用(v2.1.73)
  • /review 已弃用,推荐使用 code-review 插件
  • 添加了 /effort 命令,max 级别需要 Opus 4.6
  • 添加了 /voice 命令用于按键说话语音输入
  • 添加了 /schedule 命令用于创建/管理定时任务
  • 添加了 /color 命令用于提示栏自定义
  • /model 选择器现在显示人类可读标签(例如 "Sonnet 4.6")而不是原始模型 ID
  • /resume 支持 /continue 别名
  • MCP 提示词可用作 /mcp__<server>__<prompt> 命令(参见 MCP 提示词作为命令

自定义命令(现已合并为技能)

自定义 slash 命令已合并到技能中。两种方式都可以创建通过 /command-name 调用的命令:

方式位置状态
技能(推荐).claude/skills/<name>/SKILL.md当前标准
旧版命令.claude/commands/<name>.md仍然有效

如果技能和命令同名,技能优先。例如,当 .claude/commands/review.md.claude/skills/review/SKILL.md 同时存在时,使用技能版本。

迁移路径

现有的 .claude/commands/ 文件无需更改即可继续使用。要迁移到技能:

迁移前(命令):

.claude/commands/optimize.md

迁移后(技能):

.claude/skills/optimize/SKILL.md

为什么选择技能?

技能相比旧版命令提供了额外功能:

  • 目录结构:可捆绑脚本、模板和参考文件
  • 自动调用:Claude 可在相关时自动触发技能
  • 调用控制:选择由用户、Claude 或两者都可调用
  • 子代理执行:使用 context: fork 在隔离上下文中运行技能
  • 渐进式加载:仅在需要时加载额外文件

将自定义命令创建为技能

创建一个包含 SKILL.md 文件的目录:

bash
mkdir -p .claude/skills/my-command

文件: .claude/skills/my-command/SKILL.md

yaml
---
name: my-command
description: What this command does and when to use it
---

# My Command

Instructions for Claude to follow when this command is invoked.

1. First step
2. Second step
3. Third step

Frontmatter 参考

字段用途默认值
name命令名称(变为 /name目录名
description简要描述(帮助 Claude 知道何时使用)第一段
argument-hint自动补全的预期参数
allowed-tools命令可使用的免权限工具继承
model使用的特定模型继承
disable-model-invocation若为 true,仅用户可调用(Claude 不可)false
user-invocable若为 false,从 / 菜单中隐藏true
context设为 fork 以在隔离子代理中运行
agent使用 context: fork 时的代理类型general-purpose
hooks技能范围的钩子(PreToolUse、PostToolUse、Stop)

参数

命令可以接收参数:

使用 $ARGUMENTS 获取所有参数:

yaml
---
name: fix-issue
description: Fix a GitHub issue by number
---

Fix issue #$ARGUMENTS following our coding standards

用法:/fix-issue 123$ARGUMENTS 变为 "123"

使用 $0$1 等获取单个参数:

yaml
---
name: review-pr
description: Review a PR with priority
---

Review PR #$0 with priority $1

用法:/review-pr 456 high$0="456",$1="high"

使用 Shell 命令的动态上下文

在提示词之前使用 !command`` 执行 bash 命令:

yaml
---
name: commit
description: Create a git commit with context
allowed-tools: Bash(git *)
---

## Context

- Current git status: !`git status`
- Current git diff: !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -5`

## Your task

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

文件引用

使用 @ 包含文件内容:

markdown
Review the implementation in @src/utils/helpers.js
Compare @src/old-version.js with @src/new-version.js

插件命令

插件可以提供自定义命令:

/plugin-name:command-name

或者在没有命名冲突时直接使用 /command-name

示例:

bash
/frontend-design:frontend-design
/commit-commands:commit

MCP 提示词作为命令

MCP 服务器可以将提示词暴露为 slash 命令:

/mcp__<server-name>__<prompt-name> [arguments]

示例:

bash
/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug title" high

MCP 权限语法

在权限中控制 MCP 服务器访问:

  • mcp__github - 访问整个 GitHub MCP 服务器
  • mcp__github__* - 通配符访问所有工具
  • mcp__github__get_issue - 特定工具访问

命令架构

命令生命周期

本文件夹中的可用命令

这些示例命令可以安装为技能或旧版命令。

1. /optimize - 代码优化

分析代码中的性能问题、内存泄漏和优化机会。

用法:

/optimize
[粘贴你的代码]

2. /pr - Pull Request 准备

引导完成 PR 准备检查清单,包括代码检查、测试和提交格式化。

用法:

/pr

截图:/pr

3. /generate-api-docs - API 文档生成器

从源代码生成全面的 API 文档。

用法:

/generate-api-docs

4. /commit - 带上下文的 Git 提交

使用仓库中的动态上下文创建 git 提交。

用法:

/commit [可选消息]

5. /push-all - 暂存、提交并推送

暂存所有更改,创建提交,并在安全检查后推送到远程。

用法:

/push-all

安全检查:

  • 密钥文件:.env**.key*.pemcredentials.json
  • API 密钥:检测真实密钥与占位符
  • 大文件:>10MB 且未使用 Git LFS
  • 构建产物:node_modules/dist/__pycache__/

6. /doc-refactor - 文档重构

重构项目文档以提高清晰度和可访问性。

用法:

/doc-refactor

7. /setup-ci-cd - CI/CD 流水线设置

实施 pre-commit 钩子和 GitHub Actions 以保障代码质量。

用法:

/setup-ci-cd

8. /unit-test-expand - 测试覆盖率扩展

通过针对未测试的分支和边界情况来增加测试覆盖率。

用法:

/unit-test-expand

安装

作为技能安装(推荐)

复制到你的技能目录:

bash
# Create skills directory
mkdir -p .claude/skills

# For each command file, create a skill directory
for cmd in optimize pr commit; do
  mkdir -p .claude/skills/$cmd
  cp 01-slash-commands/$cmd.md .claude/skills/$cmd/SKILL.md
done

作为旧版命令安装

复制到你的命令目录:

bash
# Project-wide (team)
mkdir -p .claude/commands
cp 01-slash-commands/*.md .claude/commands/

# Personal use
mkdir -p ~/.claude/commands
cp 01-slash-commands/*.md ~/.claude/commands/

创建自己的命令

技能模板(推荐)

创建 .claude/skills/my-command/SKILL.md

yaml
---
name: my-command
description: What this command does. Use when [trigger conditions].
argument-hint: [optional-args]
allowed-tools: Bash(npm *), Read, Grep
---

# Command Title

## Context

- Current branch: !`git branch --show-current`
- Related files: @package.json

## Instructions

1. First step
2. Second step with argument: $ARGUMENTS
3. Third step

## Output Format

- How to format the response
- What to include

仅用户可调用的命令(禁止自动调用)

对于有副作用的命令,不应让 Claude 自动触发:

yaml
---
name: deploy
description: Deploy to production
disable-model-invocation: true
allowed-tools: Bash(npm *), Bash(git *)
---

Deploy the application to production:

1. Run tests
2. Build application
3. Push to deployment target
4. Verify deployment

最佳实践

应该做不应该做
使用清晰的、面向操作的命名为一次性任务创建命令
包含带有触发条件的 description在命令中构建复杂逻辑
保持命令专注于单一任务硬编码敏感信息
对有副作用的命令使用 disable-model-invocation跳过 description 字段
使用 ! 前缀获取动态上下文假设 Claude 知道当前状态
在技能目录中组织相关文件把所有内容放在一个文件中

故障排除

命令未找到

解决方案:

  • 检查文件是否在 .claude/skills/<name>/SKILL.md.claude/commands/<name>.md
  • 验证 frontmatter 中的 name 字段是否与预期命令名匹配
  • 重启 Claude Code 会话
  • 运行 /help 查看可用命令

命令未按预期执行

解决方案:

  • 添加更具体的说明
  • 在技能文件中包含示例
  • 如果使用 bash 命令,检查 allowed-tools
  • 先用简单输入进行测试

技能与命令冲突

如果两者同名存在,技能优先。删除其中一个或重命名。

相关指南

  • 技能 - 技能的完整参考(自动调用的能力)
  • 记忆 - 使用 CLAUDE.md 的持久化上下文
  • 子代理 - 委托的 AI 代理
  • 插件 - 捆绑的命令集合
  • 钩子 - 事件驱动的自动化

其他资源


Claude How To 指南系列的一部分