Skip to content

Outils pris en charge ​

OpenSpec fonctionne avec de nombreux assistants de codage IA. Lorsque vous exécutez openspec init, OpenSpec configure les outils sélectionnés en fonction de votre sélection de profil/workflow actif et de votre mode de livraison.

Comment cela fonctionne ​

Pour chaque outil sélectionné, OpenSpec peut installer :

  1. Skills (si la livraison inclut les skills) : .../skills/openspec-*/SKILL.md
  2. Commandes (si la livraison inclut les commandes) : fichiers de commandes opsx-* spécifiques à l'outil

Codex est uniquement basé sur les skills : OpenSpec installe .agents/skills/openspec-*/SKILL.md pour Codex même lorsque la livraison est définie sur commands, et il ne génère pas de fichiers de prompt personnalisés pour Codex. Les skills existants gérés par OpenSpec sous le chemin hérité .codex/skills sont réconciliés après l'écriture de leurs remplacements ; les fichiers personnalisés et divergents sont préservés.

Par défaut, OpenSpec utilise le profil core, qui inclut :

  • propose
  • explore
  • apply
  • update
  • sync
  • archive

Vous pouvez activer des workflows étendus (new, continue, ff, verify, bulk-archive, onboard) via openspec config profile, puis exécuter openspec update.

Comment invoquer ​

Ces documents utilisent /opsx:propose comme nom canonique, mais chaque outil l'écrit de la manière dont il charge le fichier écrit par OpenSpec. Trouvez le chemin de commande de votre outil dans la Référence du répertoire des outils ci-dessous, puis faites correspondre sa forme ici.

Fichier de commande écrit par OpenSpecVous tapezOutils
.../commands/opsx/<id>.* — un dossier opsx/ l'namespace/opsx:<id>Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode
.../opsx-<id>.* — le nom de fichier est la commande/opsx-<id>Tous les autres outils avec des fichiers de commande générés, sauf Amazon Q et Devin
.devin/workflows/opsx-<id>.md — lu par seulement l'un des deux agents de Devin/opsx-<id> sur Devin Desktop, /openspec-<skill> sur Devin LocalDevin Desktop****
.amazonq/prompts/opsx-<id>.md — une invite (prompt), pas une commande@opsx-<id>Amazon Q Developer
aucun — compétences uniquement/openspec-<skill>CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, .agents partagés
aucun — Kimi Code/skill:openspec-<skill>Kimi Code
aucun — Codex CLI$openspec-<skill>Codex (/opensx-<skill> n'est pas reconnu)

Ainsi, /opsx:propose devient /opsx-propose dans Cursor, @opsx-propose dans Amazon Q, et $openspec-propose dans Codex.

Deux choses varient indépendamment, c'est pourquoi les lignes ne se condensent pas :

  • Le nom. Les lignes 1–2 diffèrent uniquement par la façon dont le fichier nomme la commande, et la racine opsx-<id> / opsx:<id> est identique pour tous les outils disposant de fichiers de commande générés.
  • L'enveloppe (wrapper). Amazon Q charge ses fichiers dans une bibliothèque d'invocations appelée avec @. Les outils sans commandes génèrent aucun fichier de commande, donc leurs trois dernières lignes utilisent des noms de compétence — listés sous Noms de compétence générés — qui ne correspondent pas un-à-un aux identifiants de commande (/opsx:apply est la compétence openspec-apply-change).

Les modèles de chemin de commande ci-dessus sont neutres par extension (.*) intentionnellement : l'extension appartient à l'outil (.toml pour Gemini CLI, .prompt pour Continue, .prompt.md pour Kiro et GitHub Copilot), et quelques outils affichent le nom avec son extension dans le sélecteur. Faites correspondre la structure du répertoire, pas l'extension.

Les fichiers que OpenSpec génère, ainsi que l'indice « Premiers pas » imprimé après l'installation, utilisent déjà la bonne forme pour les outils que vous avez sélectionnés — donc la réponse la plus rapide consiste à lire l'indice.

Référence du répertoire des outils ​

Outil (ID)Modèle de chemin des compétencesModèle de chemin des commandes
Amazon Q Developer (amazon-q).amazonq/skills/openspec-*/SKILL.md.amazonq/prompts/opsx-<id>.md
Antigravity (antigravity).agent/skills/openspec-*/SKILL.md.agent/workflows/opsx-<id>.md
Auggie (auggie).augment/skills/openspec-*/SKILL.md.augment/commands/opsx-<id>.md
IBM Bob Shell (bob).bob/skills/openspec-*/SKILL.md.bob/commands/opsx-<id>.md
Claude Code (claude).claude/skills/openspec-*/SKILL.md.claude/commands/opsx/<id>.md
Cline (cline).cline/skills/openspec-*/SKILL.md.clinerules/workflows/opsx-<id>.md
Command Code (command-code).commandcode/skills/openspec-*/SKILL.md.commandcode/commands/opsx-<id>.md
CodeArts (codeartsagent).codeartsdoer/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /openspec-*)
CodeBuddy (codebuddy).codebuddy/skills/openspec-*/SKILL.md.codebuddy/commands/opsx/<id>.md
Codex (codex).agents/skills/openspec-*/SKILL.mdNon généré (compétences uniquement ; utilisez $openspec-*)
Devin Desktop, anciennement Windsurf (devin).devin/skills/openspec-*/SKILL.md.devin/workflows/opsx-<id>.md****
ForgeCode (forgecode).forge/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /openspec-*)
Continue (continue).continue/skills/openspec-*/SKILL.md.continue/prompts/opsx-<id>.prompt
CoStrict (costrict).cospec/skills/openspec-*/SKILL.md.cospec/openspec/commands/opsx-<id>.md
Crush (crush).crush/skills/openspec-*/SKILL.md.crush/commands/opsx/<id>.md
Cursor (cursor).cursor/skills/openspec-*/SKILL.md.cursor/commands/opsx-<id>.md
Factory Droid (factory).factory/skills/openspec-*/SKILL.md.factory/commands/opsx-<id>.md
Gemini CLI (gemini).gemini/skills/openspec-*/SKILL.md.gemini/commands/opsx/<id>.toml
GitHub Copilot (github-copilot).github/skills/openspec-*/SKILL.md.github/prompts/opsx-<id>.prompt.md**
Hermes Agent (hermes).hermes/skills/openspec-*/SKILL.md***Non généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /openspec-*)
iFlow (iflow).iflow/skills/openspec-*/SKILL.md.iflow/commands/opsx-<id>.md
Junie (junie).junie/skills/openspec-*/SKILL.md.junie/commands/opsx-<id>.md
Kilo Code (kilocode).kilocode/skills/openspec-*/SKILL.md.kilocode/workflows/opsx-<id>.md
Kimi Code (kimi).kimi-code/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /skill:openspec-*)
Kiro (kiro).kiro/skills/openspec-*/SKILL.md.kiro/prompts/opsx-<id>.prompt.md
Lingma (lingma).lingma/skills/openspec-*/SKILL.md.lingma/commands/opsx/<id>.md
MiniMax Code (minimax-code)~/.minimax/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les compétences MiniMax Code)
Mistral Vibe (vibe).vibe/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /openspec-*)
Oh My Pi (oh-my-pi).omp/skills/openspec-*/SKILL.md.omp/commands/opsx-<id>.md
OpenCode (opencode).opencode/skills/openspec-*/SKILL.md.opencode/commands/opsx-<id>.md
Pi (pi).pi/skills/openspec-*/SKILL.md.pi/prompts/opsx-<id>.md
Assistant de code SourceCraft pour VS Code (codeassistant).codeassistant/skills/openspec-*/SKILL.md.codeassistant/commands/opsx-<id>.md
Qoder (qoder).qoder/skills/openspec-*/SKILL.md.qoder/commands/opsx/<id>.md
Qwen Code (qwen).qwen/skills/openspec-*/SKILL.md.qwen/commands/opsx-<id>.md
Rovo Dev CLI (rovodev).rovodev/skills/openspec-*/SKILL.mdNon généré. Rovo n'a pas de surface de commandes slash — il fait correspondre automatiquement les compétences ou par invite (par ex. "utiliser la compétence openspec-propose") ; /skills ne fait que les gérer. Le contenu généré référence les compétences par leur nom, jamais en tant que commandes /openspec-*.
Zoo Code (roocode).roo/skills/openspec-*/SKILL.md.roo/commands/opsx-<id>.md
Trae (trae).trae/skills/openspec-*/SKILL.md.trae/commands/opsx-<id>.md
Zed Agent (zed).agents/skills/openspec-*/SKILL.mdNon généré (compétences uniquement ; utilisez /openspec-* ou @openspec-*)
ZCode (zcode).zcode/skills/openspec-*/SKILL.md.zcode/commands/opsx/<id>.md
Compétences .agents partagées (agents).agents/skills/openspec-*/SKILL.mdNon généré (pas d'adaptateur de commande ; utilisez les invocations basées sur les compétences /openspec-*)

** Les fichiers d'invite de GitHub Copilot sont reconnus comme des commandes slash personnalisées dans les extensions IDE (VS Code, JetBrains, Visual Studio). Copilot CLI ne consomme pas directement .github/prompts/*.prompt.md. La sélection de github-copilot peut également configurer l'agent de codage cloud hébergé par GitHub — voir Agent de codage cloud GitHub Copilot ci-dessous.

*** Hermes charge les compétences depuis ~/.hermes/skills/ par défaut. Pour utiliser les compétences OpenSpec locales au projet, ajoutez le répertoire .hermes/skills/ du projet à skills.external_dirs dans ~/.hermes/config.yaml ; Hermes expose alors les compétences avec des invocations slash visibles par l'utilisateur telles que /openspec-propose.

**** Windsurf a été rebrandé en Devin Desktop le 2 juin 2026, et son répertoire de configuration a été déplacé : .devin/ est l'emplacement préféré en lecture + écriture, .windsurf/ est un fallback legacy en lecture seule. OpenSpec suit ce renommage — l'identifiant de l'outil est devin, et --tools windsurf résout toujours vers celui-ci afin que les scripts de configuration existants continuent de fonctionner. Un projet conservant encore des fichiers OpenSpec dans .windsurf/ se verra proposer le déplacement lors du prochain openspec update ; refuser laisse les fichiers en place, et les fichiers que vous avez écrits vous-mêmes ne sont jamais modifiés. Les workflows sont invoqués par nom de fichier, donc .devin/workflows/opsx-apply.md correspond à /opsx-apply. L'agent Devin Local ne prend pas en charge les workflows — uniquement les compétences, et il ne lit pas du tout .windsurf/ — donc chaque fois qu'OpenSpec écrit des compétences Devin, il conserve leurs corps et l'indice de démarrage sur les invocations de compétences /openspec-*, qui fonctionnent sur les deux agents. En mode livraison uniquement commandes, aucune compétence n'est écrite et les deux retombent sur /opsx-*.

La prise en charge de l'Assistant de code SourceCraft cible son extension VS Code. Ses commandes personnalisées et compétences sont disponibles uniquement dans VS Code. Cette intégration ne configure ni SourceCraft web ni JetBrains.

En mode livraison uniquement compétences, demandez à l'Assistant d'utiliser la compétence openspec-propose avec votre idée. Les compétences s'activent par correspondance de requête ; OpenSpec ne génère pas de commandes /openspec-* pour cet outil.

MiniMax Code est une intégration globale uniquement compétences. OpenSpec écrit uniquement ses répertoires openspec-* sous ~/.minimax/skills/ ; il ne crée pas de répertoires .minimax ou .mavis locaux au dépôt. La livraison uniquement commandes laisse les compétences globales MiniMax Code existantes intactes afin que le paramètre de livraison d'un projet ne puisse pas supprimer les compétences utilisées par un autre projet.

Agent de codage cloud GitHub Copilot ​

L'agent de codage Copilot de GitHub s'exécute sur GitHub dans un environnement GitHub Actions — distinct de Copilot dans votre éditeur. OpenSpec peut le configurer pour utiliser la CLI OpenSpec en générant deux fichiers :

  • .github/workflows/copilot-setup-steps.yml — installe @fission-ai/openspec dans l'environnement de l'agent
  • .github/agents/openspec.agent.md — indique à l'agent comment piloter OpenSpec

Comme cela écrit un workflow GitHub Actions dans votre dépôt, c'est opt-in (optionnel) :

CommentComportement
openspec init (interactif)Demande s'il faut configurer les fichiers cloud. La valeur par défaut est Non.
openspec init --copilot-cloudLes configure sans demander (pour les scripts/CI).
openspec init --no-copilot-cloudLes ignore sans demander, et supprime ceux générés précédemment.
openspec updateNe demande jamais. Rafraîchit les fichiers uniquement si vous avez opté pour (ou si le projet les possède déjà). Si vous avez refusé, il supprime les fichiers cloud gérés par OpenSpec.

Votre choix est enregistré dans openspec/config.yaml sous githubCopilot.cloudAgent: true|false, donc les mises à jour non interactives le respectent. OpenSpec n'écrit ou ne supprime jamais de fichiers dont il n'a pas généré le contenu — si vous personnalisez copilot-setup-steps.yml ou openspec.agent.md, ou si vous possédez déjà les vôtres, ils sont laissés intacts (et init/update vous l'indiquent).

Quand choisir la cible .agents partagée ​

agents est l'option indépendante du fournisseur : elle écrit les compétences dans .agents/skills/, la racine partague que de nombreux outils d'agent lisent, au lieu d'un répertoire spécifique à un outil.

SituationChoisir
Votre outil a sa propre ligne ci-dessusSon propre ID — vous obtenez l'intégration de cet outil, y compris les commandes slash là où il les supporte
Plusieurs agents sur un même dépôt, lisant tous .agents/skillsagents — un seul arbre de compétences au lieu d'un par outil
Votre outil n'est pas encore listé mais lit .agents/skillsagents

Le sélectionner conjointement avec un ID spécifique à un outil est acceptable ; chacun écrit normalement dans sa propre racine. Codex et Zed Agent sont les exceptions car ils utilisent la même racine canonique .agents. Si Codex est sélectionné avec Zed ou agents, OpenSpec conserve un seul arbre dirigé par Codex. Ses transferts nomment à la fois $openspec-* pour Codex et /openspec-* pour les autres agents, donc --tools all et les configurations multi-agents existantes continuent de fonctionner sans que deux écrivains n'écrasent les mêmes fichiers. OpenSpec propose également cette option automatiquement une fois qu'un projet possède un répertoire .agents/skills/ — un simple .agents/ ne suffit pas, car les outils utilisent cette racine pour les règles et les définitions de sous-agents également. Notez que .agents n'est pas .agent : le répertoire singulier appartient à Antigravity.

Deux choses à savoir :

  • Compétences uniquement. Aucun adaptateur de commande n'existe, donc aucun fichier de commande opsx-* n'est écrit ; avec un mode de livraison incluant les commandes, openspec init liste agents parmi les outils pour lesquels il rapporte Commandes ignorées pour : … (pas d'adaptateur). Invoquez les workflows par nom de compétence — la plupart des assistants lisant .agents/skills orthographient cela /openspec-propose, la forme que l'indice de configuration d'OpenSpec imprime. La cible étant indépendante du fournisseur, consultez la documentation de votre assistant s'il utilise une autre forme.
  • Aucun AGENTS.md n'est créé ou modifié. La cible est le répertoire .agents/. Si votre AGENTS.md racine porte encore des blocs marqueurs OpenSpec d'une version précédente, openspec update les supprime — voir le Guide de migration.

La prise en charge de Zed ici concerne le Zed Agent intégré. Les Agents Externes Zed et les Threads Terminal utilisent leurs propres intégrations. Les compétences d'agent nécessitent Zed v1.4.2 ou plus récent. Les compétences locales au projet ne sont pas disponibles dans un worktree non approuvé jusqu'à ce que vous accordiez la confiance.

Parce que .agents/skills/ est partagé par Codex, Zed Agent et la cible indépendante du fournisseur, il est utile de savoir ce qu'OpenSpec revendique là-dedans : il écrit, rafraîchit et supprime uniquement les répertoires de compétences openspec-* pour vos workflows sélectionnés, plus un marqueur .openspec-target qui enregistre si Codex, Zed Agent ou la cible indépendante du fournisseur a rendu cet arbre partagé. Tout le reste dans ce répertoire est laissé tel quel. Traitez les noms openspec-* et le marqueur comme appartenant à OpenSpec — les modifications à l'intérieur sont remplacées lors du prochain openspec update, comme pour tout autre outil.

Pour les projets antérieurs au marqueur, OpenSpec déduit la propriété à partir des références de compétences gérées : $openspec-* signifie Codex et /openspec-* signifie la cible indépendante du fournisseur. Un arbre canonique générique à côté de .codex/skills legacy est traité comme une installation dual-target plus ancienne et consolidé dans l'arbre partagé compatible.

openspec update respecte également cette propriété. Si un projet possède .agents en tant que cible indépendante du fournisseur et qu'une installation Codex résiduelle est détectée uniquement à partir de fichiers d'invite errants, la mise à jour laisse l'arbre agents établi en place au lieu de le réécrire avec la syntaxe Codex, et préserve ces fichiers d'invite legacy plutôt que de les supprimer. Pour confier l'arbre partagé à Codex, exécutez explicitement openspec init --tools codex.

Configuration non interactive ​

Pour une configuration CI/CD ou scriptée, utilisez --tools (et éventuellement --profile) :

bash
# Configurer des outils spécifiques
openspec init --tools claude,cursor

# Configurer tous les outils pris en charge
openspec init --tools all

# Ignorer la configuration des outils
openspec init --tools none

# Remplacer le profil pour cette exécution init
openspec init --profile core

Identifiants d'outils disponibles (--tools) — windsurf est également accepté, en tant qu'alias de devin : amazon-q, antigravity, auggie, bob, claude, cline, command-code, codeartsagent, codex, devin, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, minimax-code, vibe, oh-my-pi, opencode, pi, qoder, qwen, roocode, codeassistant, trae, zed, zcode, agents

Installation dépendante du flux de travail ​

OpenSpec installe les artefacts de flux de travail en fonction des flux sélectionnés :

  • Profil Core (par défaut) : propose, explore, apply, update, sync, archive
  • Sélection personnalisée : tout sous-ensemble des identifiants de flux de travail : propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

Autrement dit, le nombre de compétences/commands dépend du profil et de la livraison, et n'est pas fixe.

Noms des compétences générées ​

Lorsqu'elles sont sélectionnées par la configuration du profil/flux de travail, OpenSpec génère ces compétences :

  • openspec-propose
  • openspec-explore
  • openspec-new-change
  • openspec-continue-change
  • openspec-apply-change
  • openspec-update-change
  • openspec-ff-change
  • openspec-sync-specs
  • openspec-archive-change
  • openspec-bulk-archive-change
  • openspec-verify-change
  • openspec-onboard

Consultez Commands pour le comportement des commandes et CLI pour les options init/update.

Liens connexes ​