Openspec Apply Change

Boucle d'application OpenSpec pilotée par CLI : lire le contexte de changement, implémenter les tâches, cocher les cases terminées

par VILA-Lab · VILA-Lab/FigMirror

Testé · Fonctionne ★ 7.6/10

Openspec Apply Change — Boucle d'application OpenSpec pilotée par CLI : lire le contexte de changement, implémenter les tâches, cocher les cases terminées

Ce que fait

Orchestre l'implémentation de tâches à partir d'un changement OpenSpec en appelant le CLI openspec (list/status/instructions apply --json) pour détecter le schéma, énumérer les fichiers de contexte, signaler la progression, puis travailler sur les tâches en attente et cocher les cases tasks.md au fur et à mesure. Se déclenche lorsque l'utilisateur souhaite commencer ou continuer l'implémentation, ou travailler sur des tâches dans un changement OpenSpec. Nécessite le CLI @fission-ai/openspec et un projet initialisé avec OpenSpec.

Rapport de test

Installé @fission-ai/openspec v1.7.0 (le package npm `openspec` nu est un placeholder mort 0.0.0), cloné FigMirror, et exécuté chaque commande spécifiée par le corps de la compétence contre le propre projet openspec/ du dépôt : `openspec list --json` (3 changements), `status --change` (schemaName piloté par spécification, artifactPaths), et `instructions apply --change --json` (a renvoyé contextFiles, progress {total:26,complete:14}, state:'ready', instruction dynamique, liste de tâches). Pour le test de sortie, j'ai comparé un grep+édition de base avec le flux de la compétence : la base de référence a compté 14/26 et a coché le premier `- [ ]` ; la compétence a produit le résultat identique 14->15/26 et la sélection de la tâche suivante, mais a en outre mis en évidence schemaName, state, et les contextFiles énumérés (specs/**/*.md résolus par glob) qu'un grep ne fait pas. Après avoir coché la case de la tâche 15, le CLI a correctement recalculé la progression à complete:15. Le frontmatter est analysé (name+description présents), aucune faille de sécurité. Friction réelle : le 'Requires openspec CLI' du frontmatter ne nomme jamais le package @fission-ai/openspec, et la compétence pointe vers un openspec-continue-change inexistant en état bloqué.

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

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.

Commandes et exemples de prompts

  • /openspec-apply-changeBoucle d'application OpenSpec pilotée par CLI : lire le contexte de changement, implémenter les tâches, cocher les cases terminées

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Start implementing this OpenSpec change
  • Continue working through the OpenSpec tasks
  • Pick up where the last OpenSpec task left off