openspec-sync-specs

Merge delta spec changes into main OpenSpec specifications.

Updated Sep 16, 2026
One-click install
npx skills add https://github.com/JoeShi/coding-agent-usage-montior --skill openspec-sync-specs-joeshi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/JoeShi/coding-agent-usage-montior/tree/main/.kimi-code/skills/openspec-sync-specs
Command: npx skills add https://github.com/JoeShi/coding-agent-usage-montior --skill openspec-sync-specs-joeshi

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 into main specs while preserving existing scenarios and content not mentioned in the delta. - Store-Aware Operation: Supports registered OpenSpec stores via --store <id> flags and resolves the correct specs root from openspec status output. - 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 proposal like add-codex-cli-support, ask the agent to sync its delta specs so the main specs reflect the new requirements while the change stays active for 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-codex-cli-support 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?

Invoke the openspec-sync-specs skill with a change name, or let it infer the change from context. It reads delta spec paths from openspec status JSON, merges each delta 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 from delta specs while keeping the change active for continued implementation. Archiving also syncs specs but then moves the change into the archive, marking it complete. Use sync when implementation is still in progress.

Does openspec-sync-specs work with OpenSpec stores?

Yes. If the user names a store, the skill runs openspec store list --json to discover registered store ids and passes --store <id> on all spec-reading and spec-writing commands. Without a store, commands act on the nearest local openspec/ root.

When does the sync delete a main spec file?

A spec.md is deleted only when removing requirements leaves no requirement blocks, the spec retains a valid 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.

Why does spec sync fail with a validation error?

Validation fails when merged main specs violate the expected format, such as leftover delta operation headers or dropped scenarios. The skill reports the openspec validate --specs output and does not claim success until validation passes.