斜杠命令
55+ 内置命令 + 无限自定义,掌握 Claude Code 的快捷操控
内置命令概览
在 Claude Code 中输入 /,你会看到一个命令菜单。Claude Code 提供了 55+ 内置命令和 5 个捆绑技能,覆盖从会话管理到代码审查的方方面面。继续输入字母可以过滤命令列表。
斜杠命令分为四大类型:
Claude Code 自带的命令,如 /help、/clear、/model
用户创建的 SKILL.md 文件,如 /optimize、/pr
已安装插件提供的命令,如 /frontend-design:frontend-design
MCP 服务器暴露的命令,如 /mcp__github__list_prs
下面是最常用的内置命令,按功能分类:
会话管理
/reset、/new)
/continue)
/fork)
/quit)
模型与性能
开发工具
/checkpoint)
系统配置
/settings)
捆绑技能
输入 / 后继续打字就能过滤命令。比如输入 /mo 会筛选出 /model、/mobile 等。不需要记住所有命令 — 模糊搜索就够了。
自定义命令:从模板到技能
内置命令是基础,但 Claude Code 的真正威力在于自定义命令。你只需要创建一个 Markdown 文件,就能拥有自己的斜杠命令。
自定义命令现在推荐使用 Skills(技能)格式。旧的 .claude/commands/ 方式仍然兼容,但技能提供了更多高级功能:
可以捆绑脚本、模板和参考文件
Claude 遇到相关场景时自动激活,无需手动输入
设置 context: fork 在独立上下文中运行
指定只有用户、只有 Claude、或双方都可以调用
创建一个自定义技能命令只需两步:
---
name: optimize
description: 分析代码性能并优化。当用户要求优化代码时使用。
allowed-tools: Bash(npm *), Read, Grep
---
# 代码优化
分析当前项目的代码,找出以下问题:
1. 性能瓶颈和内存泄漏
2. 不必要的重复计算
3. 可以简化的复杂逻辑
4. 缺失的错误处理
Frontmatter(前置数据)支持丰富的配置字段:
/name。默认使用目录名
true 则只有用户能触发,Claude 不能自动调用
fork 在独立子代理中运行
旧格式 .claude/commands/optimize.md 仍然有效。如果技能和旧命令同名,技能优先。建议逐步迁移到 .claude/skills/optimize/SKILL.md 格式。
MCP 命令与插件命令
除了内置命令和自定义技能,斜杠命令还有两个来源:MCP 服务器和插件。它们让 Claude Code 的能力边界无限扩展。
MCP 命令
MCP 服务器可以将自己的功能暴露为斜杠命令。命名格式为:
# MCP 命令的通用格式
/mcp__<服务器名>__<提示名> [参数]
# 实际使用示例
/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug 标题" high
MCP 权限控制也很灵活:
插件命令
安装的插件也会提供斜杠命令。如果没有命名冲突,可以直接用 /命令名;有冲突时用完整格式:
/插件名:命令名 格式
当你输入 /命令名 时,Claude Code 按优先级查找:内置命令 → 技能(SKILL.md) → 插件命令 → MCP 提示。同名时优先级高的生效。
命令参数与动态上下文
斜杠命令不是死板的模板 — 它们支持参数传递和动态上下文注入,让每次调用都能根据当前环境做出不同响应。
参数传递
命令支持两种参数方式:
---
name: fix-issue
description: 修复 GitHub Issue
---
修复 Issue #$ARGUMENTS,遵循我们的编码规范
---
name: review-pr
description: 按优先级审查 PR
---
审查 PR #$0,优先级为 $1
动态上下文注入
在 SKILL.md 中,可以用两种方式注入实时数据:
# Shell 命令 — 用 !` ` 包裹
当前分支:!`git branch --show-current`
最近提交:!`git log --oneline -5`
Git 状态:!`git status`
# 文件引用 — 用 @ 前缀
查看实现:@src/utils/helpers.js
对比文件:@src/old.js 与 @src/new.js
Claude 不知道你当前的 Git 状态或文件内容。用 !`command` 在命令加载时自动注入实时数据,让 Claude 的回答始终基于最新状态,而不是过时的猜测。
实战命令示例
学了语法,来看几个实际项目中常用的命令。这些都是开箱即用的生产力工具。
示例 1:智能 Git 提交
---
name: commit
description: 基于当前变更创建 Git 提交
allowed-tools: Bash(git *)
---
## 上下文
- 当前状态:!`git status`
- 代码变更:!`git diff HEAD`
- 当前分支:!`git branch --show-current`
- 最近提交:!`git log --oneline -5`
## 任务
根据以上变更内容,创建一个 Git 提交。
示例 2:安全推送
---
name: push-all
description: 暂存、提交并推送,带安全检查
disable-model-invocation: true
allowed-tools: Bash(git *), Bash(npm *)
---
暂存所有变更,创建提交并推送,但先检查:
1. 敏感文件:.env*、*.key、*.pem、credentials.json
2. API 密钥:检测真实密钥 vs 占位符
3. 大文件:>10MB 且未使用 Git LFS
4. 构建产物:node_modules/、dist/、__pycache__/
示例 3:测试覆盖扩展
---
name: unit-test-expand
description: 提升测试覆盖率,针对未测试的分支和边界情况
---
# 测试覆盖扩展
分析项目代码,找出测试覆盖不足的地方:
1. 扫描所有源文件,识别缺少测试的函数
2. 检查条件分支覆盖(if/else/switch)
3. 补充边界情况测试(空值、极大值、异常输入)
4. 生成新的测试用例并运行验证
命名清晰 — 用动词开头,一看就知道做什么。包含 description — 帮助 Claude 判断何时触发。有副作用的命令加 disable-model-invocation — 防止 Claude 误操作。用 !` ` 注入实时数据 — 让 Claude 始终看到最新状态。
检验一下
检验你对斜杠命令的理解。选错了也别担心 — 解释会帮你巩固知识。
问题 1:创建自定义斜杠命令时,推荐使用哪种格式?
问题 2:在 SKILL.md 中,如何让命令加载时自动执行 git status 并注入结果?
问题 3:你创建了一个 /deploy 命令来部署到生产环境。如何防止 Claude 自动触发它?
问题 4:如何调用 GitHub MCP 服务器的 list_prs 功能?
斜杠命令解决了"快捷操作"的问题,但每次新会话都要重复配置怎么办?下一章记忆系统会教你让 Claude 记住你的偏好、规范和项目上下文 — 让每次对话都不用从零开始。