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

openspec-apply-change

Skill20 starsChanged 20 days agoApache-2.0View on GitHub

Implements the pending tasks of an OpenSpec change against its proposal, specs, and design, looping until done or blocked. Use for "implement this change", "start/continue implementing", "work through the tasks", or "keep going on <change>". Can be invoked any time tasks exist, before or after other artifacts are finished, and interleaved with artifact updates — it is not phase-locked to a single point in the change's lifecycle.

147 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use source-command-opsx-apply, source-command-opsx-archive 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.
  • antech2-asyncSkill

    source-command-opsx-apply

    Implement tasks from an OpenSpec change (Experimental)

    Also in 5 projects that use this

  • antech2-asyncSkill

    source-command-opsx-archive

    Archive a completed change in the experimental workflow

    Also in 5 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 89 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

  • +2 more from antech2-async

The file

We split this skill into the rules it gives an agent

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

  • 1

    Common

    Most of the 143 edited versions we read keep these.

  • 2

    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:

    Select the change: Use a given name; otherwise infer from context, or auto-select if only one active change exists.

    line 20
  2. Very specific:

    Read every file listed under contextFiles: before starting — for rhdh-spec-driven that is proposal, specs, design, and tasks.

    line 36
  3. Distinctive:

    Always read context files before starting.

    line 65
  4. Common:

    Keep changes minimal and scoped to each task.

    line 66
  5. Very specific:

    Use contextFiles from the CLI output.

    line 68
  6. Distinctive:

    If implementation reveals a design issue, pause and suggest an artifact update rather than silently diverging from the design.

    line 69

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

Implement OpenSpec change tasks

Work through a change's task checklist against real code, one task at a time, checking each off only once it is actually done.

Steps

  1. Select the change. Use a given name; otherwise infer from context, or auto-select if only one active change exists. If ambiguous, run openspec list --json and let the user choose. Always announce which change is in use.
  2. Check status: openspec status --change "<name>" --json — read schemaName and which artifact holds the tasks.
  3. Get apply instructions:

    openspec instructions apply --change "<name>" --json

    Returns contextFiles (artifact ID -> file paths), task progress, the task list with status, and a dynamic instruction. If state: "blocked" (missing artifacts), suggest /openspec-continue-change. If state: "all_done", congratulate and suggest /openspec-archive-change.

  4. Read every file listed under contextFiles before starting — for rhdh-spec-driven that is proposal, specs, design, and tasks.
  5. Choose an execution mode for this run, per /rhdh-spec-driven-schema's schema.yaml apply block: direct mode for mechanical, low-risk work; team mode (implementer + independent verifier subagents) for semantically complex, ADR-bound, or broad cross-layer work. Announce the choice and rationale before making changes; do not silently switch mid-run.
  6. Work through pending tasks until done or blocked: show which task is active, make minimal focused changes, flip - [ ] to - [x] immediately on completion, continue to the next task. Pause on an unclear task, a design issue surfaced by implementation, an error, or user interruption.
  7. Journal as you go, invoking /openspec-journal: mode.chosen once at start, task.start/task.complete per task (or per assigned range in team mode), verifier.result per verdict in team mode, task.blocked on pause, decision for load-bearing calls, handoff as the last line before stopping and the first line on resume. Also keep the default turn bookending (turn.start/turn.end) described there.
  8. On completion or pause, show status: tasks completed this session, overall progress (N/M), and either a suggestion to archive or an explanation of the pause with options.

Output

During implementation, show each task starting and completing. On completion, show final progress and readiness to archive. On pause, show the issue, 2-3 options, and "Other approach", then wait.

Guardrails

  • Always read context files before starting.
  • Keep changes minimal and scoped to each task.
  • Pause on errors, blockers, or unclear requirements — never guess.
  • Use contextFiles from the CLI output; never assume file names.
  • If implementation reveals a design issue, pause and suggest an artifact update rather than silently diverging from the design.

Completion

Complete when every task attempted this session is either checked off with matching code changes, or explicitly reported as paused with the reason and options — never left silently half-done — and the apply-phase journal events for the session were written.

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.