Slash Commands 命令
概述
Slash 命令是在交互式会话中控制 Claude 行为的快捷方式。它们分为以下几种类型:
- 内置命令:由 Claude Code 提供(
/help、/clear、/model) - 技能(Skills):用户定义的命令,以
SKILL.md文件形式创建(/optimize、/pr) - 插件命令:来自已安装插件的命令(
/frontend-design:frontend-design) - MCP 提示词:来自 MCP 服务器的命令(
/mcp__github__list_prs)
注意:自定义 slash 命令已合并到技能(skills)中。
.claude/commands/中的文件仍然有效,但现在推荐使用技能(.claude/skills/)。两者都可以创建/command-name快捷方式。请参阅技能指南获取完整参考。
内置命令参考
内置命令是常用操作的快捷方式。共有 55+ 个内置命令 和 5 个捆绑技能 可用。在 Claude Code 中输入 / 即可查看完整列表,或输入 / 后跟任意字母进行筛选。
| 命令 | 用途 |
|---|---|
/add-dir <path> | 添加工作目录 |
/agents | 管理代理配置 |
/branch [name] | 将对话分支到新会话(别名:/fork)。注意:/fork 在 v2.1.77 中重命名为 /branch |
/btw <question> | 不加入历史记录的旁白问题 |
/chrome | 配置 Chrome 浏览器集成 |
/clear | 清除对话(别名:/reset、/new) |
/color [color|default] | 设置提示栏颜色 |
/compact [instructions] | 压缩对话,可选聚焦说明 |
/config | 打开设置(别名:/settings) |
/context | 以彩色网格可视化上下文使用情况 |
/copy [N] | 复制助手回复到剪贴板;w 写入文件 |
/cost | 显示 token 使用统计 |
/desktop | 在桌面应用中继续(别名:/app) |
/diff | 未提交更改的交互式 diff 查看器 |
/doctor | 诊断安装健康状态 |
/effort [low|medium|high|max|auto] | 设置努力级别。max 需要 Opus 4.6 |
/exit | 退出 REPL(别名:/quit) |
/export [filename] | 将当前对话导出到文件或剪贴板 |
/extra-usage | 配置速率限制的额外用量 |
/fast [on|off] | 切换快速模式 |
/feedback | 提交反馈(别名:/bug) |
/help | 显示帮助 |
/hooks | 查看钩子配置 |
/ide | 管理 IDE 集成 |
/init | 初始化 CLAUDE.md。设置 CLAUDE_CODE_NEW_INIT=true 启用交互式流程 |
/insights | 生成会话分析报告 |
/install-github-app | 设置 GitHub Actions 应用 |
/install-slack-app | 安装 Slack 应用 |
/keybindings | 打开按键绑定配置 |
/login | 切换 Anthropic 账户 |
/logout | 退出 Anthropic 账户 |
/mcp | 管理 MCP 服务器和 OAuth |
/memory | 编辑 CLAUDE.md,切换自动记忆 |
/mobile | 移动应用二维码(别名:/ios、/android) |
/model [model] | 选择模型,使用左/右箭头调整努力级别 |
/passes | 分享 Claude Code 免费周 |
/permissions | 查看/更新权限(别名:/allowed-tools) |
/plan [description] | 进入计划模式 |
/plugin | 管理插件 |
/pr-comments [PR] | 获取 GitHub PR 评论 |
/privacy-settings | 隐私设置(仅限 Pro/Max) |
/release-notes | 查看更新日志 |
/reload-plugins | 重新加载活跃插件 |
/remote-control | 从 claude.ai 远程控制(别名:/rc) |
/remote-env | 配置默认远程环境 |
/rename [name] | 重命名会话 |
/resume [session] | 恢复对话(别名:/continue) |
/review | 已弃用 — 请改为安装 code-review 插件 |
/rewind | 回退对话和/或代码(别名:/checkpoint) |
/sandbox | 切换沙盒模式 |
/schedule [description] | 创建/管理定时任务 |
/security-review | 分析分支的安全漏洞 |
/skills | 列出可用技能 |
/stats | 可视化每日使用情况、会话、连续天数 |
/status | 显示版本、模型、账户 |
/statusline | 配置状态栏 |
/tasks | 列出/管理后台任务 |
/terminal-setup | 配置终端按键绑定 |
/theme | 更改颜色主题 |
/vim | 切换 Vim/普通模式 |
/voice | 切换按键说话语音输入 |
捆绑技能
这些技能随 Claude Code 一起提供,像 slash 命令一样调用:
| 技能 | 用途 |
|---|---|
/batch <instruction> | 使用 worktree 协调大规模并行更改 |
/claude-api | 加载项目语言对应的 Claude API 参考 |
/debug [description] | 启用调试日志 |
/loop [interval] <prompt> | 按间隔重复运行提示词 |
/simplify [focus] | 审查已更改文件的代码质量 |
已弃用命令
| 命令 | 状态 |
|---|---|
/review | 已弃用 — 被 code-review 插件取代 |
/output-style | 自 v2.1.73 起弃用 |
/fork | 重命名为 /branch(别名仍可用,v2.1.77) |
近期变更
/fork重命名为/branch,/fork保留为别名(v2.1.77)/output-style已弃用(v2.1.73)/review已弃用,推荐使用code-review插件- 添加了
/effort命令,max级别需要 Opus 4.6 - 添加了
/voice命令用于按键说话语音输入 - 添加了
/schedule命令用于创建/管理定时任务 - 添加了
/color命令用于提示栏自定义 /model选择器现在显示人类可读标签(例如 "Sonnet 4.6")而不是原始模型 ID/resume支持/continue别名- MCP 提示词可用作
/mcp__<server>__<prompt>命令(参见 MCP 提示词作为命令)
自定义命令(现已合并为技能)
自定义 slash 命令已合并到技能中。两种方式都可以创建通过 /command-name 调用的命令:
| 方式 | 位置 | 状态 |
|---|---|---|
| 技能(推荐) | .claude/skills/<name>/SKILL.md | 当前标准 |
| 旧版命令 | .claude/commands/<name>.md | 仍然有效 |
如果技能和命令同名,技能优先。例如,当 .claude/commands/review.md 和 .claude/skills/review/SKILL.md 同时存在时,使用技能版本。
迁移路径
现有的 .claude/commands/ 文件无需更改即可继续使用。要迁移到技能:
迁移前(命令):
.claude/commands/optimize.md迁移后(技能):
.claude/skills/optimize/SKILL.md为什么选择技能?
技能相比旧版命令提供了额外功能:
- 目录结构:可捆绑脚本、模板和参考文件
- 自动调用:Claude 可在相关时自动触发技能
- 调用控制:选择由用户、Claude 或两者都可调用
- 子代理执行:使用
context: fork在隔离上下文中运行技能 - 渐进式加载:仅在需要时加载额外文件
将自定义命令创建为技能
创建一个包含 SKILL.md 文件的目录:
bash
mkdir -p .claude/skills/my-command文件: .claude/skills/my-command/SKILL.md
yaml
---
name: my-command
description: What this command does and when to use it
---
# My Command
Instructions for Claude to follow when this command is invoked.
1. First step
2. Second step
3. Third stepFrontmatter 参考
| 字段 | 用途 | 默认值 |
|---|---|---|
name | 命令名称(变为 /name) | 目录名 |
description | 简要描述(帮助 Claude 知道何时使用) | 第一段 |
argument-hint | 自动补全的预期参数 | 无 |
allowed-tools | 命令可使用的免权限工具 | 继承 |
model | 使用的特定模型 | 继承 |
disable-model-invocation | 若为 true,仅用户可调用(Claude 不可) | false |
user-invocable | 若为 false,从 / 菜单中隐藏 | true |
context | 设为 fork 以在隔离子代理中运行 | 无 |
agent | 使用 context: fork 时的代理类型 | general-purpose |
hooks | 技能范围的钩子(PreToolUse、PostToolUse、Stop) | 无 |
参数
命令可以接收参数:
使用 $ARGUMENTS 获取所有参数:
yaml
---
name: fix-issue
description: Fix a GitHub issue by number
---
Fix issue #$ARGUMENTS following our coding standards用法:/fix-issue 123 → $ARGUMENTS 变为 "123"
使用 $0、$1 等获取单个参数:
yaml
---
name: review-pr
description: Review a PR with priority
---
Review PR #$0 with priority $1用法:/review-pr 456 high → $0="456",$1="high"
使用 Shell 命令的动态上下文
在提示词之前使用 !command`` 执行 bash 命令:
yaml
---
name: commit
description: Create a git commit with context
allowed-tools: Bash(git *)
---
## Context
- Current git status: !`git status`
- Current git diff: !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -5`
## Your task
Based on the above changes, create a single git commit.文件引用
使用 @ 包含文件内容:
markdown
Review the implementation in @src/utils/helpers.js
Compare @src/old-version.js with @src/new-version.js插件命令
插件可以提供自定义命令:
/plugin-name:command-name或者在没有命名冲突时直接使用 /command-name。
示例:
bash
/frontend-design:frontend-design
/commit-commands:commitMCP 提示词作为命令
MCP 服务器可以将提示词暴露为 slash 命令:
/mcp__<server-name>__<prompt-name> [arguments]示例:
bash
/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug title" highMCP 权限语法
在权限中控制 MCP 服务器访问:
mcp__github- 访问整个 GitHub MCP 服务器mcp__github__*- 通配符访问所有工具mcp__github__get_issue- 特定工具访问
命令架构
命令生命周期
本文件夹中的可用命令
这些示例命令可以安装为技能或旧版命令。
1. /optimize - 代码优化
分析代码中的性能问题、内存泄漏和优化机会。
用法:
/optimize
[粘贴你的代码]2. /pr - Pull Request 准备
引导完成 PR 准备检查清单,包括代码检查、测试和提交格式化。
用法:
/pr截图:
3. /generate-api-docs - API 文档生成器
从源代码生成全面的 API 文档。
用法:
/generate-api-docs4. /commit - 带上下文的 Git 提交
使用仓库中的动态上下文创建 git 提交。
用法:
/commit [可选消息]5. /push-all - 暂存、提交并推送
暂存所有更改,创建提交,并在安全检查后推送到远程。
用法:
/push-all安全检查:
- 密钥文件:
.env*、*.key、*.pem、credentials.json - API 密钥:检测真实密钥与占位符
- 大文件:
>10MB且未使用 Git LFS - 构建产物:
node_modules/、dist/、__pycache__/
6. /doc-refactor - 文档重构
重构项目文档以提高清晰度和可访问性。
用法:
/doc-refactor7. /setup-ci-cd - CI/CD 流水线设置
实施 pre-commit 钩子和 GitHub Actions 以保障代码质量。
用法:
/setup-ci-cd8. /unit-test-expand - 测试覆盖率扩展
通过针对未测试的分支和边界情况来增加测试覆盖率。
用法:
/unit-test-expand安装
作为技能安装(推荐)
复制到你的技能目录:
bash
# Create skills directory
mkdir -p .claude/skills
# For each command file, create a skill directory
for cmd in optimize pr commit; do
mkdir -p .claude/skills/$cmd
cp 01-slash-commands/$cmd.md .claude/skills/$cmd/SKILL.md
done作为旧版命令安装
复制到你的命令目录:
bash
# Project-wide (team)
mkdir -p .claude/commands
cp 01-slash-commands/*.md .claude/commands/
# Personal use
mkdir -p ~/.claude/commands
cp 01-slash-commands/*.md ~/.claude/commands/创建自己的命令
技能模板(推荐)
创建 .claude/skills/my-command/SKILL.md:
yaml
---
name: my-command
description: What this command does. Use when [trigger conditions].
argument-hint: [optional-args]
allowed-tools: Bash(npm *), Read, Grep
---
# Command Title
## Context
- Current branch: !`git branch --show-current`
- Related files: @package.json
## Instructions
1. First step
2. Second step with argument: $ARGUMENTS
3. Third step
## Output Format
- How to format the response
- What to include仅用户可调用的命令(禁止自动调用)
对于有副作用的命令,不应让 Claude 自动触发:
yaml
---
name: deploy
description: Deploy to production
disable-model-invocation: true
allowed-tools: Bash(npm *), Bash(git *)
---
Deploy the application to production:
1. Run tests
2. Build application
3. Push to deployment target
4. Verify deployment最佳实践
| 应该做 | 不应该做 |
|---|---|
| 使用清晰的、面向操作的命名 | 为一次性任务创建命令 |
包含带有触发条件的 description | 在命令中构建复杂逻辑 |
| 保持命令专注于单一任务 | 硬编码敏感信息 |
对有副作用的命令使用 disable-model-invocation | 跳过 description 字段 |
使用 ! 前缀获取动态上下文 | 假设 Claude 知道当前状态 |
| 在技能目录中组织相关文件 | 把所有内容放在一个文件中 |
故障排除
命令未找到
解决方案:
- 检查文件是否在
.claude/skills/<name>/SKILL.md或.claude/commands/<name>.md中 - 验证 frontmatter 中的
name字段是否与预期命令名匹配 - 重启 Claude Code 会话
- 运行
/help查看可用命令
命令未按预期执行
解决方案:
- 添加更具体的说明
- 在技能文件中包含示例
- 如果使用 bash 命令,检查
allowed-tools - 先用简单输入进行测试
技能与命令冲突
如果两者同名存在,技能优先。删除其中一个或重命名。
相关指南
其他资源
Claude How To 指南系列的一部分