with one click
openspec-sync-specs
将某个变更的增量规范同步到主规范。适用于只想更新主规范、但暂不归档变更的情况。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
将某个变更的增量规范同步到主规范。适用于只想更新主规范、但暂不归档变更的情况。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | openspec-sync-specs |
| description | 将某个变更的增量规范同步到主规范。适用于只想更新主规范、但暂不归档变更的情况。 |
| license | MIT |
| compatibility | Requires openspec CLI. |
| metadata | {"author":"openspec","version":"1.0","generatedBy":"1.1.1"} |
将变更中的增量规范同步到主规范。
这是一个代理驱动的操作——你会读取增量规范并直接编辑主规范来应用变更。这样可以进行智能合并(例如新增一个场景而无需复制整条需求)。
输入:可选指定变更名称。如果省略,先从对话上下文判断能否推断;若模糊或有歧义,必须提示用户选择可用变更。
步骤
未提供变更名称时,提示选择
运行 openspec list --json 获取可用变更。使用 AskUserQuestion 工具让用户选择。
仅展示包含增量规范(specs/ 目录下)的变更。
重要:不要猜测或自动选择,必须让用户做选择。
查找增量规范
查找 openspec/changes/<name>/specs/*/spec.md 下的增量规范文件。
每个增量规范包含类似章节:
## ADDED Requirements - 新增需求## MODIFIED Requirements - 修改需求## REMOVED Requirements - 删除需求## RENAMED Requirements - 重命名需求(FROM/TO 格式)若找不到增量规范,告知用户并停止。
对每个增量规范应用到主规范
对每个 capability 的增量规范 openspec/changes/<name>/specs/<capability>/spec.md:
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: New Feature
The system SHALL do something new.
#### Scenario: Basic case
- **WHEN** user does X
- **THEN** system does Y
## MODIFIED Requirements
### Requirement: Existing Feature
#### Scenario: New scenario to add
- **WHEN** user does A
- **THEN** system does B
## REMOVED Requirements
### Requirement: Deprecated Feature
## RENAMED Requirements
- FROM: `### Requirement: Old Name`
- TO: `### Requirement: New Name`
关键原则:智能合并
不同于机械合并,你可以做局部更新:
成功输出示例
## Specs Synced: <change-name>
Updated main specs:
**<capability-1>**:
- Added requirement: "New Feature"
- Modified requirement: "Existing Feature" (added 1 scenario)
**<capability-2>**:
- Created new spec file
- Added requirement: "Another Feature"
Main specs are now updated. The change remains active - archive when implementation is complete.
护栏
实现 OpenSpec 变更中的任务。当用户希望开始实现、继续实现或逐项完成任务时使用。
在实验性工作流中归档已完成的变更。适用于实现完成后的收尾归档。
批量归档多个已完成变更。适用于并行完成多个变更后的集中归档。
继续推进一个 OpenSpec 变更,创建下一个工件。当用户希望推进变更、生成下一个工件或继续流程时使用。
进入探索模式——作为思考伙伴帮助探索想法、调查问题、澄清需求。当用户希望在变更前或过程中先理清思路时使用。
快速创建 OpenSpec 工件。当用户希望跳过逐个工件、一次性生成所有实现所需工件时使用。