with one click
specify
从自然语言功能描述创建或更新功能规格说明。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
从自然语言功能描述创建或更新功能规格说明。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Watch PR checks and merge when successful
全量分析现有代码仓库,逆向生成为 Codewave (LCAP) 规范模板,输出 spec.md + menus.md + TypeScript 实体/枚举文件。
分析代码仓库,自动识别功能模块并生成编号规格说明文档。多智能体架构:研究→规划→写作。
在任务生成后对 spec.md、plan.md 和 tasks.md 执行非破坏性的跨产物一致性和质量分析。
根据用户需求为当前功能生成自定义检查清单。
通过提出最多 5 个高度针对性的澄清问题来识别当前功能规格中未充分说明的区域,并将答案编码回规格中。
| name | specify |
| description | 从自然语言功能描述创建或更新功能规格说明。 |
| disable-model-invocation | true |
| allowed-tools | ["Bash(node */create-new-feature.mjs*)"] |
$ARGUMENTS
你必须在继续之前考虑用户输入(如果不为空)。
用户在触发消息中 /specify 后输入的文本就是功能描述。假设你在此对话中始终可以使用它,即使 $ARGUMENTS 在下面显示为字面值。除非用户提供空命令,否则不要要求用户重复。
根据该功能描述,执行以下操作:
生成简短的分支名称(2-4个词):
从仓库根目录运行脚本 node ${WAVE_PLUGIN_ROOT}/scripts/create-new-feature.mjs --json "$ARGUMENTS" 带上短名称参数,并解析其 JSON 输出获取 BRANCH_NAME 和 SPEC_FILE。所有文件路径必须是绝对路径。
重要:
node ${WAVE_PLUGIN_ROOT}/scripts/create-new-feature.mjs --json "$ARGUMENTS" 命令中--short-name "your-generated-short-name"-ShortName "your-generated-short-name"加载 !node -e "console.log(require('path').resolve('${WAVE_PLUGIN_ROOT}/templates/spec-template.md'))" 以了解必需的章节。
按照此执行流程:
使用模板结构将规格说明写入 SPEC_FILE,用从功能描述(参数)派生的具体细节替换占位符,同时保留章节顺序和标题。
规格质量验证:编写初始规格后,根据质量标准进行验证:
a. 创建规格质量检查清单:使用检查清单模板结构在 FEATURE_DIR/checklists/requirements.md 生成检查清单文件,包含以下验证项目:
# 规格质量检查清单:[功能名称]
**目的**:在进入规划阶段之前验证规格说明的完整性和质量
**创建日期**:[日期]
**功能**:[../spec.md]
## 内容质量
- [ ] 无实现细节(语言、框架、API)
- [ ] 聚焦于用户价值和业务需求
- [ ] 面向非技术利益相关者编写
- [ ] 所有必需章节已完成
## 需求完整性
- [ ] 无 [需要澄清] 标记残留
- [ ] 需求可测试且无歧义
- [ ] 所有验收场景已定义
- [ ] 边界情况已识别
- [ ] 范围边界清晰
- [ ] 依赖和假设已识别
## 功能就绪性
- [ ] 所有功能需求有明确的验收标准
- [ ] 用户场景覆盖主要流程
- [ ] 规格说明中无实现细节泄露
## 备注
- 标记为未完成的项目需要在 `/clarify` 或 `/plan` 之前更新规格
b. 运行验证检查:根据每个检查清单项目审查规格:
c. 处理验证结果:
如果所有项目通过:标记检查清单完成并继续步骤 6
如果项目失败(不包括 [需要澄清]):
如果 [需要澄清] 标记残留:
从规格中提取所有 [需要澄清:...] 标记
限制检查:如果超过 3 个标记,只保留 3 个最关键的(按范围/安全/用户体验影响排序),其余做出合理推断
对于每个需要的澄清(最多 3 个),以此格式向用户展示选项:
## 问题 [N]:[主题]
**上下文**:[引用相关规格章节]
**需要了解**:[来自需要澄清标记的具体问题]
**建议答案**:
| 选项 | 答案 | 影响 |
|------|------|------|
| A | [第一个建议答案] | [这对功能意味着什么] |
| B | [第二个建议答案] | [这对功能意味着什么] |
| C | [第三个建议答案] | [这对功能意味着什么] |
| 自定义 | 提供你自己的答案 | [解释如何提供自定义输入] |
**你的选择**:_[等待用户响应]_
关键 - 表格格式:确保 markdown 表格格式正确:
| 内容 | 而不是 |内容||--------|按顺序编号问题(Q1、Q2、Q3 - 最多共 3 个)
在等待响应之前一起展示所有问题
等待用户回复所有问题的选择(例如,"Q1: A, Q2: 自定义 - [详情], Q3: B")
通过将每个 [需要澄清] 标记替换为用户选择或提供的答案来更新规格
所有澄清解决后重新运行验证
d. 更新检查清单:每次验证迭代后,使用当前通过/失败状态更新检查清单文件
报告完成情况,包括分支名称、规格文件路径、检查清单结果以及下一阶段的就绪状态(/clarify 或 /plan)。
注意: 脚本会创建并检出新分支,并在写入之前初始化规格文件。
从用户提示创建此规格时:
合理默认值示例(不要询问这些):