Skip to content

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_help

SlashCommand 工具

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: 检查以下几点:

  1. 文件是否在正确的目录
  2. 文件扩展名是否为 .md
  3. 是否包含必需的 description 字段
  4. YAML 头部格式是否正确

Q: 参数没有正确替换?

A: 确保:

  1. 使用正确的变量格式:$1$2$ARGUMENTS
  2. 调用时参数之间用空格分隔

Q: 命令执行结果不符合预期?

A: 优化提示词:

  1. 添加更多示例
  2. 明确输出格式
  3. 添加约束条件
  4. 使用对比展示

总结

自定义命令是提升 Claude Code 使用效率的利器:

优势说明
效率提升复杂提示一键执行
质量保证标准化工作流程
团队协作统一开发规范
知识沉淀最佳实践可复用

建议从以下命令开始:

  1. /review - 代码审查
  2. /crud - CRUD 生成
  3. /commit - Git 提交
  4. /doc - 文档生成