openspec-sync-specs

Merge delta spec changes into main OpenSpec capability specifications.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/javakishore-veleti/lifting-diary-app --skill openspec-sync-specs-javakishore-veleti
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/javakishore-veleti/lifting-diary-app/tree/main/.qwen/skills/openspec-sync-specs
Command: npx skills add https://github.com/javakishore-veleti/lifting-diary-app --skill openspec-sync-specs-javakishore-veleti

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Keeping main capability 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 scenarios and content in the main spec. - Store-Aware Operation: Discovers registered OpenSpec stores via openspec store list --json and scopes all reads and writes with --store <id> when a store is selected. - Safe Capability Retirement: Deletes a spec.md only when strict conditions hold (no remaining requirements, valid Purpose, retire_capabilities: true marker), and validates results with openspec validate --specs. - Use Case: After finishing a change that adds billing scenarios to an invoices capability, run the sync to merge those delta requirements into the main spec while leaving 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 without archiving the 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?

Select the change by name or let it be inferred from context, then the workflow reads each delta spec from artifactPaths.specs.existingOutputPaths and merges its requirement blocks into the matching main spec. It finishes by running openspec validate --specs to confirm the result.

Does syncing specs archive the OpenSpec change?

No, syncing updates the main specs while the change remains active. You archive separately once implementation is complete, which is the key difference from the openspec archive workflow.

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

Yes, a caller can narrow the sync by naming explicit entries from existingOutputPaths, and only those paths are merged. The selection is never widened back to the full list, and unknown paths are reported rather than silently dropped.

When does OpenSpec delete a main spec file during sync?

A spec.md is deleted only when removing requirements leaves none remaining, the spec is otherwise well-formed with a Purpose, the change declares retire_capabilities: true, and the file resolves inside the real specs root. Otherwise the sync stops and reports the blocking condition.

What happens if a MODIFIED requirement drops existing scenarios?

A MODIFIED block must carry the whole requirement including every surviving scenario, because openspec validate and openspec archive reject deltas that drop scenarios the main spec still has. The merge preserves anything the delta does not mention.