mcpbeat Sign in

Openspec Apply Change Agent Skill

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
791
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Azure/azure-cosmos-dotnet-v3 --skill openspec-apply-change

The instruction itself

as written by the author

Implement tasks from an OpenSpec change.

Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.

Steps

  • Select the change

If a name is provided, use it. Otherwise:

  • Infer from conversation context if the user mentioned a change
  • Auto-select if only one active change exists
  • If ambiguous, run openspec list --json to get available changes and use the AskUserQuestion tool to let the user select

Always announce: "Using change: <name>" and how to override (e.g., /opsx:apply <other>).

  • Check status to understand the schema
   openspec status --change "<name>" --json

Parse the JSON to understand:

  • schemaName: The workflow being used (e.g., "spec-driven")
  • Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)
  • Get apply instructions
   openspec instructions apply --change "<name>" --json

This returns:

  • Context file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)
  • Progress (total, complete, remaining)
  • Task list with status
  • Dynamic instruction based on current state

Handle states:

  • If state: "blocked" (missing artifacts): show message, suggest using openspec-continue-change
  • If state: "all_done": congratulate, suggest archive
  • Otherwise: proceed to implementation
  • Read context files

Read the files listed in contextFiles from the apply instructions output.

The files depend on the schema being used:

  • spec-driven: proposal, specs, design, tasks
  • Other schemas: follow the contextFiles from CLI output
  • Show current progress

Display:

  • Schema being used
  • Progress: "N/M tasks complete"
  • Remaining tasks overview
  • Dynamic instruction from CLI
  • Implement tasks (loop until done or blocked)

For each pending task:

  • Show which task is being worked on
  • Make the code changes required
  • Keep changes minimal and focused
  • Mark task complete in the tasks file: - [ ]- [x]
  • Continue to next task

Pause if:

  • Task is unclear → ask for clarification
  • Implementation reveals a design issue → suggest updating artifacts
  • Error or blocker encountered → report and wait for guidance
  • User interrupts
  • On completion or pause, show status

Display:

  • Tasks completed this session
  • Overall progress: "N/M tasks complete"
  • If all done: suggest archive
  • If paused: explain why and wait for guidance

Output During Implementation

## Implementing: <change-name> (schema: <schema-name>)

Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete

Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete

Output On Completion

## Implementation Complete

**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 7/7 tasks complete ✓

### Completed This Session
- [x] Task 1
- [x] Task 2
...

All tasks complete! Ready to archive this change.

Output On Pause (Issue Encountered)

## Implementation Paused

**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 4/7 tasks complete

### Issue Encountered
<description of the issue>

**Options:**
1. <option 1>
2. <option 2>
3. Other approach

What would you like to do?

Guardrails

  • Keep going through tasks until done or blocked
  • Always read context files before starting (from the apply instructions output)
  • If task is ambiguous, pause and ask before implementing
  • If implementation reveals issues, pause and suggest artifact updates
  • Keep code changes minimal and scoped to each task
  • Update task checkbox immediately after completing each task
  • Pause on errors, blockers, or unclear requirements - don't guess
  • Use contextFiles from CLI output, don't assume specific file names

Fluid Workflow Integration

This skill supports the "actions on a change" model:

  • Can be invoked anytime: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions
  • Allows artifact updates: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly

Other skills for the same job

different authors, same section of the catalogue
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

16k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3k tokens
Excalidraw Diagram Generator
by github
vendor ×3

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

36k tokens scripts
Expo Dev Client
by openai
vendor ×3

Build and distribute Expo development clients locally or via TestFlight

961 tokens
Executing Plans
by ZhanlinCui
×3

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

542 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

16k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

14k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

24k tokens

How to use it

Copy the folder

Take azure/openspec-apply-change from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.