About openspec-sync
openspec-sync is a skill for merging a change’s delta specs into OpenSpec’s main specs directory without archiving that change. It is intended for active, long-running or parallel changes that need their specification updates reviewed separately.
Key features
- 01Merge delta specs into main specs
- 02Preserve unchanged specification content
- 03Keep the change active
- 04Review merged specifications
Use cases
- 01Sync specs during a long-running change
- 02Update base specs for parallel changes
- 03Review a merge before archiving
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ full-stack-skills/ openspec-skills --skill openspec-syncAfter installing, type/openspec-syncin Claude Code to confirm it loaded.
Bundled filesagents/openai.yaml
Details
From the project READMEOpenSpec Sync Skill
Use /opsx:sync to merge delta specs from a change into the main openspec/specs/ directory without archiving the change. The change remains active after sync. This is optional — openspec-archive handles syncing automatically when archiving.
When to Use
- Long-running change where the user wants specs in main before archiving.
- Multiple parallel changes need updated base specs.
- The user wants to review/preview the merge separately before archiving.
Prerequisites
- An active change with delta specs in
specs/.
Workflow
-
Run sync
/opsx:sync— sync the current/inferred change./opsx:sync <change-name>— sync a specific change.
-
What happens
- Reads delta specs from the change folder.
- Parses ADDED / MODIFIED / REMOVED sections.
- Merges changes into
openspec/specs/. - Preserves existing content not mentioned in the delta.
- The change remains active (not archived).
-
Verify
- Review the updated specs in
openspec/specs/.
- Review the updated specs in
Outputs
- Updated
openspec/specs/with delta changes merged. - Change remains active in
openspec/changes/<name>/.
Next Steps
- Continue working on the change, or use openspec-archive when done.
Troubleshooting
- "No delta specs": The change has no
specs/directory; create specs via openspec-continue or openspec-ff first. - Conflicts with other changes: Sync handles merging at the requirement level; if two changes modify the same requirement, the latest sync wins.
References
Comments
Markdown supported