所属教程:Claude Code 从入门到大师级完整教程 预计阅读:24 分钟
内置斜杠命令覆盖通用操作,而自定义斜杠命令让你把高频、成段的提示固化为文件,用 /命令名 一键触发,避免每次重复粘贴相同要求。本节讲清命令文件的位置、格式、参数、元数据与适用边界。
| 作用域 | 位置 | 可见范围 | 典型用途 |
|---|---|---|---|
| 项目命令 | .claude/commands/ | 当前仓库,可随 Git 提交共享给团队,/help 中标注 (project) | 团队统一的审查、提交、测试指令模板 |
| 个人命令 | ~/.claude/commands/ | 本人所有项目,标注 (user) | 个人常用的安全审查、代码风格要求 |
.md),调用形如 /命令名 [参数]。.claude/commands/frontend/),子目录不改变命令名,只在描述中标注来源分组。每个命令是一个 Markdown 文件:可选地以 --- 包裹 YAML 元数据(frontmatter)开头,其后正文就是发给代理的指令。支持两类参数占位:
# 项目级命令示例 .claude/commands/fix-issue.md
---
description: 按团队规范修复指定 Issue
argument-hint: [issue-number]
---
Fix issue $ARGUMENTS following our coding standards; reproduce the bug, add a regression test, and run the test suite.
$ARGUMENTS:捕获调用时传入的全部参数;例如 /fix-issue 123 high-priority 会整体替换。$1、$2 等:按位置取单个参数,适合结构化多参数命令(如编号、优先级、负责人)。| 字段 | 用途 | 缺省行为 |
|---|---|---|
description | 简短说明,供自动补全与代理按名调用时识别 | 缺省取正文第一行 |
argument-hint | 补全时展示的参数格式提示 | 无 |
allowed-tools | 限定该命令可使用的工具范围 | 继承当前会话可用工具 |
model | 为该命令指定模型 | 继承当前会话模型 |
disable-model-invocation | 禁止代理通过 SlashCommand 工具自动调用,仅允许手动输入触发 | false(可被代理调用) |
! 前缀执行 shell 命令并把结果带入上下文,例如把当前 git status、git diff HEAD、最近提交纳入提交类命令;对应 Bash 命令需在 allowed-tools 中授权。@路径/文件 在命令中引用指定文件内容,如 Review the implementation in @src/utils/helpers.js。| 方式 | 形态 | 适合场景 |
|---|---|---|
| 自定义斜杠命令 | 单个 Markdown 提示模板,显式 /触发 | 高频、单文件即可承载的固定提示 |
| 子代理 | 独立上下文与工具集的执行角色 | 只读调研、专项审查等需隔离上下文的任务 |
| Skill | 目录化(SKILL.md + 资源/脚本),可被自动发现 | 多步骤、多文件、带脚本校验的复杂流程 |
命令文件会随仓库共享,严禁写入密钥、令牌;固定授权范围宜最小化;团队命令应保持短小聚焦,过长的复合流程改用 Skill。命令与工具清单以当前版本 /help 与官方文档为准。
本节掌握了自定义命令的作用域、格式、参数、元数据与边界。下一节讲子代理:如何用独立上下文与限定工具把探索、审查等专项任务交给专门角色完成。
← 上一节:命名、常量与文案的批量统一 下一节:子代理:分工执行专项任务 →