Outils pris en charge
Quels outils de codage IA OpenSpec prend en charge, et la syntaxe des commandes de chacun.
Chaque outil de la matrice exécute les mêmes workflows OpenSpec. Un skill et sa commande sont les mêmes instructions de workflow. La seule différence est ce que vous saisissez. La forme installée par init correspond au paramètre de livraison, couvert dans Configurer votre projet.
Matrice de prise en charge
Les invocations sont présentées pour le workflow d'application. Chaque workflow suit la même structure. L'id est passé à openspec init --tools <id> pour ignorer le sélecteur (CLI).
| Outil | --tools id | Skills | Invocation de skill | Commandes | Invocation de commande |
|---|---|---|---|---|---|
| Amazon Q Developer | amazon-q | .amazonq/skills/ | /openspec-apply-change | .amazonq/prompts/ | @opsx-apply |
| Amp | amp | .agents/skills/ | /openspec-apply-change | aucun | aucun |
| Antigravity | antigravity | .agents/skills/ | /openspec-apply-change | .agents/workflows/ | /opsx-apply |
| AtomCode | atomcode | .atomcode/skills/ | /openspec-apply-change | .atomcode/commands/ | /opsx-apply |
| Auggie (Augment CLI) | auggie | .augment/skills/ | /openspec-apply-change | .augment/commands/ | /opsx-apply |
| IBM Bob | bob | .bob/skills/ | /openspec-apply-change | .bob/commands/ | /opsx-apply |
| Claude Code | claude | .claude/skills/ | /openspec-apply-change | .claude/commands/opsx/ | /opsx:apply |
| Cline | cline | .cline/skills/ | /openspec-apply-change | .clinerules/workflows/ | /opsx-apply |
| CodeArts | codeartsagent | .codeartsdoer/skills/ | /openspec-apply-change | aucun | aucun |
| CodeBuddy Code (CLI) | codebuddy | .codebuddy/skills/ | /openspec-apply-change | .codebuddy/commands/opsx/ | /opsx:apply |
| Code Studio | codestudio | .codestudio/skills/ | /openspec-apply-change | .codestudio/prompts/ | /opsx-apply |
| Codex | codex | .agents/skills/ | $openspec-apply-change | aucun | aucun |
| Continue | continue | .continue/skills/ | /openspec-apply-change | .continue/prompts/ | /opsx-apply |
| CoStrict | costrict | .cospec/skills/ | /openspec-apply-change | .cospec/openspec/commands/ | /opsx-apply |
| Crush | crush | .crush/skills/ | /openspec-apply-change | .crush/commands/opsx/ | /opsx:apply |
| Cursor | cursor | .cursor/skills/ | /openspec-apply-change | .cursor/commands/ | /opsx-apply |
| DeepSeek Harness | dsh | .dsh/skills/ | /openspec-apply-change | aucun | aucun |
| Devin Desktop (anciennement Windsurf) | devin | .devin/skills/ | /openspec-apply-change | .devin/workflows/ | /opsx-apply |
| EasyCode | easycode | .easycode/skills/ | /openspec-apply-change | .easycode/commands/opsx/ | /opsx:apply |
| Factory Droid | factory | .factory/skills/ | /openspec-apply-change | .factory/commands/ | /opsx-apply |
| ForgeCode | forgecode | .forge/skills/ | /openspec-apply-change | aucun | aucun |
| Gemini CLI | gemini | .gemini/skills/ | /openspec-apply-change | .gemini/commands/opsx/ | /opsx:apply |
| GigaCode | gigacode | .gigacode/skills/ | /openspec-apply-change | .gigacode/commands/ | /opsx-apply |
| GitHub Copilot | github-copilot | .github/skills/ | /openspec-apply-change | .github/prompts/ | /opsx-apply |
| Grok Build | grok | .grok/skills/ | /openspec-apply-change | aucun | aucun |
| GSD | gsd | .agents/skills/ | demander openspec-apply-change | aucun | aucun |
| Hermes Agent | hermes | .hermes/skills/ | /openspec-apply-change | aucun | aucun |
| iFlow | iflow | .iflow/skills/ | /openspec-apply-change | .iflow/commands/ | /opsx-apply |
| Junie | junie | .junie/skills/ | /openspec-apply-change | .junie/commands/ | /opsx-apply |
| Kilo Code | kilocode | .kilocode/skills/ | /openspec-apply-change | .kilo/command/ | /opsx-apply |
| Kimi Code | kimi | .kimi-code/skills/ | /skill:openspec-apply-change | aucun | aucun |
| Kiro | kiro | .kiro/skills/ | /openspec-apply-change | .kiro/prompts/ | /opsx-apply |
| Lingma | lingma | .lingma/skills/ | /openspec-apply-change | .lingma/commands/opsx/ | /opsx:apply |
| MiniMax Code | minimax-code | ~/.minimax/skills/ (global) | /openspec-apply-change | aucun | aucun |
| Mistral Vibe | vibe | .vibe/skills/ | /openspec-apply-change | aucun | aucun |
| Oh My Pi | oh-my-pi | .omp/skills/ | /openspec-apply-change | .omp/commands/ | /opsx-apply |
| OpenCode | opencode | .opencode/skills/ | /openspec-apply-change | .opencode/commands/ | /opsx-apply |
| Pi | pi | .pi/skills/ | /openspec-apply-change | .pi/prompts/ | /opsx-apply |
| Qoder | qoder | .qoder/skills/ | /openspec-apply-change | .qoder/commands/opsx/ | /opsx:apply |
| Qwen Code | qwen | .qwen/skills/ | /openspec-apply-change | .qwen/commands/ | /opsx-apply |
| Trae | trae | .trae/skills/ | /openspec-apply-change | .trae/commands/ | /opsx-apply |
| Veai | veai | .veai/skills/ | /openspec-apply-change | aucun | aucun |
| Warp | warp | .warp/skills/ | /openspec-apply-change | aucun | aucun |
| ZCode | zcode | .zcode/skills/ | /openspec-apply-change | .zcode/commands/opsx/ | /opsx:apply |
| Zoo Code | roocode | .roo/skills/ | /openspec-apply-change | .roo/commands/ | /opsx-apply |
| Autre / Universel | agents | .agents/skills/ | /openspec-apply-change | aucun | aucun |
- Invocation de skill : le fait qu'un outil enregistre les skills comme des entrées saisies est le comportement propre à l'outil. La colonne indique l'orthographe qu'OpenSpec utilise dans les fichiers générés et dans l'indice affiché par init. Consultez la documentation de votre outil si sa saisie ne fait rien.
- Formats de fichiers de commande : la plupart des outils utilisent des fichiers de commande
.md. EasyCode et Gemini CLI utilisent.toml, Continue.prompt, et Code Studio, Kiro et GitHub Copilot.prompt.md. L'orthographe que vous saisissez est la même dans tous les cas.
Notes par outil
Un outil non répertorié ici se comporte exactement comme le décrit sa ligne.
Amp
- Skills de projet : Amp lit les skills OpenSpec depuis
.agents/skills/. - Aucun fichier de commande : Amp exécute les skills directement, donc init ignore la génération de commandes.
- Dossier partagé : Amp partage
.agents/skills/avec Antigravity, Codex, Zed Agent et la cibleagents. OpenSpec écrit l'arborescence de skills une seule fois.
Antigravity
- Dossier actuel : Antigravity v1.20.5 et versions ultérieures lisent les skills et workflows de l'espace de travail depuis
.agents/. - Dossier hérité : après qu'OpenSpec a écrit les remplacements, il supprime les fichiers générés équivalents de
.agent/. Les fichiers personnalisés et les fichiers générés modifiés restent dans.agent/pour que vous puissiez les examiner. - Skills partagés : Antigravity partage
.agents/skills/avec Amp, Codex, Zed Agent et la cibleagents. OpenSpec écrit cette arborescence de skills une seule fois tout en écrivant les commandes Antigravity dans.agents/workflows/.
Cline
Cline lit les commandes depuis .clinerules/workflows/, et non depuis son dossier .cline/. Les skills restent dans .cline/skills/.
Codex
- CLI et extension IDE : mentionnez
$openspec-proposeavec votre idée, ou exécutez/skillspour sélectionner le skill. Codex ne reconnaît pas/openspec-propose(issue upstream). - Application de bureau : ouvrez Skills dans la barre latérale et sélectionnez
openspec-propose. La documentation des skills d'OpenAI décrit les deux interfaces. - Aucun fichier de commande : Codex exécute les skills directement, donc init ignore les commandes même lorsque la livraison les inclut et affiche
Commands skipped for: codex (uses skills). - Dossier partagé : les skills Codex se trouvent dans
.agents/skills/, la même arborescence utilisée par Amp, Antigravity, Zed Agent et la cibleagents. La sélection de plusieurs outils conserve une arborescence unique compatible, et ses transferts orthographient à la fois$openspec-*et/openspec-*lorsque Codex en est propriétaire. - Chemin hérité : les skills installés sous
.codex/skills/par les anciennes versions sont migrés lors du prochainopenspec update.
DeepSeek Harness
- Racine du projet : DSH utilise l'ancêtre
.gitle plus proche, ou le répertoire courant en dehors de Git. Exécutezopenspec init --tools dshà cet endroit. Pour un projet OpenSpec imbriqué, ajoutez le chemin absolu de son répertoire.dsh/skills/aucustomSkillDirsde DSH. Les skills à la racine Git restent prioritaires en cas de chevauchement de noms (règles de découverte upstream). - Priorité :
.dsh/skills/est prioritaire sur les skills de même nom dans.agents/skills/. - Livraison : utilisez
skillsouboth. Aveccommands, aucun workflow DSH n'est installé. Modifiez la livraison avecopenspec config profile, puis réexécutezopenspec init --tools dsh.
Devin Desktop (anciennement Windsurf)
- Deux agents : les fichiers de commande dans
.devin/workflows/fonctionnent uniquement dans Devin Desktop. Devin Local exécute uniquement des skills, donc les skills générés référencent/openspec-<skill>, ce qui fonctionne dans les deux. - Renommage :
--tools windsurfse résout toujours endevin. Un projet contenant des fichiers OpenSpec dans l'ancien dossier.windsurf/se voit proposer le déplacement lors du prochainopenspec update.
GitHub Copilot
- Extensions IDE (livraison de commandes) : VS Code, JetBrains et Visual Studio chargent
.github/prompts/opsx-<id>.prompt.mdcomme/opsx-<id>. Si une commande disparaît alors que son fichier existe toujours, redémarrez l'IDE. - Copilot CLI (livraison de skills) : la CLI ignore
.github/prompts/et charge.github/skills/openspec-*/SKILL.mdà la place. Invoquez un skill comme/openspec-<skill>. Si un skill disparaît alors que son fichier existe toujours, exécutez/skills reload, puis/skills info openspec-proposepour confirmer la découverte.
GSD
- Skills de projet : GSD lit les workflows OpenSpec depuis
.agents/skills/. - Invocation : demandez à GSD d'utiliser le skill
openspec-<workflow>. GSD peut également sélectionner un skill correspondant via son paramètre de découverte de skills. - Aucun fichier de sous-agent :
.gsd/agents/contient les définitions de sous-agents GSD. OpenSpec n'y écrit pas de skills de workflow.
Hermes Agent
Hermes charge les skills uniquement depuis ~/.hermes/skills/ par défaut. Ajoutez le dossier .hermes/skills/ du projet à skills.external_dirs dans ~/.hermes/config.yaml ; init affiche ce rappel après l'installation.
MiniMax Code
- Global uniquement : les skills vont dans
~/.minimax/skills/. Rien n'est écrit dans le dépôt. - Sécurisé entre projets : une livraison de commandes uniquement laisse les skills globaux en place, de sorte que le paramètre d'un projet ne peut pas supprimer les skills qu'un autre projet utilise.
Warp
- Toujours des skills : les skills vont dans
.warp/skills/même lorsque la livraison estcommands, car Warp n'a pas de fichiers de commande et invoque les skills directement. - Ce qu'OpenSpec revendique : uniquement
.warp/skills/. Les paramètres Warp etWARP.mdne sont ni créés ni modifiés.
Autre / Universel (skills .agents partagés)
- Quand c'est approprié : tout outil qui lit le dossier partagé
.agents/skills/, y compris les outils sans ligne dans la matrice. C'est l'entrée à choisir lorsque votre assistant n'est pas listé. La zone de recherche du sélecteur init le trouve paruniversal,other,generic,custom,proprietary,unlisted,unsupported,vendor-neutralouagents.md. - Aux côtés d'autres cibles : Amp, Antigravity, Codex, Zed Agent et cette cible partagent une seule arborescence de skills physique. OpenSpec enregistre un écrivain dans
.openspec-targetet écrit l'arborescence une fois par exécution. Les fichiers de commande distincts de chaque outil sont toujours générés. - Ce qu'OpenSpec revendique : uniquement les dossiers
openspec-*et le marqueur.openspec-target. Tout le reste sous.agents/est laissé intact. AGENTS.md: non créé ni modifié. La cible est le dossier.agents/, pas le fichier.