openspec-sync-specs

Merge delta spec changes into main OpenSpec capability specifications.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/hpelaez73/elprado-backend --skill openspec-sync-specs-hpelaez73
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/hpelaez73/elprado-backend/tree/main/.trae/skills/openspec-sync-specs
Command: npx skills add https://github.com/hpelaez73/elprado-backend --skill openspec-sync-specs-hpelaez73

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, without archiving the change. ## Core Features & Use Cases - Intelligent Merging: Reads each delta spec and merges requirements into main specs, preserving existing scenarios and content the delta does not mention. - Change Selection & Store Support: Infers the change from context, lists active changes when ambiguous, and supports registered OpenSpec stores via --store <id>. - Validation & Safe Retirement: Runs openspec validate --specs after syncing and only deletes a retired capability's spec.md when strict conditions are met. - Use Case: After finishing a change that adds a new scenario to the user-auth capability, ask the agent to sync the delta specs so the main spec reflects the update while the change stays active. ## Quick Start Ask the agent to sync the delta specs from your current OpenSpec change into the main specs, optionally naming the change explicitly.

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 OpenSpec delta specs into main specs?

Invoke the sync workflow with an optional change name; it reads delta specs from the change's artifactPaths.specs.existingOutputPaths and merges ADDED, MODIFIED, REMOVED, and RENAMED requirements into the main specs, then validates with openspec validate --specs.

How does OpenSpec handle modified requirements during a sync?

A MODIFIED block carries the whole requirement including all surviving scenarios. The merge adds new scenarios, updates existing ones, and preserves any main-spec content the delta does not mention, keeping the original order.

Does syncing specs archive the OpenSpec change?

No. Syncing updates the main specs while the change remains active. You archive separately with openspec archive once implementation is complete.

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. Named paths not present in the list are reported and the sync stops rather than silently dropping them.

When does OpenSpec delete a main spec during sync?

A spec.md 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.