Full-stack-skills openspec-sync
Sync delta specs from a change into main specs using `/opsx:sync`, without archiving the change. Use when the user says "sync specs", "merge specs to main", "/opsx:sync", or needs to update main specs mid-change.
install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/openspec-skills/openspec-sync" ~/.claude/skills/partme-ai-full-stack-skills-openspec-sync && rm -rf "$T"
manifest:
skills/openspec-skills/openspec-sync/SKILL.mdsource content
OpenSpec Sync Skill
Use
to merge delta specs from a change into the main /opsx:sync
openspec/specs/ directory without archiving the change. The change remains active after sync. This is optional — openspec-archive handles syncing automatically when archiving.
When to Use
- Long-running change where the user wants specs in main before archiving.
- Multiple parallel changes need updated base specs.
- The user wants to review/preview the merge separately before archiving.
Prerequisites
- An active change with delta specs in
.specs/
Workflow
-
Run sync
— sync the current/inferred change./opsx:sync
— sync a specific change by name./opsx:sync add-dark-mode
-
What happens
- Reads delta specs from the change folder.
- Parses ADDED / MODIFIED / REMOVED sections.
- Merges changes into
.openspec/specs/ - Preserves existing content not mentioned in the delta.
- The change remains active (not archived).
-
Verify
- Review the updated specs in
.openspec/specs/
- Review the updated specs in
Outputs
- Updated
with delta changes merged.openspec/specs/ - Change remains active in
.openspec/changes/<name>/
Next Steps
- Continue working on the change, or use openspec-archive when done.
Troubleshooting
- "No delta specs": The change has no
directory; create specs via openspec-continue or openspec-ff first.specs/ - Conflicts with other changes: Sync handles merging at the requirement level; if two changes modify the same requirement, the latest sync wins.