Claude Code Commands 自定义命令
什么是自定义命令?
自定义斜杠命令(Slash Commands)是 Claude Code 的强大扩展机制,允许你将常用的提示词定义为 Markdown 文件,通过 /命令名 的方式快速调用。
核心价值
| 传统方式 | 自定义命令 |
|---|---|
| 每次输入完整提示词 | 一个命令搞定 |
| 容易遗漏关键信息 | 提示词标准化 |
| 团队成员各写各的 | 统一工作流程 |
| 重复劳动浪费时间 | 一次编写永久复用 |
目录结构
项目根目录/
├── .claude/
│ └── commands/ # 项目级命令(仅当前项目可用)
│ ├── init.md # /init 命令
│ ├── review.md # /review 命令
│ ├── security-review.md # /security-review 命令
│ ├── subfolder/ # 命名空间支持
│ │ └── subcommand.md # /subfolder__subcommand 调用
│ └── ...
# 个人级命令(所有项目可用)
~/.claude/
└── commands/
├── my-command.md
└── ...作用域说明:
- 项目级命令:放在
.claude/commands/目录,只在当前项目生效,适合团队共享 - 个人级命令:放在
~/.claude/commands/目录,所有项目通用,适合个人习惯
命令文件格式
基本结构
markdown
---
description: "命令的简短描述(必需)"
---
# 命令执行时的提示内容
这是 Claude Code 执行此命令时收到的完整提示文本。
## 说明
- 支持完整的 Markdown 格式
- 可以包含多行说明
- 支持代码块示例参数支持
命令支持接收参数,使用特殊变量:
| 变量 | 说明 |
|---|---|
$1 | 第一个参数 |
$2 | 第二个参数 |
$ARGUMENTS | 所有参数(完整字符串) |
示例:
markdown
---
description: "审查指定 PR"
---
请审查 PR #$1,重点关注:
1. 代码质量
2. 安全问题
3. 性能影响
$ARGUMENTS调用方式:/review 123 重点检查SQL注入
实战示例
示例 1:PR 审查命令
文件: .claude/commands/review.md
markdown
---
description: "审查 Pull Request 代码"
---
# PR 审查任务
请对当前分支的代码变更进行全面审查。
## 审查清单
### 代码质量
- [ ] 代码是否符合项目规范
- [ ] 命名是否清晰准确
- [ ] 逻辑是否简洁高效
- [ ] 是否有重复代码
### 安全检查
- [ ] 是否存在 SQL 注入风险
- [ ] 是否存在 XSS 漏洞
- [ ] 敏感数据是否正确处理
- [ ] 权限校验是否完整
### 性能考虑
- [ ] 是否有 N+1 查询问题
- [ ] 是否正确使用缓存
- [ ] 是否有大数据量处理风险
## 输出格式
请按以下格式输出审查结果:
1. **总体评价**:一句话总结
2. **问题列表**:按严重程度排序
3. **改进建议**:具体可行的优化方案示例 2:CRUD 生成命令
文件: .claude/commands/crud.md
markdown
---
description: "生成 CRUD 代码模块"
---
# CRUD 代码生成
请为 **$1** 模块生成完整的 CRUD 代码。
## 生成内容
### 后端代码
1. Entity 实体类(继承 BaseEntity)
2. BO 业务对象(使用 @AutoMappers)
3. VO 视图对象
4. DAO 数据访问层(含 buildQueryWrapper)
5. Service 服务层(不继承基类)
6. Controller 控制器
### 前端代码
1. API 接口定义(xxxApi.ts)
2. 类型定义(xxxTypes.ts)
3. 列表页面
4. 表单组件
## 注意事项
- 严格遵循项目代码规范
- 使用项目统一的工具类
- 添加必要的注释和文档调用方式:/crud 优惠券
示例 3:安全审查命令
文件: .claude/commands/security-review.md
markdown
---
description: "执行安全审查"
---
# 安全审查任务
对当前代码进行安全审查,检查以下安全风险:
## OWASP Top 10 检查
1. **注入攻击**
- SQL 注入
- 命令注入
- LDAP 注入
2. **身份认证**
- 弱密码策略
- 会话管理问题
- Token 安全
3. **敏感数据**
- 数据加密
- 传输安全
- 日志脱敏
4. **访问控制**
- 权限校验
- 越权访问
- CORS 配置
5. **安全配置**
- 错误信息泄露
- 默认配置
- 不必要的功能
## 输出要求
- 按风险等级分类(高/中/低)
- 提供具体代码位置
- 给出修复建议和示例代码示例 4:Git 提交命令
文件: .claude/commands/commit.md
markdown
---
description: "生成规范的 Git 提交"
---
# Git 提交任务
请分析当前的代码变更,生成符合 Conventional Commits 规范的提交。
## 提交格式
```
<type>(<scope>): <subject>
<body>
<footer>
```
## Type 类型
- feat: 新功能
- fix: 修复 Bug
- docs: 文档更新
- style: 代码格式
- refactor: 重构
- test: 测试
- chore: 构建/工具
## 执行步骤
1. 运行 `git status` 查看变更
2. 运行 `git diff` 分析变更内容
3. 生成提交信息
4. 执行提交命令命名空间
通过子目录创建命名空间,避免命令名冲突:
.claude/commands/
├── backend/
│ ├── crud.md # /backend__crud
│ ├── api.md # /backend__api
│ └── service.md # /backend__service
├── frontend/
│ ├── component.md # /frontend__component
│ └── page.md # /frontend__page
└── mobile/
├── page.md # /mobile__page
└── api.md # /mobile__api调用方式:/backend__crud 用户管理
高级用法
与 MCP 集成
MCP 服务器可以暴露提示作为斜杠命令:
bash
# 使用 MCP 提供的命令
/mcp__exa__web_search_help
/mcp__exa__code_search_helpSlashCommand 工具
Claude 可以在对话中使用 SlashCommand 工具程序化执行自定义命令:
用户:帮我审查这个 PR 并生成测试用例
Claude:[调用 /review 命令] → 审查完成
[调用 /test 命令] → 测试用例生成完成权限控制
可以在命令中指定权限限制:
markdown
---
description: "部署到生产环境"
allowed_tools: ["Bash(git*)", "Bash(npm*)"]
---
# 部署任务
仅允许执行 git 和 npm 相关命令...最佳实践
1. 命令设计原则
- 单一职责:一个命令只做一件事
- 参数化:支持参数让命令更灵活
- 文档化:description 要清晰描述用途
- 可复用:设计通用性强的命令
2. 提示词编写技巧
markdown
✅ 好的写法:
- 使用清单格式,条理清晰
- 提供具体示例和模板
- 明确输出格式要求
- 包含注意事项和边界条件
❌ 不好的写法:
- 大段文字描述
- 要求模糊不清
- 缺少示例说明
- 没有输出格式约定3. 团队协作
markdown
# 团队命令管理规范
1. 将 .claude/commands/ 加入版本控制
2. 新命令需要 Code Review
3. 定期清理不再使用的命令
4. 维护命令使用文档4. 命令分类建议
| 分类 | 命令示例 | 说明 |
|---|---|---|
| 开发类 | /crud, /api, /component | 代码生成 |
| 审查类 | /review, /security-review | 代码审查 |
| 工具类 | /commit, /changelog | 辅助工具 |
| 文档类 | /doc, /readme | 文档生成 |
调试技巧
查看命令加载
bash
# 在 Claude Code 中查看可用命令
/help
# 查看命令详情
/命令名 --help常见问题
Q: 命令没有出现在列表中?
A: 检查以下几点:
- 文件是否在正确的目录
- 文件扩展名是否为
.md - 是否包含必需的
description字段 - YAML 头部格式是否正确
Q: 参数没有正确替换?
A: 确保:
- 使用正确的变量格式:
$1、$2、$ARGUMENTS - 调用时参数之间用空格分隔
Q: 命令执行结果不符合预期?
A: 优化提示词:
- 添加更多示例
- 明确输出格式
- 添加约束条件
- 使用对比展示
总结
自定义命令是提升 Claude Code 使用效率的利器:
| 优势 | 说明 |
|---|---|
| 效率提升 | 复杂提示一键执行 |
| 质量保证 | 标准化工作流程 |
| 团队协作 | 统一开发规范 |
| 知识沉淀 | 最佳实践可复用 |
建议从以下命令开始:
/review- 代码审查/crud- CRUD 生成/commit- Git 提交/doc- 文档生成
