openspec-sync-specs

Merge delta spec changes into main OpenSpec capability specifications.

Updated Feb 16, 2026
One-click install
npx skills add https://github.com/GQAdonis/artifact-refiner-skill --skill openspec-sync-specs-gqadonis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/GQAdonis/artifact-refiner-skill/tree/main/.kimi-code/skills/openspec-sync-specs
Command: npx skills add https://github.com/GQAdonis/artifact-refiner-skill --skill openspec-sync-specs-gqadonis

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 merging, without archiving the change. ## Core Features & Use Cases - Intelligent Requirement Merging: Applies ADDED, MODIFIED, REMOVED, and RENAMED requirement blocks from delta specs while preserving untouched content and scenario order in main specs. - Store-Aware Operation: Discovers registered OpenSpec stores via openspec store list --json and scopes all reads and writes with --store <id> when working outside the local repository. - Safe Capability Retirement: Deletes a capability's spec.md only when strict conditions hold (empty requirements, valid Purpose, retire_capabilities: true marker), and validates results with openspec validate --specs. - Use Case: After finishing a change that adds billing invoice requirements, run the sync to merge those delta requirements into the main specs/billing/invoices/spec.md while keeping the change active for continued work. ## Quick Start Ask the assistant to sync the delta specs from a named OpenSpec change into the main specs, for example by saying "sync the specs from the add-billing-invoices change".

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 to main specs in OpenSpec?

Invoke the sync workflow with a change name, or let it infer the change from context. It reads delta spec paths from the status JSON, merges requirement changes into each main spec, then runs openspec validate --specs to confirm the result.

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

Syncing updates main specs while keeping the change active for continued work. Archiving performs the same merge but also closes out the change, so sync is used when implementation is still in progress.

Does openspec-sync-specs work with OpenSpec stores?

Yes. It runs openspec store list --json to discover registered stores and appends --store <id> to all spec-reading and spec-writing commands, so delta and main specs resolve inside the selected store rather than the local repository.

When does the sync delete a capability's spec.md file?

Deletion happens only when removing requirements leaves no requirement blocks, the spec retains a valid Purpose section, the change declares retire_capabilities: true, and the file resolves inside the real specs root. Otherwise the sync stops and reports the blocking condition.

Why does the sync report no delta specs found?

The workflow uses only artifactPaths.specs.existingOutputPaths from the status JSON as the source of delta specs. If that list is missing or empty, it stops rather than inferring delta specs from other artifacts.