agentleFS
redhat-developerredhat-developer/rhdh-skills/skills/refinement/openspec-sync-specs/SKILL.md

openspec-sync-specs

Skill20 starsChanged 20 days agoApache-2.0View on GitHub

Syncs a change's delta specs into the long-lived main specs under openspec/specs/, without archiving the change. Use for "sync specs for <change>", "update main specs with these changes", or as a step inside openspec-archive-change/openspec-bulk-archive-change. This is agent-driven intelligent merging (partial updates, not wholesale replacement) — not a mechanical diff apply.

155 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use openspec-update-change, draft-openspec-docs and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Microsoft AzureSkill

    openspec-update-change

    Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

    Also in 90 projects that use this

  • goernSkill

    draft-openspec-docs

    Collaborative page-drafting mode for the OpenSpec docs. Builds a scratch plan inside the target page (purpose, structure, numbered draft steps), iterates on it with the user, then drafts one section per approved step and cleans up after itself. Use when a page needs a from-scratch rewrite or a new page is being shaped with the user in the loop.

    Also in 3 projects that use this

  • goernSkill

    release-openspec

    Use this skill when releasing OpenSpec: audit merged work and changeset coverage, decide whether a catch-up changeset PR is needed, prepare or resume the Changesets Version Packages PR, cut a beta or stable release, verify publishing, and polish GitHub release notes. Also use when asked whether an open release PR is complete, what the next release step is, or to continue a release paused for human approval.

    Also in 3 projects that use this

  • MicrosoftSkill

    api-design

    Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.

    Also in 3 projects that use this

  • +2 more from goern

The file

We split this skill into the rules it gives an agent

5 rules. 1 is common, 2 are distinctive, and 2 are very specific to this project.

  • 1

    Common

    Most of the 153 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read delta specs and directly edit main specs to apply their intent — allowing partial updates like adding one scenario without copying an …

    line 15
  2. Very specific:

    Select the change: If not given, run openspec list --json, show changes that have delta specs under specs/, and let the user choose.

    line 21
  3. Very specific:

    If the capability has no main spec yet, create openspec/specs/<capability>/spec.md with a Purpose section (brief, can be TBD) and the ADDED …

    line 38
  4. Common:

    Read both delta and main specs before changing anything.

    line 53
  5. Distinctive:

    Ask for clarification if intent is unclear rather than guessing.

    line 55

“Common” is measured: kept by at least 6 in 10 of the 153 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Sync delta specs to main specs

Read delta specs and directly edit main specs to apply their intent — allowing partial updates like adding one scenario without copying an entire requirement.

Steps

  1. Select the change. If not given, run openspec list --json, show changes that have delta specs under specs/, and let the user choose. Never guess.
  2. Find delta specs at openspec/changes/<name>/specs/*/spec.md. Each may contain ## ADDED Requirements, ## MODIFIED Requirements, ## REMOVED Requirements, ## RENAMED Requirements (FROM:/TO: format). If none found, tell the user and stop.
  3. For each capability with a delta spec, read both the delta and the main spec at openspec/specs/<capability>/spec.md (may not exist yet), then apply intelligently:
    • ADDED — add if new; if it already exists, update it to match (treat as an implicit MODIFIED).
    • MODIFIED — find the requirement and apply the changes: add scenarios, modify existing ones, or change the description. Preserve content the delta doesn't mention.
    • REMOVED — remove the entire requirement block.
    • RENAMED — find the FROM requirement, rename to TO.
    • If the capability has no main spec yet, create openspec/specs/<capability>/spec.md with a Purpose section (brief, can be TBD) and the ADDED requirements.
  4. Show a summary: which capabilities were updated and what changed (added/modified/removed/renamed requirements).

Key principle: intelligent merging

The delta represents intent, not a wholesale replacement. To add a scenario, include just that scenario under MODIFIED — don't copy existing ones. Use judgment to merge sensibly; the operation should still be idempotent (running it twice gives the same result).

Guardrails

  • Read both delta and main specs before changing anything.
  • Preserve existing content the delta doesn't mention.
  • Ask for clarification if intent is unclear rather than guessing.
  • Show what's changing as you go.

Completion

Complete when every delta spec found in step 2 has been applied to its main spec (or a new main spec created), the summary lists every capability touched, and re-running the sync on the same inputs would produce no further changes.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.