openspec-sync-specs

Merge delta specifications from openspec/changes into openspec/specs.

113|19|Updated Apr 8, 2025
One-click install
npx skills add https://github.com/goern/forgejo-mcp --skill openspec-sync-specs-goern
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-sync-specs
Source: https://github.com/goern/forgejo-mcp/tree/main/.claude/skills/openspec-sync-specs
Command: npx skills add https://github.com/goern/forgejo-mcp --skill openspec-sync-specs-goern

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables teams to synchronize updates from delta specifications into the primary OpenSpec definitions, ensuring changes are applied without losing existing work and reducing manual merge effort.

Core Features & Use Cases

  • Intelligent Delta Merging: reads delta specs from openspec/changes and merges them into the main specs, preserving content not mentioned in the delta.
  • Multiple Change Handling: supports ADDED, MODIFIED, REMOVED, and RENAMED requirements and applies changes with intent-aware merging.
  • Idempotent Updates: running the operation repeatedly yields the same updated main specs without duplication or rollback.
  • Use Case: when a delta spec updates or adds a requirement, this Skill merges it into openspec/specs, creating or updating the main spec as needed.

Quick Start

  • List available changes: run openspec list --json to view delta changes under openspec/changes.
  • Apply a change: run the sync tool against the desired change name (e.g., openspec-sync --change <name>).
  • Review results: inspect openspec/specs to verify updated main specs and confirm no unintended content was altered.

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 delta specifications into main specs without losing existing content?

Delta specification merging works by reading changes from openspec/changes and applying them to openspec/specs. It handles ADDED, MODIFIED, REMOVED, and RENAMED requirements with intent-aware logic, preserving existing content not mentioned in the delta.

How do I apply a specific OpenSpec change to my main specs?

Idempotent merging means running the operation repeatedly yields the same updated main specs without duplication or rollback. This ensures consistent results when synchronizing delta specifications into the primary OpenSpec definitions.

Does OpenSpec sync support renaming and removing requirements in delta specs?

Yes, OpenSpec sync supports ADDED, MODIFIED, REMOVED, and RENAMED requirement sections. It applies changes with intent-aware merging logic to accurately update main specs based on the delta specification's declared operations.

What happens if I run the delta spec merge multiple times?

Running the delta spec merge multiple times is safe because the operation is idempotent. Re-running yields the same updated main specs without duplication or rollback, ensuring consistent synchronization results.

How do I list available delta changes before merging them into OpenSpec specs?

To list available delta changes, run openspec list --json. This displays delta changes under openspec/changes, allowing you to review and select the desired change name before applying it to the main specs.

Can I use OpenSpec sync for codebase maintenance across multiple requirement changes?

Yes, OpenSpec sync is designed for codebase maintenance and supports multiple change handling. It reads delta specs from openspec/changes and merges them into openspec/specs, applying each change with intelligent, intent-aware merging.