Claude Code自定义命令:打造你的专属提示词库
目录Claude Code自定义命令打造你的专属提示词库 目录1. 什么是自定义命令1.1 基本概念1.2 与CLAUDE.md的区别1.3 核心价值2. 为什么需要自定义命令2.1 没有自定义命令的痛点2.2 有自定义命令的好处2.3 适用场景3. 自定义命令的工作原理3.1 文件结构3.2 命名规则3.3 加载时机3.4 作用域4. 创建你的第一个命令4.1 步骤1创建目录4.2 步骤2创建命令文件4.3 步骤3编写命令内容4.4 步骤4使用命令4.5 完整示例5. 命令语法详解5.1 基本语法5.2 变量替换使用示例5.3 条件逻辑5.4 多行指令输出位置6. 10个实用命令模板6.1 代码审查命令6.2 测试生成命令输出位置重构后改动说明测试结果如果是API接口文档风格Type类型示例注意测试结果预防措施6.8 API接口生成命令6.9 数据库迁移命令注意事项7. 团队共享命令7.1 为什么团队共享很重要7.2 共享方式方式1提交到Git仓库推荐方式2使用全局命令7.3 团队命令清单建议7.4 命令维护8. 高级用法与技巧8.1 组合命令8.2 条件执行8.3 环境感知8.4 模板继承8.5 动态参数9. 常见问题与避坑9.1 命令不生效9.2 变量不替换9.3 命令冲突9.4 中文文件名问题9.5 命令太长10. 总结10.1 核心要点10.2 快速开始清单10.3 命令模板清单10.4 下篇预告 参考资料Claude Code自定义命令打造你的专属提示词库 更新于2026年5月 | ✍️ 原创文章转载请注明出处 目录什么是自定义命令为什么需要自定义命令自定义命令的工作原理创建你的第一个命令命令语法详解10个实用命令模板团队共享命令高级用法与技巧常见问题与避坑总结1. 什么是自定义命令1.1 基本概念自定义命令是 Claude Code 的一项强大功能允许你 .claude/commands/ ├── review.md → /review ├── test.md → /test ├── refactor.md → /refactor ├── docs.md → /docs └── commit.md → /commit简单来说把常用的提示词保存成模板用/命令名一键调用。1.2 与CLAUDE.md的区别特性CLAUDE.md自定义命令触发方式自动加载手动调用/command用途项目上下文可复用的任务模板数量通常1个可以多个内容静态配置动态任务指令1.3 核心价值 价值1一致性 —— 团队使用相同的提示词模板 价值2效率 —— 一键调用不用重复输入 价值3标准化 —— 统一代码审查、测试、提交的流程 价值4可维护 —— 修改模板全局生效2. 为什么需要自定义命令2.1 没有自定义命令的痛点# ❌ 痛点1重复输入帮我做代码审查检查类型安全、错误处理、性能问题、代码风格...# 每次都要输入一大段# ❌ 痛点2不一致帮我写测试→ 有人用Jest有人用Vitest帮我写文档→ 有人用JSDoc有人用Markdown# 团队标准不统一# ❌ 痛点3容易遗漏帮我重构代码# 忘记说保持测试通过结果重构后测试挂了2.2 有自定义命令的好处# ✅ 好处1一键调用/review# 自动执行完整的代码审查流程# ✅ 好处2团队统一/test# 所有人用同样的测试生成模板# ✅ 好处3不会遗漏/refactor# 自动包含保持测试通过的约束2.3 适用场景场景命令示例说明代码审查/review统一审查标准测试生成/test统一测试框架和风格代码重构/refactor包含约束条件文档生成/docs统一文档格式Git提交/commit统一提交信息格式Bug修复/fix标准化修复流程性能优化/perf包含性能测试步骤3. 自定义命令的工作原理3.1 文件结构 项目根目录/ ├── .claude/ │ └── commands/ │ ├── review.md # 项目级命令 │ ├── test.md │ └── refactor.md ├── src/ ├── package.json └── CLAUDE.md3.2 命名规则规则示例说明文件名review.md命令名就是文件名调用方式/review斜杠 文件名不含.md大小写Code-Review.md→/Code-Review保持大小写连字符code-review.md→/code-review支持连字符3.3 加载时机1. 你输入 /review 2. Claude Code 读取 .claude/commands/review.md 3. 将文件内容作为提示词执行 4. 支持变量替换如 $ARGUMENTS3.4 作用域位置作用域说明.claude/commands/项目级只在当前项目生效~/.claude/commands/全局级所有项目都可用4. 创建你的第一个命令4.1 步骤1创建目录# 在项目根目录创建mkdir-p.claude/commands4.2 步骤2创建命令文件# 创建一个代码审查命令touch.claude/commands/review.md4.3 步骤3编写命令内容# .claude/commands/review.md 请对当前文件或指定文件进行代码审查。 ## 审查维度 1. **类型安全** - 是否有 any 类型 - 类型定义是否完整 - 是否有类型断言滥用 2. **错误处理** - 异步操作是否有 try-catch - 边界条件是否处理 - 错误信息是否有意义 3. **性能** - 是否有不必要的重渲染 - 是否有内存泄漏风险 - 是否有可优化的循环 4. **代码风格** - 命名是否符合规范 - 是否有重复代码 - 注释是否充分 ## 输出格式 请以表格形式输出 | 问题类型 | 位置 | 问题描述 | 建议修改 | |---------|------|----------|----------| | 类型安全 | 第15行 | 使用了any类型 | 改为具体类型 | ## 使用方式 - 默认审查当前文件 - 可以指定文件/review src/utils/format.ts4.4 步骤4使用命令# 在Claude Code中输入/review# 或者指定文件/review src/utils/format.ts4.5 完整示例# 1. 进入项目目录cdmy-project# 2. 创建命令目录mkdir-p.claude/commands# 3. 创建命令文件cat.claude/commands/review.mdEOF 请对当前文件或指定文件进行代码审查。 ## 审查维度 1. 类型安全 2. 错误处理 3. 性能 4. 代码风格 ## 输出格式 以表格形式输出问题和建议。 EOF# 4. 提交到Gitgitadd.claude/commands/gitcommit-mfeat: 添加代码审查命令# 5. 使用# 在Claude Code中输入 /review5. 命令语法详解5.1 基本语法# 命令标题 命令的描述和说明。 ## 具体指令 详细的任务步骤。5.2 变量替换Claude Code 支持在命令中使用变量变量说明示例$ARGUMENTS用户传入的参数/review src/utils.ts→$ARGUMENTSsrc/utils.ts使用示例# .claude/commands/fix.md 修复以下文件中的bug$ARGUMENTS ## 步骤 1. 读取文件 $ARGUMENTS 2. 分析错误原因 3. 提供修复方案 4. 执行修复 5. 运行测试验证# 使用时/fix src/api/auth.ts# $ARGUMENTS 会被替换为 src/api/auth.ts5.3 条件逻辑虽然命令文件不支持真正的条件语句但你可以通过描述来实现# .claude/commands/test.md 为指定的文件或当前修改的代码生成测试。 ## 判断逻辑 如果指定了文件$ARGUMENTS不为空 - 为指定文件生成测试 如果没有指定文件 - 查看git diff为修改的代码生成测试 ## 测试要求 - 使用项目配置的测试框架 - 包含正常case和异常case - 测试覆盖率 80%5.4 多行指令# .claude/commands/docs.md 请为以下内容生成文档 ## 文档类型 - 如果是组件生成Props文档和使用示例 - 如果是函数生成JSDoc文档 - 如果是API生成API文档 ## 格式要求 typescript /** * 函数描述 * param paramName - 参数说明 * returns 返回值说明 * example * // 示例代码 */输出位置组件文档放在组件同目录下的README.md函数文档直接写在代码注释中### 5.5 引用其他文件 markdown # .claude/commands/refactor.md 重构指定的代码参考项目的编码规范。 ## 参考文件 - 编码规范.claude/conventions.md - 组件示例src/components/UserCard.tsx ## 重构要求 1. 阅读.claude/conventions.md了解编码规范 2. 参考src/components/UserCard.tsx的写法 3. 重构$ARGUMENTS指定的文件 4. 保持测试通过6. 10个实用命令模板6.1 代码审查命令# .claude/commands/review.md 对代码进行全面审查。 ## 审查清单 ### 必查项 - [ ] 类型安全是否有any、类型断言 - [ ] 错误处理try-catch、边界条件 - [ ] 性能重渲染、内存泄漏、循环优化 - [ ] 安全XSS、SQL注入、敏感信息 ### 代码风格 - [ ] 命名规范 - [ ] 代码重复 - [ ] 注释完整 - [ ] 测试覆盖 ## 输出格式 ### 问题汇总 | 严重程度 | 类型 | 位置 | 问题 | 建议 | |---------|------|------|------|------| | 高 | 类型安全 | 15行 | any类型 | 改为具体类型 | | 中 | 性能 | 23行 | 未使用useMemo | 添加memo | ### 优点 - 列出代码的亮点 ### 改进建议 - 给出具体的优化方向 $ARGUMENTS6.2 测试生成命令# .claude/commands/test.md 为指定代码生成单元测试。 ## 测试框架 - 前端Jest React Testing Library - 后端Jest SupertestNode/ JUnit 5Java ## 测试要求 ### 覆盖场景 1. 正常流程happy path 2. 边界条件 3. 异常情况 4. 并发场景如适用 ### 测试结构 javascript describe(功能模块, () { beforeEach(() { // 初始化 }); afterEach(() { // 清理 }); it(应该处理正常输入, () { // 测试正常流程 }); it(应该处理边界条件, () { // 测试边界 }); it(应该抛出错误, () { // 测试异常 }); });输出位置与源文件同目录命名为xxx.test.ts$ARGUMENTS### 6.3 重构命令 markdown # .claude/commands/refactor.md 重构指定的代码。 ## 重构约束 1. **必须保持测试通过** —— 重构后运行所有测试 2. **不改变外部行为** —— 功能完全一致 3. **小步重构** —— 每次只做一个改动 ## 重构方向 - 提取重复代码 - 简化复杂逻辑 - 改善命名 - 优化性能 ## 步骤 1. 运行现有测试确认通过 2. 分析代码找出重构点 3. 执行重构 4. 再次运行测试确认通过 5. 总结改动 ## 输出格式 ### 重构前 typescript // 原始代码重构后// 重构后的代码改动说明改动1xxx改动2xxx测试结果通过xx个失败xx个$ARGUMENTS### 6.4 文档生成命令 markdown # .claude/commands/docs.md 生成代码文档。 ## 文档类型判断 ### 如果是组件 生成 1. Props接口文档 2. 使用示例 3. 注意事项 ### 如果是函数 生成JSDoc文档 typescript /** * 函数描述 * * param paramName - 参数说明 * returns 返回值说明 * throws 错误说明 * * example * const result myFunction(input); */如果是API接口生成API文档请求方式URL路径请求参数响应格式错误码文档风格使用中文包含代码示例简洁明了$ARGUMENTS### 6.5 Git提交命令 markdown # .claude/commands/commit.md 生成规范的Git提交信息。 ## 步骤 1. 查看当前修改git diff 2. 查看暂存区git diff --cached 3. 分析改动类型 4. 生成提交信息 5. 执行提交 ## 提交信息格式():Type类型✨ feat: 新功能 fix: 修复bug docs: 文档 style: 格式♻️ refactor: 重构✅ test: 测试 chore: 构建/工具示例✨ feat(auth): 添加微信登录支持 - 集成微信OAuth2.0 - 添加微信用户信息解析 - 更新登录页面UI Closes #123注意使用中文描述包含改动的具体内容关联Issue如有### 6.6 Bug修复命令 markdown # .claude/commands/fix.md 修复Bug的标准流程。 ## 步骤 ### 1. 理解问题 - 阅读错误信息 - 复现问题 - 确定影响范围 ### 2. 分析原因 - 查看相关代码 - 定位问题根源 - 确定修复方案 ### 3. 执行修复 - 编写修复代码 - 添加防护措施避免再次发生 ### 4. 验证修复 - 运行测试 - 手动验证 - 检查边界情况 ### 5. 总结 - 问题原因 - 修复方案 - 预防措施 ## 输出格式 ### 问题描述 [描述问题] ### 根本原因 [分析原因] ### 修复方案 typescript // 修复后的代码测试结果单元测试✅ 通过集成测试✅ 通过预防措施如何避免类似问题$ARGUMENTS### 6.7 性能优化命令 markdown # .claude/commands/perf.md 性能分析与优化。 ## 分析维度 ### 前端性能 - 组件重渲染 - Bundle大小 - 首屏加载时间 - 内存泄漏 ### 后端性能 - 数据库查询 - API响应时间 - 缓存命中率 - 并发处理 ## 步骤 1. 识别性能瓶颈 2. 测量当前性能 3. 实施优化 4. 验证优化效果 ## 常见优化手段 ### 前端 - React.memo - useMemo / useCallback - 虚拟滚动 - 代码分割 - 图片懒加载 ### 后端 - 数据库索引 - 查询优化 - 缓存策略 - 异步处理 ## 输出格式 ### 性能瓶颈 [描述发现的问题] ### 优化方案 [具体优化措施] ### 优化前后对比 | 指标 | 优化前 | 优化后 | 提升 | |------|--------|--------|------| | 加载时间 | 3s | 1s | 66% | $ARGUMENTS6.8 API接口生成命令# .claude/commands/api.md 生成RESTful API接口代码。 ## 技术栈 - 框架Express / FastAPI / Spring Boot - 数据库MySQL / PostgreSQL - ORMPrisma / SQLAlchemy / MyBatis-Plus ## 生成内容 1. Controller/Router 2. Service层 3. Repository/DAO层 4. 数据模型 5. 请求/响应DTO 6. 单元测试 ## 命名规范 - Controller: xxxController.ts - Service: xxxService.ts - Repository: xxxRepository.ts - DTO: xxxRequest.ts, xxxResponse.ts ## 代码风格 - RESTful设计 - 统一错误处理 - 参数验证 - 日志记录 ## 使用方式 /api 用户管理 CRUD /api 订单查询接口 /api 文件上传接口 $ARGUMENTS6.9 数据库迁移命令# .claude/commands/migrate.md 生成数据库迁移脚本。 ## 步骤 1. 分析模型变更 2. 生成迁移脚本 3. 检查数据兼容性 4. 提供回滚方案 ## 迁移类型 - 创建表 - 添加字段 - 修改字段 - 删除字段 - 添加索引 - 数据迁移 ## 输出格式 ### 迁移脚本 sql -- Up CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, email VARCHAR(255) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Down DROP TABLE users;注意事项是否有数据丢失风险是否需要数据迁移是否影响现有功能$ARGUMENTS### 6.10 技术方案命令 markdown # .claude/commands/design.md 生成技术方案文档。 ## 文档结构 ### 1. 需求背景 - 业务需求 - 技术需求 - 约束条件 ### 2. 方案设计 - 整体架构 - 模块划分 - 接口设计 - 数据模型 ### 3. 技术选型 - 框架选择 - 中间件选择 - 第三方服务 ### 4. 实现计划 - 阶段划分 - 时间估算 - 风险点 ### 5. 测试方案 - 单元测试 - 集成测试 - 性能测试 ## 输出格式 使用Markdown格式包含 - 架构图文字描述 - 接口表格 - 数据模型ER图文字描述 - 代码示例 $ARGUMENTS7. 团队共享命令7.1 为什么团队共享很重要 统一标准 —— 代码审查、测试、提交都有标准 提高效率 —— 新人直接用现成命令 减少沟通 —— 不用反复解释怎么做7.2 共享方式方式1提交到Git仓库推荐# 1. 创建命令目录mkdir-p.claude/commands# 2. 添加命令文件# ... 创建各个命令文件# 3. 提交到Gitgitadd.claude/commands/gitcommit-mfeat: 添加Claude Code自定义命令# 4. 团队成员拉取后即可使用gitpull方式2使用全局命令# 在用户目录下创建mkdir-p~/.claude/commands# 添加通用命令# 这些命令在所有项目都可用7.3 团队命令清单建议命令用途优先级/review代码审查⭐⭐⭐ 必须/test测试生成⭐⭐⭐ 必须/commitGit提交⭐⭐⭐ 必须/refactor代码重构⭐⭐ 推荐/docs文档生成⭐⭐ 推荐/fixBug修复⭐⭐ 推荐/apiAPI生成⭐ 可选7.4 命令维护# .claude/commands/README.md # Claude Code 自定义命令 ## 命令列表 | 命令 | 说明 | 维护者 | |------|------|--------| | /review | 代码审查 | zhangsan | | /test | 测试生成 | lisi | | /commit | Git提交 | wangwu | ## 使用方法 1. 确保在项目根目录 2. 输入 /命令名 即可 ## 添加新命令 1. 在 .claude/commands/ 目录创建 .md 文件 2. 按照现有命令的格式编写 3. 提交到Git ## 注意事项 - 命令文件必须是 .md 格式 - 命令名即文件名不含.md - 支持中文内容8. 高级用法与技巧8.1 组合命令创建一个命令调用其他命令# .claude/commands/full-workflow.md 完整的开发工作流。 ## 步骤 ### 1. 代码审查 先执行 /review确保代码质量 ### 2. 生成测试 执行 /test补充测试用例 ### 3. 性能检查 执行 /perf检查性能问题 ### 4. 生成文档 执行 /docs更新文档 ### 5. 提交代码 执行 /commit规范提交 ## 注意 - 每个步骤完成后确认再进行下一步 - 如果某个步骤失败停下来修复后再继续8.2 条件执行# .claude/commands/smart-test.md 智能测试生成。 ## 判断逻辑 ### 情况1指定了文件 如果 $ARGUMENTS 不为空 - 为指定文件生成测试 ### 情况2未指定文件 如果 $ARGUMENTS 为空 - 查看 git diff --name-only 获取修改的文件 - 为这些文件生成测试 ### 情况3有未提交的修改 如果有未提交的修改 - 只测试修改的部分 ### 情况4没有修改 如果没有修改 - 运行所有测试检查覆盖率8.3 环境感知# .claude/commands/dev.md 根据环境执行不同操作。 ## 环境判断 ### 开发环境 如果当前是开发环境NODE_ENVdevelopment - 启动开发服务器 - 开启热更新 - 显示详细日志 ### 测试环境 如果当前是测试环境NODE_ENVtest - 运行测试 - 生成覆盖率报告 ### 生产环境 如果当前是生产环境NODE_ENVproduction - 构建生产版本 - 优化资源 - 压缩代码8.4 模板继承# .claude/commands/base-review.md 代码审查基础模板。 ## 基础检查项 - 类型安全 - 错误处理 - 代码风格 --- # .claude/commands/frontend-review.md 前端代码审查继承base-review。 ## 基础检查项 参考 /base-review 的检查项 ## 额外检查项 - 组件设计 - 状态管理 - 样式方案 - 性能优化8.5 动态参数# .claude/commands/generate.md 代码生成器。 ## 使用方式 /generate component UserProfile /generate api users /generate model Order ## 参数解析 $ARGUMENTS 的第一个参数是类型 - component: 生成组件 - api: 生成API接口 - model: 生成数据模型 $ARGUMENTS 的第二个参数是名称 - 作为生成文件的名称 ## 根据类型执行 ### 如果类型是 component 生成 React 组件代码 ### 如果类型是 api 生成 RESTful API 代码 ### 如果类型是 model 生成数据模型代码9. 常见问题与避坑9.1 命令不生效问题输入/review没反应排查步骤# 1. 检查文件是否存在ls-la.claude/commands/# 2. 检查文件名是否正确# 必须是 .md 结尾# 3. 检查是否在项目根目录pwd# 4. 检查Claude Code版本# 确保是最新版本9.2 变量不替换问题$ARGUMENTS没有被替换原因可能是语法错误解决# ❌ 错误 文件$ARGUMENTS # ✅ 正确 文件$ARGUMENTS # 确保 $ARGUMENTS 前后有空格9.3 命令冲突问题项目命令和全局命令同名解决优先级项目命令 全局命令 如果项目有 .claude/commands/review.md 全局有 ~/.claude/commands/review.md 会使用项目级的命令9.4 中文文件名问题问题中文文件名可能导致问题建议# ❌ 不推荐.claude/commands/代码审查.md# ✅ 推荐.claude/commands/review.md9.5 命令太长问题命令文件内容太多Claude可能忽略部分建议- 控制在200行以内 - 分步骤说明 - 使用列表而不是长段落 - 重点内容加粗10. 总结10.1 核心要点要点说明位置.claude/commands/目录格式Markdown文件调用/命令名变量$ARGUMENTS获取参数共享提交到Git仓库10.2 快速开始清单创建.claude/commands/目录添加/review命令添加/test命令添加/commit命令提交到Git仓库团队成员拉取使用10.3 命令模板清单命令文件用途/reviewreview.md代码审查/testtest.md测试生成/refactorrefactor.md代码重构/docsdocs.md文档生成/commitcommit.mdGit提交/fixfix.mdBug修复/perfperf.md性能优化/apiapi.mdAPI生成/migratemigrate.md数据库迁移/designdesign.md技术方案10.4 下篇预告下一篇我们将提供一个完整的Claude Code提示词模板库——20个高频场景的即拿即用模板涵盖日常开发的方方面面。 参考资料Anthropic官方文档 - Claude Code Custom Commands - 2026年5月Claude Code最佳实践 - 官方指南你在团队中使用Claude Code自定义命令了吗有什么好的实践欢迎分享 如果这篇文章对你有帮助别忘了点赞收藏关注我获取更多Claude Code实战技巧