内置斜杠命令

命令用途
/add-dir添加额外的工作目录
/agents管理用于专门任务的自定义 AI 子代理
/bug报告错误(将对话发送给 Anthropic)
/clear清除对话历史
/compact [instructions]压缩对话,可选择性地提供重点指令
/config查看/修改配置
/cost显示令牌使用统计(有关订阅特定详细信息,请参阅成本跟踪指南
/doctor检查您的 Claude Code 安装的健康状况
/help获取使用帮助
/init使用 CLAUDE.md 指南初始化项目
/login切换 Anthropic 账户
/logout从您的 Anthropic 账户注销
/mcp管理 MCP 服务器连接和 OAuth 身份验证
/memory编辑 CLAUDE.md 内存文件
/model选择或更改 AI 模型
/permissions查看或更新权限
/pr_comments查看拉取请求评论
/review请求代码审查
/status查看账户和系统状态
/terminal-setup安装 Shift+Enter 键绑定用于换行(仅限 iTerm2 和 VSCode)
/vim进入 vim 模式以在插入和命令模式之间切换

自定义斜杠命令

自定义斜杠命令允许您将经常使用的提示定义为 Markdown 文件,Claude Code 可以执行这些文件。命令按范围(项目特定或个人)组织,并通过目录结构支持命名空间。

语法

/<command-name> [arguments]

参数

参数描述
<command-name>从 Markdown 文件名派生的名称(不包含 .md 扩展名)
[arguments]传递给命令的可选参数

命令类型

项目命令

存储在您的存储库中并与您的团队共享的命令。在 /help 中列出时,这些命令在其描述后显示”(project)”。

位置: .claude/commands/

在以下示例中,我们创建 /optimize 命令:

# 创建项目命令
mkdir -p .claude/commands
echo "分析此代码的性能问题并建议优化:" > .claude/commands/optimize.md

个人命令

在您的所有项目中可用的命令。在 /help 中列出时,这些命令在其描述后显示”(user)”。

位置: ~/.claude/commands/

在以下示例中,我们创建 /security-review 命令:

# 创建个人命令
mkdir -p ~/.claude/commands
echo "审查此代码的安全漏洞:" > ~/.claude/commands/security-review.md

功能

命名空间

在子目录中组织命令。子目录用于组织并出现在命令描述中,但它们不影响命令名称本身。描述将显示命令是来自项目目录(.claude/commands)还是用户级目录(~/.claude/commands),以及子目录名称。

不支持用户级和项目级命令之间的冲突。否则,具有相同基本文件名的多个命令可以共存。

例如,位于 .claude/commands/frontend/component.md 的文件创建命令 /component,描述显示”(project:frontend)”。 同时,位于 ~/.claude/commands/component.md 的文件创建命令 /component,描述显示”(user)“。

参数

使用参数占位符将动态值传递给命令:

使用 $ARGUMENTS 的所有参数

$ARGUMENTS 占位符捕获传递给命令的所有参数:

# 命令定义
echo '按照我们的编码标准修复问题 #$ARGUMENTS' > .claude/commands/fix-issue.md

# 使用
> /fix-issue 123 high-priority
# $ARGUMENTS 变为:"123 high-priority"
使用 $1$2 等的单个参数

使用位置参数单独访问特定参数(类似于 shell 脚本):

# 命令定义  
echo '审查 PR #$1,优先级为 $2,分配给 $3' > .claude/commands/review-pr.md

# 使用
> /review-pr 456 high alice
# $1 变为 "456",$2 变为 "high",$3 变为 "alice"

在以下情况下使用位置参数:

  • 需要在命令的不同部分单独访问参数
  • 为缺失的参数提供默认值
  • 构建具有特定参数角色的更结构化的命令

Bash 命令执行

使用 ! 前缀在斜杠命令运行之前执行 bash 命令。输出包含在命令上下文中。您_必须_包含带有 Bash 工具的 allowed-tools,但您可以选择要允许的特定 bash 命令。

例如:

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: 创建 git 提交
---

## 上下文

- 当前 git 状态:!`git status`
- 当前 git 差异(已暂存和未暂存的更改):!`git diff HEAD`
- 当前分支:!`git branch --show-current`
- 最近的提交:!`git log --oneline -10`

## 您的任务

基于上述更改,创建单个 git 提交。

文件引用

使用 @ 前缀在命令中包含文件内容以引用文件

例如:

# 引用特定文件

审查 @src/utils/helpers.js 中的实现

# 引用多个文件

比较 @src/old-version.js 与 @src/new-version.js

思考模式

斜杠命令可以通过包含扩展思考关键词来触发扩展思考。

前置元数据

命令文件支持前置元数据,对于指定命令的元数据很有用:

前置元数据用途默认值
allowed-tools命令可以使用的工具列表从对话中继承
argument-hint斜杠命令期望的参数。示例:argument-hint: add [tagId] | remove [tagId] | list。此提示在用户自动完成斜杠命令时显示给用户。
description命令的简要描述使用提示的第一行
model特定的模型字符串(参见模型概述从对话中继承

例如:

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: 创建 git 提交
model: claude-3-5-haiku-20241022
---

使用消息创建 git 提交:$ARGUMENTS

使用位置参数的示例:

---
argument-hint: [pr-number] [priority] [assignee]
description: 审查拉取请求
---

审查 PR #$1,优先级为 $2,分配给 $3。
专注于安全性、性能和代码风格。

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。要仅批准特定工具,请单独列出每个工具。

另请参阅