openspec-bulk-apply-change

A workflow for applying several OpenSpec changes at the same time in separate Git worktrees. A worktree is an isolated working copy of a repository.

In plain words
What is it for?
Use it when at least two active OpenSpec changes are ready to apply, so each can be dispatched, tested, and reported without merging or archiving them.
Why use it?
It lets independent changes be implemented and verified separately, reducing interference between concurrent work.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/intent-driven-dev/intent-driven-template/openspec-bulk-apply-change
Any agent
npx skills add intent-driven-dev/intent-driven-template --skill openspec-bulk-apply-change
Clone the repo
git clone --depth 1 https://github.com/intent-driven-dev/intent-driven-template

Made for: Claude Code, Codex.

Per session 30 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,281 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00030 $0.01281
Opus 5 $0.00015 $0.00641
Sonnet 5 $0.00006 $0.00256
Haiku 4.5 $0.00003 $0.00128

Measured yesterday against content hash 7927d7287f2f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

openspec-bulk-apply-change scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.opencode/skills/openspec-bulk-apply-change/SKILL.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

OpenSpec Bulk Apply

Apply multiple active OpenSpec changes by creating isolated worktrees, dispatching delegated apply flows in parallel subagents, running verification in each flow, and reporting back without merging or archiving.

REQUIRED SUB-SKILL: Use openspec-git-discipline before any apply or worktree workflow.

When to Use

  • More than one active OpenSpec change exists
  • /opsx-bulk-apply was invoked without an explicit single-change target
  • The user wants multiple changes applied in parallel
  • The user asks to apply all active OpenSpec changes

Do not use bulk mode when only one candidate change remains. Stop and tell the user to use /opsx-apply <change> instead.

Steps

  1. Get candidate changes

    Run:

    openspec list --json
    
    • If command input included change names, limit analysis to those changes.
    • If fewer than 2 active candidate changes remain, stop and tell the user to use /opsx-apply <change>.
    • Do not ask the user to choose one change when 2 or more candidates remain and the request is clearly bulk apply.
  2. Run git discipline checks

    For each candidate change, verify apply is allowed before creating worktrees:

    • Run git status --short.
    • Verify openspec/changes/<change>/ has no uncommitted proposal files.
    • Verify the proposal change exists on main before applying from any branch or worktree.

    If any candidate fails the gate, exclude it from execution and report the reason. If fewer than 2 executable candidates remain, stop and report that bulk apply is not appropriate.

  3. Collect change context

    For each executable candidate change:

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

    Then:

    • Read all listed contextFiles.
    • Read the tasks artifact and summarize pending work.
    • Note the implementation scope needed by the delegated apply flow.
    • Exclude blocked or all-done changes from execution and include them in the final report.

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 149 lines · 30 tokens per session scan A 7927d7287f2f

Subscribe to this mod's changes

openspec-bulk-apply-change is a skill published in the GitHub repository intent-driven-dev/intent-driven-template (121 stars, last pushed 8d ago), licensed MIT. It adds 30 tokens to every session and 1,281 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.