关于 open-spec-propose
open-spec-propose 是一项工作流技能,可将变更需求整理为提案、设计和任务文档,供采用 OpenSpec 工作流的项目使用。它负责准备实现材料,实际编码交由 open-spec-apply 技能。
主要功能
- 01生成 kebab-case 变更名称
- 02创建提案、设计和任务文件
- 03检查材料是否适合实现
- 04区分临时材料与规范规格
适用场景
- 01记录变更需求的目标与范围
- 02在编码前规划架构和实施步骤
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aircury/ ai-framework --skill open-spec-propose安装后在 Claude Code 中输入/open-spec-propose确认已加载。
详细介绍
提出一项新变更并创建可选的工作文档。
我会创建一项变更,并包含以下文档:
- proposal.md(内容与原因)
- design.md(实现方式)
- tasks.md(实施步骤)
准备好实施时,请使用 open-spec-apply 技能
输入:用户的请求应包含一个变更名称(kebab-case)或对想要构建内容的描述。
步骤
-
如果没有提供明确输入,请询问用户想要构建什么
使用 AskUserQuestion 工具(开放式提问,不提供预设选项)询问:
“你想开展什么变更?请描述你想构建或修复的内容。”
根据用户的描述,提炼出一个 kebab-case 名称(例如,“添加用户身份验证” →
add-user-auth)。重要:在了解用户想要构建什么之前,不要继续。
-
创建变更目录
创建
specs/changes/<name>/。specs/changes/已加入 gitignore。它是可选的工作流脚手架。只有specs/features/是规范且受版本控制的。 -
创建工作文档
使用 TodoWrite 工具跟踪进度。
创建:
proposal.md:问题、目标、非目标、范围design.md:架构、决策、权衡、边界tasks.md:带复选框的具体实施步骤
文档规则:
- 如有助于交付,可结合技术细节编写。
- 确保内容符合
AGENTS.md和已启用的能力文档。 - 将
specs/features/作为规范行为基准。 - 如果变更会修改现有行为,请引用受影响的规范。
- 如果用户已经提供了足够的细节,直接编写文档,不要继续追问。
-
确保变更已准备好实施
完成前,请确认:
proposal.md说明了变更的原因。design.md说明了预期方案和边界。tasks.md包含按顺序排列的执行计划。- 变更名称和文档足够具体,
open-spec-apply技能可以据此执行。
输出
创建完所有文档后,总结:
- 变更名称和位置
- 创建的文档列表及简要说明
- 准备情况:“所有文档均已创建!可以开始实施。”
- 提示:“使用
open-spec-apply技能实施。完成后,使用open-spec-complete技能同步specs/features/并清理这些临时文档。”
注意事项
- 除非用户明确要求减少文档,否则必须创建全部三份核心文档
- 如果上下文存在关键性歧义,请询问用户;但优先做出合理判断,保持进度
- 如果该名称的变更已存在,请询问用户是要继续处理,还是创建一个新的变更
- 写入后请确认每份文档都存在,再继续下一步
- 切勿将工作文档视为规范文档
评论
支持 Markdown