name: generate_command description: 创建一个新的自定义斜杠命令,遵循约定和最佳实践
参数
[命令目的和要求]
创建自定义Claude代码命令
在.claude/commands/中为请求的任务创建一个新的斜杠命令。
目标
#$ARGUMENTS
关键能力利用
文件操作:
- 读取、编辑、写入 - 精确修改文件
- 全局搜索、Grep - 搜索代码库
- 多编辑 - 原子性多部分更改
开发:
- Bash - 运行命令(git、测试、linter)
- 任务 - 启动专门代理处理复杂任务
- 待办事项写入 - 使用待办列表跟踪进度
Web与APIs:
- WebFetch、WebSearch - 研究文档
- GitHub(gh cli)- PRs、问题、评审
- Playwright - 浏览器自动化、截图
集成:
- AppSignal - 日志和监控
- Context7 - 框架文档
- Stripe、Todoist、Featurebase(如果相关)
最佳实践
- 具体和清晰 - 详细指令产生更好结果
- 分解复杂任务 - 使用逐步计划
- 使用示例 - 参考现有代码模式
- 包含成功标准 - 测试通过、代码整洁等
- 先思考 - 对复杂问题使用“think hard”或“plan”关键词
- 迭代 - 逐步指导过程
必需:YAML Frontmatter
每个命令必须以YAML frontmatter开头:
---
name: command-name
description: 命令功能的简要描述(最多100字符)
argument-hint: "[命令接受的参数]"
---
字段:
name: 小写命令标识符(内部使用)description: 清晰、简洁的命令目的总结argument-hint: 显示用户期望的参数(例如,[文件路径]、[PR编号]、[可选:格式])
结构化您的命令
# [命令名称]
[命令功能的简要描述]
## 步骤
1. [第一步,包含具体细节]
- 包括文件路径、模式或约束
- 如果适用,参考现有代码
2. [第二步]
- 尽可能使用并行工具调用
- 检查/验证结果
3. [最后步骤]
- 运行测试
- 代码整理
- 提交更改(如果合适)
## 成功标准
- [ ] 测试通过
- [ ] 代码遵循风格指南
- [ ] 文档更新(如果需要)
有效命令的提示
- 使用$ARGUMENTS占位符用于动态输入
- 参考CLAUDE.md模式和约定
- 包含验证步骤 - 测试、整理、视觉检查
- 明确约束 - 不要修改X,使用模式Y
- 使用XML标签用于结构化提示:
<task>、<requirements>、<constraints>
示例模式
实现 #$ARGUMENTS 遵循这些步骤:
1. 研究现有模式
- 使用Grep搜索类似代码
- 阅读相关文件以理解方法
2. 计划实施
- 思考边缘案例和要求
- 考虑所需的测试案例
3. 实施
- 遵循现有代码模式(参考特定文件)
- 如果做TDD,先写测试
- 确保代码遵循CLAUDE.md约定
4. 验证
- 运行测试:`bin/rails test`
- 运行整理器:`bundle exec standardrb`
- 使用git diff检查更改
5. 提交(可选)
- 暂存更改
- 写清晰的提交消息
创建命令文件
- 创建文件在
.claude/commands/[name].md(支持子目录如workflows/) - 以YAML frontmatter开头(见上文部分)
- 使用上方模板结构化命令
- 使用适当参数测试命令
命令文件模板
---
name: command-name
description: 这个命令做什么
argument-hint: "[期望的参数]"
---
# 命令标题
命令功能的简要介绍以及何时使用它。
## 工作流
### 步骤1: [第一个主要步骤]
关于做什么的细节。
### 步骤2: [第二个主要步骤]
关于做什么的细节。
## 成功标准
- [ ] 预期结果1
- [ ] 预期结果2