en un clic
openspec-sync-specs
将变更中的增量规范同步到主规范。当用户希望将增量规范的变更更新到主规范中(而不归档变更)时使用。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
将变更中的增量规范同步到主规范。当用户希望将增量规范的变更更新到主规范中(而不归档变更)时使用。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
| name | openspec-sync-specs |
| description | 将变更中的增量规范同步到主规范。当用户希望将增量规范的变更更新到主规范中(而不归档变更)时使用。 |
| allowed-tools | Bash(openspec:*) |
| license | MIT |
| compatibility | 需要 openspec-cn CLI。 |
| metadata | {"author":"openspec","version":"1.0","generatedBy":"1.6.0"} |
将变更中的增量规范同步到主规范。
这是一个代理驱动的操作——你将读取增量规范并直接编辑主规范来应用变更。这允许智能合并(例如,添加一个场景而不复制整个需求)。
Store 选择: 如果用户指定了某个 Store(Store 是在本机注册的独立 OpenSpec 仓库),或者工作位于某个 Store 中,请运行 openspec-cn store list --json 来查找已注册的 Store ID,然后在读写规范和变更的命令上传递 --store <id> 参数(new change、status、instructions、list、show、validate、archive、doctor、context)。其他命令不需要此参数。命令输出的提示信息中已包含该参数;请在后续操作中保留它。如果没有指定 Store,命令将对最近的本地 openspec/ 根目录生效。
输入:可选指定变更名称。如果省略,检查是否可以从对话上下文推断。如果模糊或不明确,你必须提示用户选择可用变更。
步骤
如果未提供变更名称,提示用户选择
运行 openspec-cn list --json 获取可用变更。使用 AskUserQuestion tool 让用户选择。
显示具有增量规范的变更(位于 specs/ 目录下)。
重要:不要猜测或自动选择变更。始终让用户选择。
解析变更上下文
运行:
openspec-cn status --change "<name>" --json
查找增量规范
使用状态 JSON 中的 artifactPaths.specs.existingOutputPaths 作为增量规范文件列表。
每个增量规范文件包含以下章节:
## ADDED Requirements - 要添加的新需求## MODIFIED Requirements - 对现有需求的修改## REMOVED Requirements - 要删除的需求## RENAMED Requirements - 要重命名的需求(FROM:/TO: 格式)如果未找到增量规范,通知用户并停止。
对每个增量规范,将变更应用到主规范
对 CLI 返回的每个仓库本地能力增量规范路径:
a. 读取增量规范以理解预期的变更
b. 读取主规范位于 openspec/specs/<capability>/spec.md(可能尚不存在)
c. 智能应用变更:
ADDED Requirements:
MODIFIED Requirements:
REMOVED Requirements:
RENAMED Requirements:
d. 如果能力尚不存在,创建新的主规范:
openspec/specs/<capability>/spec.md显示摘要
应用所有变更后,总结:
增量规范格式参考
## ADDED Requirements
### Requirement: 新功能
系统应当执行某些新操作。
#### Scenario: 基本场景
- **WHEN** 用户执行 X
- **THEN** 系统执行 Y
## MODIFIED Requirements
### Requirement: 现有功能
#### Scenario: 要添加的新场景
- **WHEN** 用户执行 A
- **THEN** 系统执行 B
## REMOVED Requirements
### Requirement: 已废弃的功能
## RENAMED Requirements
- FROM: `### Requirement: 旧名称`
- TO: `### Requirement: 新名称`
关键原则:智能合并
与程序化合并不同,你可以应用部分更新:
成功输出
## 规范已同步:<change-name>
已更新主规范:
**<capability-1>**:
- 新增需求:"新功能"
- 修��需求:"现有功能"(新增 1 个场景)
**<capability-2>**:
- 创建新规范文件
- 新增需求:"另一个功能"
主规范现已更新。变更仍保持活跃——实现完成后归档即可。
护栏
从 OpenSpec 变更中实现任务。当用户想开始实现、继续实现或处理任务时使用。
在实验性工作流中归档已完成的变更。当用户想在实现完成后定稿并归档变更时使用。
进入探索模式 - 一个用于探索想法、调查问题、澄清需求的思考伙伴。当用户想在变更之前或期间先思考一番时使用。
一步生成所有产出物来提议新变更。当用户想快速描述要构建的内容并获得包含设计、规范和任务的完整提案时使用。
Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.