openspec-sync-specs

Merge delta spec changes into main OpenSpec specifications without archiving the change.

7|Updated Jun 5, 2026
One-click install
npx skills add https://github.com/Printaga/PiLot --skill openspec-sync-specs-printaga
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/Printaga/PiLot/tree/main/.agents/skills/openspec-sync-specs
Command: npx skills add https://github.com/Printaga/PiLot --skill openspec-sync-specs-printaga

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) to main specs through intelligent merging, so requirements stay accurate without archiving the change first. ## Core Features & Use Cases - Intelligent Requirement Merging: Applies ADDED, MODIFIED, REMOVED, and RENAMED requirement blocks from delta specs into main specs while preserving untouched content and scenario order. - Store-Aware Operation: Discovers registered OpenSpec stores via openspec store list --json and scopes all reads and writes with --store <id> when working across repositories. - Safe Capability Retirement: Deletes a capability's spec.md 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 feature change with delta specs under openspec/changes/, run the sync to update openspec/specs/ main specs while keeping the change active for continued implementation. ## Quick Start Ask the agent to sync the delta specs from a named change into the main specs, for example: "Sync the specs from the add-user-auth change into the main specs."

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 each requirement block into the corresponding 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 also merges delta specs but then closes and moves the change, so sync is the right choice when implementation is still in progress.

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

Yes. When a store is named or the work lives in one, it runs openspec store list --json to find the store id and appends --store <id> to every spec-reading or spec-writing command for the rest of the workflow.

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

Deletion happens only when all retirement conditions hold: no requirement blocks remain, the spec is 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 blocker.

What happens if the delta spec modifies a requirement partially?▼

The merge is intelligent rather than a copy. MODIFIED blocks carry the full requirement including surviving scenarios, and any main-spec content not mentioned in the delta is preserved in its existing order.