openspec-sync-specs

Merge delta spec changes into main OpenSpec capability specifications.

Updated Jun 13, 2026
One-click install
npx skills add https://github.com/anionDevelopment/Epew --skill openspec-sync-specs-aniondevelopment
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/anionDevelopment/Epew/tree/main/.opencode/skills/openspec-sync-specs
Command: npx skills add https://github.com/anionDevelopment/Epew --skill openspec-sync-specs-aniondevelopment

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 to the main specs with intelligent merging, without archiving the change. ## Core Features & Use Cases - Intelligent Requirement Merging: Applies ADDED, MODIFIED, REMOVED, and RENAMED requirement sections from delta specs while preserving untouched content 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 a store is selected. - Safe Capability Retirement: Deletes a capability's spec.md only when strict conditions hold, including the retire_capabilities: true marker, and validates results with openspec validate --specs. - Use Case: After finishing a change that adds scenarios to the billing capability, ask the agent to sync the change so the main billing spec gains the new requirements while the change stays active for implementation. ## Quick Start Ask the agent to sync the delta specs from change "add-billing-invoices" 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 the agent infer it, then the Skill reads each delta spec listed in artifactPaths.specs.existingOutputPaths and merges its ADDED, MODIFIED, REMOVED, and RENAMED requirements into the corresponding main spec. The change stays active afterward.

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

Syncing updates main specs from delta specs while keeping the change active for continued implementation. Archiving also merges the deltas but then closes and moves the change, so sync is used when implementation is not yet complete.

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

Yes. When the user names a store, the Skill runs openspec store list --json to discover store ids and appends --store <id> to all spec and change commands, treating it as sticky for the rest of the workflow.

Can I sync only some delta specs from a change?▼

Yes. A caller can narrow the sync by naming explicit entries from existingOutputPaths, and only those delta specs are merged. The Skill never widens the selection back to the full list and reports named paths that do not exist.

When does syncing delete a capability's main spec file?▼

The spec.md is deleted only when removing requirements leaves no requirement blocks, the spec remains well-formed with a 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.