agentleFS
redhat-developerredhat-developer/rhdh-skills/skills/refinement/openspec-ff-change/SKILL.md

openspec-ff-change

Skill20 starsChanged 20 days agoApache-2.0View on GitHub

Fast-forwards an OpenSpec change by generating every remaining artifact needed before implementation — proposal, specs, design, and tasks — in one pass, for a brand-new or an existing change, with progress tracked via TodoWrite. Use for "fast-forward this change", "generate all the artifacts now", "create every remaining artifact", or "get this ready to implement".

61 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use draft-openspec-docs, release-openspec and 7 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.
  • 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

  • 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 12 projects that use this

  • SentrySkill

    openspec-propose

    Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

    Also in 24 projects that use this

  • SentrySkill

    code-simplifier

    Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to "simplify code", "clean up code", "refactor for clarity", "improve readability", or review recently modified code for elegance. Focuses on project-specific best practices.

    Also in 3 projects that use this

  • OpenAISkill

    executing-plans

    Use when you have a written implementation plan to execute in a separate session with review checkpoints

    Also in 3 projects that use this

  • +2 more from goern

The file

We split this skill into the rules it gives an agent

7 rules. 1 is common, 3 are distinctive, and 3 are very specific to this project.

  • 1

    Common

    Most of the 59 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Ensure the project schema is installed: Check whether openspec/config.yaml and openspec/schemas/rhdh-spec-driven/ already exist.

    line 19
  2. Very specific:

    Read applyRequires (artifact IDs needed before implementation) and artifacts (status + dependencies for each).

    line 35
  3. Distinctive:

    If an artifact needs input the description didn't cover,: ask — but prefer a reasonable default to keep momentum.

    line 46
  4. Very specific:

    Create every artifact applyRequires needs — not a subset.

    line 59
  5. Distinctive:

    Always read dependency artifacts before creating the next one.

    line 60
  6. Common:

    Verify each artifact file exists after writing, before moving on.

    line 61
  7. Distinctive:

    If a change with that name already exists, do not re-scaffold or overwrite artifacts already written.

    line 62

“Common” is measured: kept by at least 6 in 10 of the 59 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

Fast-forward an OpenSpec change

Generate every artifact the schema requires before implementation can start, without pausing between them, then hand off to implementation.

Steps

  1. Ensure the project schema is installed. Check whether openspec/config.yaml and openspec/schemas/rhdh-spec-driven/ already exist. Only if either is missing, invoke /rhdh-spec-driven-schema and run its project-install step. Then confirm with openspec schemas --json.
  2. Get the change name or description. Derive a kebab-case name from a description if no name was given (e.g. "add user authentication" -> add-user-auth); do not proceed without knowing what to build.
  3. Create the change directory (skip if it already exists — see Guardrails): openspec new change "<name>" (default schema from openspec/config.yaml, or pass --schema rhdh-spec-driven).
  4. Get the build order:

    openspec status --change "<name>" --json

    Read applyRequires (artifact IDs needed before implementation) and artifacts (status + dependencies for each). Specs and design are siblings: after proposal, either may be ready; create them in either order once their dependencies are satisfied.

  5. Create every required artifact in dependency order. Track progress with TodoWrite. For each artifact whose dependencies are satisfied, follow the artifact creation loop in /rhdh-spec-driven-schema — read dependencies, use the template, apply context/rules without copying them into the file, write to outputPath. Re-check status after each write; stop once every ID in applyRequires reports status: "done".
  6. If an artifact needs input the description didn't cover, ask — but prefer a reasonable default to keep momentum; this skill exists to avoid stopping between artifacts.
  7. Show final status: openspec status --change "<name>".

Output

Change name and location, every artifact created with a one-line description, "All artifacts created! Ready for implementation.", and: "Run /openspec-apply-change to start working on the tasks."

Guardrails

  • Create every artifact applyRequires needs — not a subset.
  • Always read dependency artifacts before creating the next one.
  • Verify each artifact file exists after writing, before moving on.
  • If a change with that name already exists, do not re-scaffold or overwrite artifacts already written. Read current status and fill only the remaining applyRequires artifacts in dependency order — this skill finishes an existing change as well as it starts a new one.

Completion

Complete when every artifact ID in applyRequires shows status: "done" in openspec status, each was verified to exist on disk, and the user has been pointed at /openspec-apply-change to start implementation.

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.

Reviews can't be read right now.

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.