openspec-sync-specs

Merge incremental specification changes into the main specification.

1|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/HerbertGao/qsl-cardhub --skill openspec-sync-specs-herbertgao
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/HerbertGao/qsl-cardhub/tree/main/.cursor/skills/openspec-sync-specs
Command: npx skills add https://github.com/HerbertGao/qsl-cardhub --skill openspec-sync-specs-herbertgao

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill synchronizes incremental specifications with the main specification, enabling teams to merge changes without manually reconciling divergent documents and reducing version drift.

Core Features & Use Cases

  • Intelligent merge: reads incremental specs from openspec/changes/<name>/specs and merges changes into openspec/specs for the affected capabilities, preserving existing content when not specified.
  • Change-driven workflow: supports creating a new main spec if a capability does not yet exist and applies additions, modifications, removals, and renames according to incremental directives.
  • Safety and traceability: preserves untouched sections, maintains a changelog-like trace of applied changes, and prompts for clarification if change names are ambiguous.

Quick Start

  • List available incremental changes: openspec-cn list --json
  • Synchronize a chosen change: openspec-cn sync --change <change-name>

Frequently Asked Questions about openspec-sync-specs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I merge incremental specs into a main spec without losing existing content?

Merging incremental specs into a main spec preserves existing content by reading changes from openspec/changes/<name>/specs and applying only additions, modifications, removals, and renames to the affected capabilities in openspec/specs.

What is the best way to synchronize incremental specifications across different capabilities?

Synchronizing incremental specifications across capabilities is handled by enforcing deterministic merge rules for each change directive, preserving untouched sections, and prompting for clarification when change names are ambiguous.

How does spec synchronization handle creating a new capability that does not yet exist?

Spec synchronization supports a change-driven workflow that creates a new main spec automatically when a targeted capability does not yet exist, applying the incremental directives without archiving the original documents.

Can I apply modifications, removals, and renames deterministically during a spec merge?

Applying modifications, removals, and renames during a spec merge is executed deterministically according to incremental directives, maintaining a changelog-like trace of applied changes for safety and traceability.

What happens when change names are ambiguous during incremental spec synchronization?

When change names are ambiguous during synchronization, the process pauses and prompts for clarification to ensure the correct incremental specifications are merged into the intended main spec capabilities.

Do I need to manually reconcile divergent spec documents to prevent version drift?

Manual reconciliation of divergent spec documents is unnecessary because intelligent merging reads incremental specs and applies changes automatically to the main specification, reducing version drift while preserving untouched content.