Openspec Apply Change
CLI-driven OpenSpec apply loop: read change context, implement tasks, mark checkboxes done
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 21, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 716375a
Installed @fission-ai/openspec v1.7.0 (the bare `openspec` npm package is a dead 0.0.0 placeholder), cloned FigMirror, and ran every command the skill body specifies against the repo's own openspec/ project: `openspec list --json` (3 changes), `status --change` (schemaName spec-driven, artifactPaths), and `instructions apply --change --json` (returned contextFiles, progress {total:26,complete:14}, state:"ready", dynamic instruction, task list). For the output test I compared a baseline grep+edit against the skill flow: baseline counted 14/26 and flipped the first `- [ ]`; the skill produced the identical 14->15/26 result and next-task pick, but additionally surfaced schemaName, state, and the enumerated contextFiles (glob-resolved specs/**/*.md) that a grep does not. After flipping task 15's checkbox the CLI correctly re-derived progress to complete:15. Frontmatter parses (name+description present), no security smells. Real friction: the frontmatter's "Requires openspec CLI" never names the @fission-ai/openspec package, and the skill points to a nonexistent openspec-continue-change sibling on blocked state.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 4/5
- Triggers reliably 5/5
- Output vs. baseline 6/10
- Docs & honesty 4/5
What Openspec Apply Change does
Orchestrates implementing tasks from an OpenSpec change by calling the openspec CLI (list/status/instructions apply --json) to detect the schema, enumerate context files, report progress, then working through pending tasks and flipping tasks.md checkboxes as it goes. Triggers when the user wants to start or continue implementing, or work through tasks in an OpenSpec change. Requires the @fission-ai/openspec CLI and an OpenSpec-initialized project.
How to install Openspec Apply Change
git clone --depth 1 https://github.com/VILA-Lab/FigMirror.git /tmp/openspec-apply-change-src
mkdir -p ~/.claude/skills
cp -R /tmp/openspec-apply-change-src/.claude/skills/openspec-apply-change ~/.claude/skills/openspec-apply-change
# Requires the OpenSpec CLI. The REAL package is @fission-ai/openspec — the bare `openspec` npm name is a dead 0.0.0 placeholder with no bin:
# npm install -g @fission-ai/openspec # provides the `openspec` command (tested v1.7.0)
# Needs an OpenSpec-initialized project: openspec/changes/<name>/ with tasks.md. Run `openspec init` in your repo if absent.
# The skill runs: openspec list/status/instructions apply --json, then edits tasks.md `- [ ]` -> `- [x]`.
# Sibling skill it suggests on blocked state (openspec-continue-change) is NOT present in this repo.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Openspec Apply Change
-
/openspec-apply-changeCLI-driven OpenSpec apply loop: read change context, implement tasks, mark checkboxes done
It also activates on plain-language prompts like these:
-
Start implementing this OpenSpec change -
Continue working through the OpenSpec tasks -
Pick up where the last OpenSpec task left off
Frequently asked questions
- Is the Openspec Apply Change skill free?
- Yes. The skill itself is free from VILA-Lab/FigMirror. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Openspec Apply Change work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Installed @fission-ai/openspec v1.7.0 (the bare `openspec` npm package is a dead 0.0.0 placeholder), cloned FigMirror, and ran every command the skill body specifies against the repo's own openspec/ project: `openspec list --json` (3 changes), `status --change` (schemaName spec-driven, artifactPaths), and `instructions apply --change --json` (returned contextFiles, progress {total:26,complete:14}, state:"ready", dynamic instruction, task list). For the output test I compared a baseline grep+edit against the skill flow: baseline counted 14/26 and flipped the first `- [ ]`; the skill produced the identical 14->15/26 result and next-task pick, but additionally surfaced schemaName, state, and the enumerated contextFiles (glob-resolved specs/**/*.md) that a grep does not. After flipping task 15's checkbox the CLI correctly re-derived progress to complete:15. Frontmatter parses (name+description present), no security smells. Real friction: the frontmatter's "Requires openspec CLI" never names the @fission-ai/openspec package, and the skill points to a nonexistent openspec-continue-change sibling on blocked state.
- What is the Openspec Apply Change SkillProof Score?
- 7.6/10 — installs cleanly 4/5, triggers reliably 5/5, output vs. baseline 6/10, docs & honesty 4/5.
- How do I install Openspec Apply Change?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Openspec Apply Change with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.