openspec-sync-specs

Merge delta spec changes into main OpenSpec capability specifications.

1|1|Updated Jan 25, 2026
One-click install
npx skills add https://github.com/phuchoang2603/nixos --skill openspec-sync-specs-phuchoang2603
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/phuchoang2603/nixos/tree/main/home/base/cli/skills/openspec-sync-specs
Command: npx skills add https://github.com/phuchoang2603/nixos --skill openspec-sync-specs-phuchoang2603

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, without archiving the change. ## Core Features & Use Cases - Intelligent Merging: Reads each delta spec and merges requirements into main specs while preserving existing scenarios and content not mentioned in the delta. - Change Selection & Validation: Resolves the target change via openspec status and openspec list, then validates the result with openspec validate --specs. - Capability Retirement & Creation: Creates new main spec files for new capabilities and safely retires specs when all requirements are removed under strict guardrails. - Use Case: After finishing a change that adds scenarios to a user-auth delta spec, run the sync to update specs/user-auth/spec.md while keeping the change active for continued work. ## Quick Start Ask the agent to sync the delta specs from a named OpenSpec change 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 OpenSpec delta specs into main specs?▼

Invoke the sync workflow with a change name, or let it infer the change from context. It reads delta specs listed in the change's artifactPaths, merges each requirement 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 in OpenSpec?▼

Syncing updates main specs from delta specs while keeping the change active for further work. Archiving also applies the deltas but then closes and moves the change out of the active set, so sync is used when implementation is still in progress.

Does openspec-sync-specs require the openspec CLI?▼

Yes, the openspec CLI is required. The workflow calls openspec status, list, instructions, and validate to resolve the change context, locate delta spec paths, and validate the merged main specs.

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

Yes, a caller can narrow the sync to an explicit subset of paths from artifactPaths.specs.existingOutputPaths. Only the named delta specs are merged; the rest are left untouched, and the selection is never widened back.

What happens when a REMOVED requirement empties a main spec?▼

The spec file is only deleted when strict retirement conditions hold, including a retire_capabilities marker in the change's .openspec.yaml and a well-formed remaining spec. Otherwise the sync stops for that capability and reports the blocking condition.