openspec-sync-specs

Merge delta specs from an OpenSpec change into main capability specs.

3|1|Updated Apr 29, 2026
One-click install
npx skills add https://github.com/firstsun-dev/skills --skill openspec-sync-specs-firstsun-dev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/firstsun-dev/skills/tree/main/plugins/spec-driven-development/skills/openspec-sync-specs
Command: npx skills add https://github.com/firstsun-dev/skills --skill openspec-sync-specs-firstsun-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Keeping main capability specs in sync with change proposals is tedious and error-prone when done by hand. This Skill applies the ADDED, MODIFIED, REMOVED, and RENAMED requirement blocks from a change's delta specs to the main specs, without archiving the change. ## Core Features & Use Cases - Intelligent Requirement Merging: Reads each delta spec and merges requirements into the main spec, preserving existing scenarios and content the delta does not mention. - Store-Aware Operation: Discovers registered OpenSpec stores via openspec store list --json and applies --store <id> consistently across all CLI commands. - Safe Capability Retirement: Deletes a main spec only when strict conditions hold (no remaining requirements, valid Purpose, retire_capabilities: true declared), and validates results with openspec validate --specs. - Use Case: After finishing a change that adds scenarios to the user-auth capability, run the sync to update specs/user-auth/spec.md in place while keeping the change active for continued work. ## Quick Start Ask the agent to sync the delta specs from change "add-user-auth" 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?▼

Run the openspec-sync-specs workflow with a change name. It reads the delta specs listed in the change's artifactPaths.specs.existingOutputPaths, merges their requirement changes into the main specs, and validates the result with openspec validate --specs.

How do I update main specs without archiving an OpenSpec change?▼

Use this sync operation instead of openspec archive. It applies the delta spec changes to main specs while leaving the change active, so you can archive later once implementation is complete.

Does openspec-sync-specs work with OpenSpec stores?▼

Yes. If the work lives in a registered store, it runs openspec store list --json to discover store ids and passes --store <id> on all commands that read or write specs and changes, treating the flag as sticky for the workflow.

When does the sync delete a main spec file?▼

A main spec is deleted only when removing requirements leaves no requirement blocks, 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 an existing scenario?▼

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