SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:从 OpenSpec 变更中实现任务,适用于用户想开始实现、继续实现或逐项推进任务的场景。

主要能力:选择变更(可指定名称,或从对话上下文推断、仅一个活跃变更时自动选择,歧义时用 openspec list --json 让用户选择);用 openspec status --change "<name>" --json 了解 schema、planningHome、changeRoot、actionContext 及任务所在产物;用 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度、任务列表与动态指令。

使用方式:若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 获取已注册 store id,再在读取或写入 specs 与 changes 的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,并在后续流程中保持该选择;其他命令不接受该标志。无 store 时命令作用于最近的本地 openspec/ 根目录。开始前读取 apply 指令输出中 contextFiles 列出的每个文件(spec-driven 通常为 proposal、specs、design、tasks,其他 schema 以 CLI 输出为准)。随后逐项实现:显示当前任务、做最小且聚焦的代码改动、在任务文件中把 - [ ] 改为 - [x],完成后立即更新复选框,循环直到完成或受阻。

状态处理:state 为 blocked(缺少产物)时提示使用 openspec-continue-change;state 为 all_done 时祝贺并建议归档;否则进入实现。

适用场景:按 OpenSpec 变更推进实现、跨会话继续实现、与其他动作交错执行。

限制:任务不清晰、实现暴露设计问题、遇到错误或阻塞、用户中断时应暂停并等待指引,不要猜测;context 与 operationGuidance 是提示级行为约定,不能作为任务完成的证据,也不能绕过 blocked 状态;与内置指令、用户明确选择或 CLI 控制值冲突时应报告冲突并保留控制值;不要将运行时上下文或操作指引原样复制进实现文件或规划产物。