斜杠命令 Commands
斜杠命令 Commands
Section titled “斜杠命令 Commands”你有没有过这样的经历:每次让 Claude 帮你提 PR,都要重复一遍「先跑测试、再生成 changelog、再按这个格式写 commit、再推上去」?
斜杠命令就是解决这个问题的。它是可复用的快捷键——把一段反复打的指令封装成 /xxx,敲一下就执行。Claude Code 自带 60 多个内置命令,还能自定义无限多个。
内置命令速览
Section titled “内置命令速览”内置命令覆盖了日常 80% 的场景。最常用的几个:
| 命令 | 作用 |
|---|---|
/help |
显示所有命令 |
/clear |
清空对话历史 |
/compact [focus] |
压缩对话(可指定聚焦点) |
/init |
为项目生成 CLAUDE.md |
/memory |
编辑 CLAUDE.md |
/model <alias> |
切换模型 |
/config |
打开设置界面 |
/permissions |
查看/更新权限 |
/cost |
显示 token 用量 |
/status |
显示版本、模型、账号 |
/review |
请求代码审查 |
/rewind |
回退对话和/或代码 |
/agents |
管理子代理 |
/hooks |
管理钩子 |
/mcp |
管理 MCP 服务器 |
/sandbox |
启用沙箱 |
/vim |
进入 vim 模式 |
用 /help 能看到完整列表。这些命令直接敲就行,不用配置。
自定义命令:把反复打的指令封装起来
Section titled “自定义命令:把反复打的指令封装起来”真正强大的是自定义命令。建一个 markdown 文件,写上你想让 Claude 做什么,就能用 /文件名 调用。
自定义命令分两级,和记忆系统类似:
| 级别 | 位置 | 作用域 |
|---|---|---|
| 项目级 | .claude/commands/<name>.md |
当前项目,随仓库走,团队共享 |
| 用户级 | ~/.claude/commands/<name>.md |
你的所有项目 |
比如建一个 .claude/commands/ship.md:
---description: 提交并推送当前改动,跑完测试再提 PRallowed-tools: Bash(git:*), Bash(npm test)---
请执行以下步骤:
1. 运行 `npm test`,确保全部通过2. 用 conventional commits 格式提交所有改动3. 推送到当前分支4. 帮我生成 PR 描述,总结这次改了什么、为什么之后在对话里敲 /ship,Claude 就会照这个剧本走一遍。团队把 .claude/commands/ 提交进 git,所有人共享同一套快捷键。
frontmatter 字段
Section titled “frontmatter 字段”命令文件顶部的 frontmatter(YAML)支持几个字段:
| 字段 | 作用 |
|---|---|
description |
命令的描述,显示在命令列表里 |
allowed-tools |
限定这个命令能用的工具 |
argument-hint |
提示用户该传什么参数 |
frontmatter 是可选的,但加上 description 能让你在 / 列表里一眼看出每个命令是干嘛的。
$ARGUMENTS:让命令接受参数
Section titled “$ARGUMENTS:让命令接受参数”命令可以接受参数,用 $ARGUMENTS 占位。比如建一个 .claude/commands/explain.md:
---description: 解释某个函数或文件---
请详细解释 $ARGUMENTS 的作用、参数、返回值,并给一个使用示例。调用时:
/explain src/auth/login.ts$ARGUMENTS 会被替换成 src/auth/login.ts。这样一条命令就能复用到任何文件上。
! 前缀:直接执行 bash
Section titled “! 前缀:直接执行 bash”在命令文件里,你想让某段 bash 先跑、结果再喂给 Claude,用 ! 前缀:
分析当前未提交的改动:
!git diff --stat
请总结这次改动涉及哪些模块、可能影响什么。! 开头的行会被直接执行,输出作为上下文塞给 Claude。这比让 Claude 自己去跑命令更可控——你提前把数据准备好。
@ 文件引用
Section titled “@ 文件引用”命令里可以用 @ 引用文件,把内容带进来:
---description: 按团队规范审查 PR---
请按以下规范审查当前改动:
@docs/review-checklist.md
改动内容:
!git diff这样审查清单单独维护在 docs/review-checklist.md,命令文件只管「怎么审」,不写死清单内容。
三种来源:内置 / 自定义 / 插件 / MCP
Section titled “三种来源:内置 / 自定义 / 插件 / MCP”斜杠命令不止来自你自己写的文件,一共有四种来源:
| 来源 | 怎么来 | 例子 |
|---|---|---|
| 内置 | Claude Code 自带 | /help、/compact、/review |
| 自定义 | 你写在 .claude/commands/ |
/ship、/explain |
| 插件 | 装了 Plugins 后带进来 | 由插件定义 |
| MCP | 连了 MCP 服务器后带进来 | /mcp__server__prompt |
MCP 命令的特殊格式
Section titled “MCP 命令的特殊格式”MCP 服务器提供的命令,命名格式是 /mcp__服务器名__命令名(注意是双下划线)。比如你连了一个叫 github 的 MCP 服务器,它有个 create_issue 命令,那就用:
/mcp__github__create_issue这个格式有点长,但好处是一眼能看出这是哪个服务器的命令,不会和你的自定义命令撞名。
命令 vs Skills:什么时候用哪个
Section titled “命令 vs Skills:什么时候用哪个”这是最常被问的问题。一句话区分:
- 命令:你主动触发,敲
/xxx才执行。适合「我想干一件特定的事」。 - Skills:Claude 自己判断要不要用,按需展开。适合「这种场景下应该这么做」。
举例:
/ship提交推送——这是你主动发起的动作,用命令。- 「写 React 组件时遵守 hooks 规则」——这是Claude 写代码时该自动遵守的规范,用 Skill。
要你按下才动,用命令;要 Claude 自己想起来,用 Skill。两者的底层都是 markdown 文件,但触发方式和适用场景不同。详见 Skills。
一个实战:把 9 步流程封成一条命令
Section titled “一个实战:把 9 步流程封成一条命令”社区里流行的「9 步纪律化循环」(Explore → Plan → 写 CLAUDE.md → 拆小块 → Hooks → 测试 → 审查 → 修复闭环 → 打包),完全可以封成一条命令:
---description: 按纪律化流程完成一个功能allowed-tools: Bash(npm:*), Bash(git:*), Edit, Write---
我要实现:$ARGUMENTS
请按以下流程来:
1. 用 Explore 子代理先探索相关代码2. 切到 Plan 模式制定方案,等我确认3. 拆成小块实现,每块写完跑测试4. 实现完用审查子代理挑刺5. 修复-重测-重审,直到审查通过敲 /add-feature 用户登录限流,整个流程就跑起来了。这就是命令的威力——把纪律封装成一键。
斜杠命令是可复用的快捷键:内置 60+ 开箱即用,自定义放
.claude/commands/,frontmatter 控工具,$ARGUMENTS 传参数,! 执行 bash,@ 带文件,插件和 MCP 还能再扩。
下一站,去 技能 Skills 看看「按需展开的抽屉」和命令有什么不同。🚀