实施 OpenSpec 变更中的任务。当用户想要开始实施、继续实施或处理任务时使用。
实施 OpenSpec 变更中的任务。
输入:可选择指定变更名称。如果省略,检查是否可以从对话上下文中推断。如果模糊或不明确,必须提示可用的变更。
步骤
选择变更
如果提供了名称,使用它。否则:
openspec list --json 获取可用变更,并使用 AskUserQuestion 工具 让用户选择始终宣布:"正在使用变更:<name>" 以及如何覆盖(例如,/opsx:apply <other>)。
检查状态以了解 Schema
openspec status --change "<name>" --json
解析 JSON 以了解:
schemaName:正在使用的工作流(例如,"spec-driven")获取实施指令
openspec instructions apply --change "<name>" --json
这返回:
处理状态:
state: "blocked"(缺少产物):显示消息,建议使用 openspec-continue-changestate: "all_done":祝贺,建议归档阅读上下文文件
阅读实施指令输出中 contextFiles 列出的文件。
文件取决于正在使用的 Schema:
显示当前进度
显示:
实施任务(循环直到完成或阻塞)
对于每个待处理任务:
- [ ] → - [x]暂停如果:
完成或暂停时,显示状态
显示:
实施期间的输出
## 正在实施:<change-name> (schema: <schema-name>)
正在处理任务 3/7:<task description>
[...实施中...]
✓ 任务完成
正在处理任务 4/7:<task description>
[...实施中...]
✓ 任务完成
完成时的输出
## 实施完成
**变更:** <change-name>
**Schema:** <schema-name>
**进度:** 7/7 任务完成 ✓
### 本次会话完成
- [x] Task 1
- [x] Task 2
...
所有任务完成!准备归档此变更。
暂停时的输出(遇到问题)
## 实施暂停
**变更:** <change-name>
**Schema:** <schema-name>
**进度:** 4/7 任务完成
### 遇到的问题
<description of the issue>
**选项:**
1. <option 1>
2. <option 2>
3. 其他方法
你想怎么做?
护栏
流畅的工作流集成
此技能支持 "对变更的操作" 模型: