| name | opsx-aone-apply |
| description | 实施已批准的 OpenSpec 变更。当用户准备好实施已创建的变更提案时使用。 |
| license | MIT |
| compatibility | Requires openspec CLI. |
| metadata | {"author":"openspec","version":"1.0","generatedBy":"0.6.7"} |
实施 OpenSpec 变更。
重要:所有实施和文档,必须使用中文。
重要:如果被开启了 subagent 能力,要尽量使用多个 subagent 并行处理不同任务,以提高效率。例如可以并行处理独立的任务、并行分析不同模块的代码等。
输入:可选指定变更名称。如果省略,检查是否可以从对话上下文中推断。如果模糊或歧义,必须提示选择可用变更。
步骤
-
选择变更
如果提供了名称,使用它。否则:
- 如果用户在对话中提到了变更,从上下文推断
- 如果只有一个活跃的变更,自动选择
- 如果模糊,运行
openspec-aone list --json 获取可用变更并使用 AskUserQuestion tool 让用户选择
始终声明:"正在使用变更:<名称>" 以及如何覆盖(例如 /opsx-aone-apply <其他变更>)。
-
检查状态以了解 schema
openspec-aone status --change "<名称>" --json
解析 JSON 以了解:
schemaName: 使用的工作流(例如 "spec-driven")
- 哪个 artifact 包含任务(通常是 "tasks",检查状态确认)
-
获取应用指令
openspec-aone instructions apply --change "<名称>" --json
返回:
- 上下文文件路径(因 schema 而异 - 可能是 proposal/specs/design/tasks 或 spec/tests/implementation/docs)
- 进度(总计、已完成、剩余)
- 带状态的任务列表
- 基于当前状态的动态指令
处理状态:
- 如果
state: "blocked"(缺少 artifact):显示消息,建议使用 /opsx-aone-continue
- 如果
state: "all_done":祝贺,建议归档
- 否则:继续实施
-
阅读上下文文件
阅读应用指令输出中 contextFiles 列出的文件。
文件取决于使用的 schema:
- spec-driven: proposal, specs, design, tasks
- 其他 schema:遵循 CLI 输出的 contextFiles
-
显示当前进度
显示:
- 使用的 schema
- 进度:"N/M 个任务已完成"
- 剩余任务概览
- CLI 的动态指令
-
实施任务(循环直到完成或阻塞)
对于每个待处理的任务:
- 显示正在处理哪个任务
- 进行所需的代码变更
- 保持变更最小且聚焦
- 在任务文件中标记任务完成:
- [ ] → - [x]
- 继续下一个任务
暂停条件:
- 任务不明确 → 请求澄清
- 实施揭示了设计问题 → 建议更新 artifact
- 遇到错误或阻塞 → 报告并等待指导
- 用户中断
-
完成或暂停时显示状态
显示:
- 本次会话完成的任务
- 总体进度:"N/M 个任务已完成"
- 如果全部完成:建议归档
- 如果暂停:解释原因并等待指导
实施中的输出示例
## 正在实施:<变更名称>(schema:<schema名称>)
正在处理任务 3/7:<任务描述>
[...正在实施...]
✓ 任务完成
正在处理任务 4/7:<任务描述>
[...正在实施...]
✓ 任务完成
完成时的输出示例
## 实施完成
**变更:** <变更名称>
**Schema:** <schema名称>
**进度:** 7/7 个任务完成 ✓
### 本次会话完成
- [x] 任务 1
- [x] 任务 2
...
所有任务完成!准备归档此变更。
运行 /opsx-aone-archive 进行归档。
暂停时的输出示例(遇到问题)
## 实施已暂停
**变更:** <变更名称>
**Schema:** <schema名称>
**进度:** 4/7 个任务完成
### 遇到的问题
<问题描述>
**选项:**
1. <选项 1>
2. <选项 2>
3. 其他方法
您想怎么做?
Guardrails
- 持续处理任务直到完成或阻塞
- 始终在开始前阅读上下文文件(从应用指令输出中获取)
- 如果任务模糊,在实施前暂停并询问
- 如果实施揭示问题,暂停并建议更新 artifact
- 保持代码变更最小且限定在每个任务范围内
- 完成每个任务后立即更新任务复选框
- 遇到错误、阻塞或不明确需求时暂停 - 不要猜测
- 使用 CLI 输出的 contextFiles,不要假设特定文件名
流畅工作流集成
此技能支持"变更上的操作"模式:
- 可随时调用:在所有 artifact 完成之前(如果任务存在)、部分实施之后、与其他操作交错
- 允许 artifact 更新:如果实施揭示设计问题,建议更新 artifact - 不是阶段锁定的,流畅地工作
使用 Subagent 的建议
如果被开启了 subagent 能力:
- 可以并行处理独立的任务(如果它们不冲突)
- 一个 subagent 可以分析现有代码结构
- 一个 subagent 可以研究需要修改的文件
- 一个 subagent 可以实施具体变更
- 主 agent 负责协调和验证结果