openspec-sync-specs

Merge delta spec changes into main OpenSpec specifications.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/ssttkkl/finance-tracker --skill openspec-sync-specs-ssttkkl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/ssttkkl/finance-tracker/tree/main/.agents/skills/openspec-sync-specs
Command: npx skills add https://github.com/ssttkkl/finance-tracker --skill openspec-sync-specs-ssttkkl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Keeping main specifications in sync with change proposals is tedious and error-prone when done by hand. This Skill applies delta specs (ADDED, MODIFIED, REMOVED, RENAMED requirements) from an OpenSpec change directly into the main specs with intelligent, partial merging, without archiving the change. ## Core Features & Use Cases - Intelligent Requirement Merging: Applies ADDED, MODIFIED, REMOVED, and RENAMED requirement sections from delta specs into main specs while preserving untouched content. - Store-Aware Operation: Discovers registered OpenSpec stores via openspec store list --json and targets the correct specs root rather than a hardcoded path. - Guarded Writes: Fetches artifact rules once before writing, honors caller-narrowed delta subsets, and stops on invalid instruction responses. - Use Case: After finishing a change proposal that adds a billing requirement, run the sync to update the main billing spec with the new requirement and scenarios while leaving the change active for implementation. ## Quick Start Ask the assistant to sync the delta specs from a named change into the main specs, for example: sync the specs from my add-billing change into the main specs.

Frequently Asked Questions about openspec-sync-specs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync delta specs into main specs with OpenSpec?

Run the sync workflow with a change name; it reads the delta specs listed in the status JSON and merges their ADDED, MODIFIED, REMOVED, and RENAMED requirements into the main specs under the planning root. The change stays active afterward.

What is the difference between syncing specs and archiving a change?

Syncing updates main specs while keeping the change active for continued implementation. Archiving also syncs specs but then closes the change; use sync when implementation is not yet complete.

Does openspec sync-specs require the openspec CLI?

Yes, the workflow depends on the openspec CLI for status, store listing, and artifact instructions. It uses `openspec status --change <name> --json` to locate delta specs and the main specs root.

Can I sync only some delta specs instead of all of them?

Yes, you can name an explicit subset of delta spec paths to sync. The workflow syncs only the named paths, leaves the rest untouched, and reports an error if a named path is not in the change's existing output paths.

What happens if a change has no delta specs to sync?

The workflow checks `artifactPaths.specs.existingOutputPaths` in the status JSON. If it is missing or empty, it reports that there are no delta specs to sync and stops without writing any main spec.