内置斜杠命令
| 命令 | 用途 |
|---|---|
/add-dir | 添加额外的工作目录 |
/agents | 管理用于专门任务的自定义 AI 子代理 |
/bashes | 列出并管理后台任务 |
/bug | 报告错误(将对话发送给 Anthropic) |
/clear | 清除对话历史 |
/compact [instructions] | 压缩对话,可选择性地提供焦点指令 |
/config | 打开设置界面(配置选项卡) |
/context | 将当前上下文使用情况可视化为彩色网格 |
/cost | 显示令牌使用统计信息(查看成本跟踪指南了解特定于订阅的详细信息) |
/doctor | 检查 Claude Code 安装的健康状况 |
/exit | 退出 REPL |
/export [filename] | 将当前对话导出到文件或剪贴板 |
/help | 获取使用帮助 |
/hooks | 管理工具事件的钩子配置 |
/init | 使用 CLAUDE.md 指南初始化项目 |
/login | 切换 Anthropic 账户 |
/logout | 从 Anthropic 账户登出 |
/mcp | 管理 MCP 服务器连接和 OAuth 身份验证 |
/memory | 编辑 CLAUDE.md 内存文件 |
/model | 选择或更改 AI 模型 |
/output-style [style] | 直接设置输出样式或从选择菜单中选择 |
/permissions | 查看或更新权限 |
/pr_comments | 查看拉取请求评论 |
/privacy-settings | 查看并更新隐私设置 |
/review | 请求代码审查 |
/sandbox | 启用沙箱化 bash 工具,具有文件系统和网络隔离,以实现更安全、更自主的执行 |
/rewind | 回退对话和/或代码 |
/status | 打开设置界面(状态选项卡),显示版本、模型、账户和连接性 |
/statusline | 设置 Claude Code 的状态行 UI |
/terminal-setup | 安装 Shift+Enter 键绑定以实现换行(仅限 iTerm2 和 VSCode) |
/todos | 列出当前待办事项 |
/usage | 显示计划使用限制和速率限制状态(仅限订阅计划) |
/vim | 进入 vim 模式以交替使用插入和命令模式 |
自定义斜杠命令
自定义斜杠命令允许您将经常使用的提示定义为 Markdown 文件,Claude Code 可以执行这些文件。命令按范围(特定于项目或个人)组织,并通过目录结构支持命名空间。语法
参数
| 参数 | 描述 |
|---|---|
<command-name> | 从 Markdown 文件名派生的名称(不包括 .md 扩展名) |
[arguments] | 传递给命令的可选参数 |
命令类型
项目命令
存储在您的存储库中并与您的团队共享的命令。在/help 中列出时,这些命令在其描述后显示”(project)”。
位置: .claude/commands/
在以下示例中,我们创建 /optimize 命令:
个人命令
在所有项目中可用的命令。在/help 中列出时,这些命令在其描述后显示”(user)”。
位置: ~/.claude/commands/
在以下示例中,我们创建 /security-review 命令:
功能
命名空间
在子目录中组织命令。子目录用于组织,并在命令描述中显示,但不影响命令名称本身。描述将显示命令来自项目目录(.claude/commands)还是用户级目录(~/.claude/commands),以及子目录名称。
不支持用户级和项目级命令之间的冲突。否则,具有相同基本文件名的多个命令可以共存。
例如,位于 .claude/commands/frontend/component.md 的文件创建命令 /component,描述显示”(project:frontend)”。
同时,位于 ~/.claude/commands/component.md 的文件创建命令 /component,描述显示”(user)“。
参数
使用参数占位符将动态值传递给命令:使用 $ARGUMENTS 的所有参数
$ARGUMENTS 占位符捕获传递给命令的所有参数:
使用 $1、$2 等的单个参数
使用位置参数(类似于 shell 脚本)单独访问特定参数:
- 在命令的不同部分单独访问参数
- 为缺失的参数提供默认值
- 使用特定参数角色构建更结构化的命令
Bash 命令执行
使用! 前缀在斜杠命令运行之前执行 bash 命令。输出包含在命令上下文中。您_必须_使用 Bash 工具包含 allowed-tools,但您可以选择允许的特定 bash 命令。
例如:
文件引用
使用@ 前缀在命令中包含文件内容以引用文件。
例如:
思考模式
斜杠命令可以通过包含扩展思考关键字来触发扩展思考。前置事项
命令文件支持前置事项,用于指定有关命令的元数据:| 前置事项 | 用途 | 默认值 |
|---|---|---|
allowed-tools | 命令可以使用的工具列表 | 从对话继承 |
argument-hint | 斜杠命令期望的参数。示例:argument-hint: add [tagId] | remove [tagId] | list。此提示在自动完成斜杠命令时显示给用户。 | 无 |
description | 命令的简要描述 | 使用提示中的第一行 |
model | 特定模型字符串(查看模型概览) | 从对话继承 |
disable-model-invocation | 是否防止 SlashCommand 工具调用此命令 | false |
插件命令
插件可以提供与 Claude Code 无缝集成的自定义斜杠命令。插件命令的工作方式与用户定义的命令完全相同,但通过插件市场分发。插件命令如何工作
插件命令具有以下特点:- 命名空间化:命令可以使用
/plugin-name:command-name格式以避免冲突(除非存在名称冲突,否则插件前缀是可选的) - 自动可用:安装并启用插件后,其命令会出现在
/help中 - 完全集成:支持所有命令功能(参数、前置事项、bash 执行、文件引用)
插件命令结构
位置: 插件根目录中的commands/ 目录
文件格式: 带有前置事项的 Markdown 文件
基本命令结构:
- 参数:在命令描述中使用
{arg1}等占位符 - 子目录:在子目录中组织命令以实现命名空间
- Bash 集成:命令可以执行 shell 脚本和程序
- 文件引用:命令可以引用和修改项目文件
调用模式
直接命令(无冲突时)
插件前缀(需要消歧义时)
带参数(如果命令支持)
MCP 斜杠命令
MCP 服务器可以将提示公开为斜杠命令,这些命令在 Claude Code 中变为可用。这些命令从连接的 MCP 服务器动态发现。命令格式
MCP 命令遵循以下模式:功能
动态发现
MCP 命令在以下情况下自动可用:- MCP 服务器已连接并处于活动状态
- 服务器通过 MCP 协议公开提示
- 在连接期间成功检索提示
参数
MCP 提示可以接受由服务器定义的参数:命名约定
- 服务器和提示名称已规范化
- 空格和特殊字符变为下划线
- 名称小写以保持一致性
管理 MCP 连接
使用/mcp 命令来:
- 查看所有已配置的 MCP 服务器
- 检查连接状态
- 使用启用 OAuth 的服务器进行身份验证
- 清除身份验证令牌
- 查看每个服务器的可用工具和提示
MCP 权限和通配符
配置MCP 工具权限时,请注意不支持通配符:- ✅ 正确:
mcp__github(批准来自 github 服务器的所有工具) - ✅ 正确:
mcp__github__get_issue(批准特定工具) - ❌ 不正确:
mcp__github__*(不支持通配符)
mcp__servername。要仅批准特定工具,请单独列出每个工具。
SlashCommand 工具
SlashCommand 工具允许 Claude 在对话期间以编程方式执行自定义斜杠命令。这使 Claude 能够在适当时代表您调用自定义命令。
要鼓励 Claude 触发 SlashCommand 工具,您的指令(提示、CLAUDE.md 等)通常需要按名称引用带有斜杠的命令。
示例:
/context 监控令牌使用情况,并按照以下操作管理上下文。
SlashCommand 工具支持的命令
SlashCommand 工具仅支持满足以下条件的自定义斜杠命令:
- 是用户定义的。内置命令如
/compact和/init_不_受支持。 - 已填充
description前置事项字段。我们在上下文中使用description。
claude --debug 并触发查询来查看 SlashCommand 工具可以调用的自定义斜杠命令。
禁用 SlashCommand 工具
要防止 Claude 通过工具执行任何斜杠命令:
仅禁用特定命令
要防止特定斜杠命令变为可用,请在斜杠命令的前置事项中添加disable-model-invocation: true。
这也将从上下文中删除命令的元数据。
SlashCommand 权限规则
权限规则支持:
- 精确匹配:
SlashCommand:/commit(仅允许/commit且无参数) - 前缀匹配:
SlashCommand:/review-pr:*(允许/review-pr带任何参数)
字符预算限制
SlashCommand 工具包含字符预算以限制显示给 Claude 的命令描述的大小。这可以防止在有许多命令可用时出现令牌溢出。
预算包括每个自定义斜杠命令的名称、参数和描述。
- 默认限制:15,000 个字符
- 自定义限制:通过
SLASH_COMMAND_TOOL_CHAR_BUDGET环境变量设置
/context 中,将显示一条警告,显示”M of N commands”。
技能与斜杠命令
斜杠命令和代理技能在 Claude Code 中有不同的用途:使用斜杠命令
快速、经常使用的提示:- 您经常使用的简单提示片段
- 快速提醒或模板
- 适合一个文件的经常使用的指令
/review→ “Review this code for bugs and suggest improvements”/explain→ “Explain this code in simple terms”/optimize→ “Analyze this code for performance issues”
使用技能
具有结构的全面功能:- 具有多个步骤的复杂工作流
- 需要脚本或实用程序的功能
- 跨多个文件组织的知识
- 您想要标准化的团队工作流
- 带有表单填充脚本和验证的 PDF 处理技能
- 具有不同数据类型参考文档的数据分析技能
- 具有风格指南和模板的文档技能
关键差异
| 方面 | 斜杠命令 | 代理技能 |
|---|---|---|
| 复杂性 | 简单提示 | 复杂功能 |
| 结构 | 单个 .md 文件 | 带有 SKILL.md + 资源的目录 |
| 发现 | 显式调用(/command) | 自动(基于上下文) |
| 文件 | 仅一个文件 | 多个文件、脚本、模板 |
| 范围 | 项目或个人 | 项目或个人 |
| 共享 | 通过 git | 通过 git |
示例比较
作为斜杠命令:/review(手动调用)
作为技能:
何时使用每一个
使用斜杠命令:- 您重复调用相同的提示
- 提示适合单个文件
- 您想要明确控制何时运行
- Claude 应该自动发现该功能
- 需要多个文件或脚本
- 具有验证步骤的复杂工作流
- 团队需要标准化、详细的指导