Slash Commands 是 Claude Code 中的快捷方式,通过
/触发。55+ 内置命令、Skills、自定义命令、MCP 提示词都通过这种机制工作。本文覆盖常用命令、自定义 Skills 创建、以及实战技巧。
什么是 Slash Commands
Slash Commands 是 Claude Code 中的核心交互机制。在对话中输入 / 开头的指令,Claude 会直接执行对应操作,而不是继续对话。
/help → 显示帮助
/clear → 清空对话
/plan → 进入计划模式
/compact → 压缩上下文
这不是对话的延续,而是命令执行。这是 Claude Code 与普通 AI 对话的本质区别。
内置命令速查
Claude Code 提供了 55+ 内置命令,覆盖日常开发全流程:
高频必备
| 命令 | 用途 |
|---|---|
/help | 显示所有可用命令 |
/clear | 清空当前对话(别名:/reset, /new) |
/plan | 进入计划模式,让 Claude 先分析再执行 |
/compact | 压缩上下文,保留关键信息 |
/diff | 查看未提交的文件变更 |
/model | 切换 AI 模型 |
Git 工作流
| 命令 | 用途 |
|---|---|
/pr-comments <PR号> | 获取 GitHub PR 评论 |
/branch [name] | 创建分支(别名:/fork) |
/resume [session] | 恢复历史对话 |
系统状态
| 命令 | 用途 |
|---|---|
/status | 版本、模型、账户信息 |
/cost | Token 消耗统计 |
/stats | 每日使用可视化 |
/context | 可视化上下文占用 |
最近一个月用了27天,真的用了CC就回不去古法编程了😂
Claude Code 配置
| 命令 | 用途 |
|---|---|
/config | 打开设置界面 |
/hooks | 查看钩子配置 |
/mcp | 管理 MCP 服务器 |
/plugin | 管理插件 |
/theme | 切换颜色主题 |
/permissions | 调整工具权限 |
核心配置项(已显示)
- Auto-compact:自动压缩冗余对话历史,防止上下文溢出
- Show tips:显示使用提示与快捷键,辅助上手
- Reduce motion:关闭界面动画,提升响应速度
- Thinking mode:开启深度推理,保障复杂任务准确性
- Fast mode:降低推理深度,快速响应(仅 Opus 4.6)
- Rewind code:创建代码修改检查点,支持一键回退
- Verbose output:输出详细调试日志,用于排错
- Terminal progress bar:显示任务进度,直观查看状态
- Show turn duration:标注单次交互的耗时,评估性能
- Default permission mode:控制文件 / 命令操作的默认权限(手动确认 / 允许 / 拒绝)
隐藏配置项(12 more below)
- Show line numbers:生成代码时自动显示行号
- Show timestamps:对话历史中显示时间戳
- Model selection:设置默认使用的模型(Sonnet/Opus/Haiku)
- Context window limit:手动设置上下文窗口的最大 Token 数
- Sandbox mode:开启沙箱隔离,限制危险操作
- Custom hooks:配置自定义脚本(执行前 / 后触发)
- Keyboard shortcuts:自定义操作快捷键,提升效率
- Output format:设置响应内容的输出格式(文本 / Markdown/JSON)
- Allowed tools:指定 Claude 可使用的工具列表
- Disallowed tools:禁用 Claude 的指定工具
- Prompt caching:开启提示词缓存,加速重复请求
- Max thinking tokens:限制思考模式可使用的最大 Token 数
- Status line customization:自定义终端状态栏的显示内容
/hooks 就是给 Claude Code 加自定义规则、自动脚本、触发动作的地方。
你可以把它理解成:给 AI 助手装插件、设规矩、让它自动帮你干活。
举几个最容易懂的例子:
- 每次 Claude 改代码前,自动备份文件
- 代码保存后,自动跑 lint 检查格式
- 禁止 Claude 访问某些敏感文件
- 每次生成代码后,自动格式化
- 让 Claude 每次启动都加载你的项目规则
本质是什么?
hooks = 你给 AI 定的自动化小规则。不用你手动点、不用你重复输命令,AI 会按你的规矩自动运行。
Bundled Skills:内置技能包
Skills 是增强版的 Commands,可以打包脚本、模板和参考文件:
| Skill | 用途 |
|---|---|
/batch <instruction> | 使用 worktree 并行执行大规模修改 |
/claude-api | 加载项目语言的 Claude API 参考 |
/debug [description] | 开启调试日志 |
/loop [interval] <prompt> | 定时重复执行提示词 |
/simplify [focus] | 检查代码质量 |
/batch 是 Claude Code 的批量任务执行工具,让你一次性给 AI 发一长串任务清单,它会按顺序自动跑完所有任务,不用你一次次手动发指令、等回复。
你可以把 /batch 理解成:给 Claude Code 开了个「自动流水线」。
平时用 Claude Code 是「一问一答」:你发一个需求,AI 做完一个,你再发下一个,全程要手动跟进。而 /batch 就是把你所有要做的事,一次性打包成一个「任务清单」喂给 AI,它会自动按顺序、不中断地把所有任务全部执行完,中间完全不用你手动干预。
比如你要给一个前端项目做这些事:
- 把所有组件的
console.log都删掉 - 给所有接口请求加统一的错误捕获
- 给所有按钮加
loading状态防重复点击 - 跑一遍
eslint修复格式问题 - 生成一份修改说明文档
如果不用 /batch:你要分 5 次发指令,每次等 AI 做完,再手动发下一个,全程要盯着。用了 /batch:你把这 5 个任务一次性写进 /batch,然后去喝杯咖啡,回来 Claude 已经把所有任务全做完了,直接给你最终结果。
/debug 是 Claude Code 的问题排查工具,专门用来显示后台详细日志,帮你快速找到 AI 为什么出错、卡壳、不干活。
平时用 Claude Code,你只能看到 AI 给你的最终结果:代码、回答、提示。但 AI 内部到底干了什么、调用了什么工具、读了哪些文件、哪里卡住了,你是看不见的。
/debug 就是把这些 “后台秘密” 全部亮出来给你看。
开启后,Claude Code 会显示:
- AI 正在调用什么命令
- 读取 / 修改了哪些文件
- 为什么拒绝执行某个操作
- 哪里报错、哪里超时、哪里卡住
- 模型思考过程、工具执行结果
/loop 是 Claude Code 的自动循环重试工具,让 AI 自己反复检查、修改、运行代码,直到满足要求为止,不用你反复手动提醒。
平时你让 AI 写代码、改 Bug,经常会出现这种情况:AI 改一次 → 运行报错 → 你告诉它错了 → 它再改一次 → 又报错 → 你又得提醒……
来回折腾特别麻烦,效率很低。
而 /loop 就是解决这个问题的:你开启循环模式,AI 会自己 “闭环干活” 。
它会自动做这几件事:
- 改代码
- 运行测试 / 检查报错
- 自己发现哪里错了
- 自动再次修改
- 直到运行成功、没有错误,才停下来告诉你完成
简单说:你只需要说需求,剩下的反复调试让 AI 自己循环搞定,不用你插手。
/simplify 命令可以用来优化代码
自定义 Skills:打造你的命令体系
Skills 是 .claude/skills/<name>/SKILL.md 文件:
mkdir -p .claude/skills/optimize
文件:.claude/skills/optimize/SKILL.md
---
name: optimize
description: 分析代码性能问题、内存泄漏和优化机会
argument-hint: <代码片段>
allowed-tools: Bash, Read, Grep
---
# 代码优化分析
分析以下代码的性能问题:
$ARGUMENTS
检查:
1. 是否有不必要的重复计算
2. 是否存在内存泄漏风险
3. 算法复杂度是否有优化空间
4. 是否有冗余的 DOM 操作或 API 调用
变量替换
全部参数:
---
name: fix-issue
description: 修复 GitHub Issue
---
修复 Issue #$ARGUMENTS
单个参数:
---
name: review-pr
description: 评审 PR
---
评审 PR #$0,优先级 $1
动态上下文(Shell 命令):
---
name: commit
description: 创建带上下文的 Git 提交
allowed-tools: Bash(git *)
---
## 当前状态
- Git 状态:!`git status`
- 文件变更:!`git diff HEAD`
- 当前分支:!`git branch --show-current`
## 任务
基于以上变更,创建提交信息。
文件引用
请审查以下实现:
@src/utils/helpers.js
对比 @src/old-version.js 和 @src/new-version.js
Frontmatter 完整参考
---
name: my-command # 命令名称(成为 /my-command)
description: 用途描述 # 帮助 Claude 判断何时使用
argument-hint: <参数> # 自动补全提示
allowed-tools: Bash, Read # 无需审批即可使用的工具
model: opus # 指定使用的模型
disable-model-invocation: true # 仅用户可调用
user-invocable: false # 从 / 菜单隐藏
context: fork # 在隔离子代理中运行
agent: general-purpose # 子代理类型
hooks: # 技能级钩子
PreToolUse: []
PostToolUse: []
Stop: []
---
命令执行流程
sequenceDiagram
participant User
participant Claude
participant FS
participant Shell
User->>Claude: /optimize
Claude->>FS: 搜索 .claude/skills/ 和 .claude/commands/
FS-->>Claude: 返回 optimize/SKILL.md
Claude->>Claude: 解析 Frontmatter
Claude->>Shell: 执行 !`command` 替换
Shell-->>Claude: 返回命令输出
Claude->>Claude: 替换 $ARGUMENTS
Claude->>User: 处理提示词
Claude->>User: 返回结果
实战技巧
1. 用 /plan 避免浪费
在执行大改动前,输入:
/plan 重构用户认证模块
Claude 会先分析代码、制定计划,你确认后再执行。避免做到一半发现方向错了。
2. 用 /compact 保持专注
长对话变慢时,/compact 压缩上下文,保留核心信息,速度恢复。
3. 自定义快捷命令
把常用的复杂操作封装为 Skill:
---
name: deploy
description: 部署到生产环境(仅用户可调用)
disable-model-invocation: true
allowed-tools: Bash(npm *), Bash(git *)
---
1. 运行测试:npm test
2. 构建:npm run build
3. 推送到部署目标
4. 验证部署状态
4. MCP 提示词作为命令
MCP 服务器暴露的提示词可以直接调用:
/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug 标题" high
Skill vs Legacy Command
| 特性 | Skills(推荐) | Legacy Commands |
|---|---|---|
| 位置 | .claude/skills/<name>/SKILL.md | .claude/commands/<name>.md |
| 目录结构 | 支持打包文件 | 单文件 |
| 自动触发 | 支持 | 不支持 |
| 子代理执行 | context: fork | 不支持 |
| 优先级 | 更高 | 较低 |
同名时,Skill 优先。
常见问题
命令不生效?
- 确认文件在
.claude/skills/<name>/SKILL.md或.claude/commands/<name>.md - 检查 frontmatter 的
name字段 - 重启 Claude Code 会话
Skill 和 Command 冲突?
- 删除其中一个,或重命名
- 同名时 Skill 总是优先
总结
Slash Commands 是 Claude Code 的核心交互范式:
- 内置命令:55+ 覆盖开发全流程
- Bundled Skills:开箱即用的增强能力
- 自定义 Skills:打造个人命令体系
- MCP 提示词:扩展到外部工具
下一课我们将深入 Memory 系统,学习如何让 Claude 记住项目上下文。