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
Page-Codegen 分阶段执行技能,支持 step/auto 两种模式,遵循“原始模板只读、仅修改 AI 副本”。
执行 OpenSpec 变更中的任务。当用户想要开始实现、继续实现或完成任务时使用。
在实验性工作流中归档已完成的变更。当用户想要在实现完成后最终确定并归档变更时使用。
批量归档多个已完成的变更。当归档多个并行变更时使用。
通过创建下一个工件继续处理 OpenSpec 变更。当用户想要推进变更、创建下一个工件或继续工作流时使用。
进入探索模式 - 深入思考想法、调查问题、明确需求。当用户想要在变更之前或期间深入思考某事时使用。
| name | openspec-sync-specs |
| description | 将变更中的增量规格同步到主规格。当用户想要用增量规格中的更改更新主规格而不归档变更时使用。 |
| license | MIT |
| compatibility | Requires openspec CLI. |
| metadata | {"author":"openspec","version":"1.0","generatedBy":"1.2.0"} |
Sync delta specs from a change to main specs.
This is an agent-driven operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
Steps
If no change name provided, prompt for selection
Run openspec list --json to get available changes. Use the AskUserQuestion tool to let the user select.
Show changes that have delta specs (under specs/ directory).
IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.
Find delta specs
Look for delta spec files in openspec/changes/<name>/specs/*/spec.md.
Each delta spec file contains sections like:
## ADDED Requirements - New requirements to add## MODIFIED Requirements - Changes to existing requirements## REMOVED Requirements - Requirements to remove## RENAMED Requirements - Requirements to rename (FROM:/TO: format)If no delta specs found, inform user and stop.
For each delta spec, apply changes to main specs
For each capability with a delta spec at openspec/changes/<name>/specs/<capability>/spec.md:
a. Read the delta spec to understand the intended changes
b. Read the main spec at openspec/specs/<capability>/spec.md (may not exist yet)
c. Apply changes intelligently:
ADDED Requirements:
MODIFIED Requirements:
REMOVED Requirements:
RENAMED Requirements:
d. Create new main spec if capability doesn't exist yet:
openspec/specs/<capability>/spec.mdShow summary
After applying all changes, summarize:
Delta Spec Format Reference
## 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`
Key Principle: Intelligent Merging
Unlike programmatic merging, you can apply partial updates:
Output On Success
## 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.
Guardrails