Ondersteunde Tools
OpenSpec werkt met veel AI-codeerassistenten. Wanneer je openspec init uitvoert, configureert OpenSpec geselecteerde tools met behulp van je actieve profiel/workflowselectie en leveringsmodus.
Hoe het werkt
Voor elke geselecteerde tool kan OpenSpec installeren:
- Skills (als de levering skills omvat):
.../skills/openspec-*/SKILL.md - Commands (als de levering commands omvat): tool-specifieke
opsx-*commandobestanden
Codex is skills-only: OpenSpec installeert .agents/skills/openspec-*/SKILL.md voor Codex, zelfs wanneer de levering is ingesteld op commands, en het genereert geen aangepaste promptbestanden voor Codex. Bestaande door OpenSpec beheerde skills onder het verouderde pad .codex/skills worden verzoend nadat hun vervangingen zijn geschreven; aangepaste en afwijkende bestanden worden behouden.
Standaard gebruikt OpenSpec het core-profiel, dat het volgende omvat:
proposeexploreapplyupdatesyncarchive
Je kunt uitgebreide workflows (new, continue, ff, verify, bulk-archive, onboard) inschakelen via openspec config profile, en vervolgens openspec update uitvoeren.
Hoe aan te roepen
Deze documentatie gebruikt /opsx:propose als de canonieke naam, maar elke tool schrijft het zoals het het door OpenSpec geschreven bestand laadt. Zoek het commandopad van jouw tool in de Tool-directory-referentie hieronder, en pas dan de vorm ervan hier toe.
| Opdrachtbestand dat OpenSpec schrijft | Jij typt | Tools |
|---|---|---|
.../commands/opsx/<id>.* — een opsx/-map dient als naamruimte | /opsx:<id> | Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode |
.../opsx-<id>.* — de bestandsnaam is het commando | /opsx-<id> | Alle andere tools met gegenereerde commandobestanden, behalve Amazon Q en Devin |
.devin/workflows/opsx-<id>.md — wordt slechts door één van Devins twee agenten gelezen | /opsx-<id> op Devin Desktop, /openspec-<skill> op Devin Local | Devin Desktop**** |
.amazonq/prompts/opsx-<id>.md — een prompt, niet een commando | @opsx-<id> | Amazon Q Developer |
| geen — alleen skills | /openspec-<skill> | CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, gedeelde .agents |
| geen — Kimi Code | /skill:openspec-<skill> | Kimi Code |
| geen — Codex CLI | $openspec-<skill> | Codex (/openspec-<skill> wordt niet herkend) |
Dus /opsx:propose is /opsx-propose in Cursor, @opsx-propose in Amazon Q, en $openspec-propose in Codex.
Twee dingen variëren onafhankelijk, wat verklaart waarom de rijen niet samenvallen:
- De naam. Rijen 1–2 verschillen alleen in hoe het bestand het commando benoemt, en de stam
opsx-<id>/opsx:<id>is hetzelfde voor elke tool met gegenereerde commandobestanden. - De verpakking. Amazon Q laadt zijn bestanden in een promptbibliotheek die met
@wordt aangeroepen. Tools die alleen skills gebruiken genereren helemaal geen commandobestanden, dus gebruiken hun laatste drie rijen skill-namen — vermeld onder Gegenereerde skill-namen — die niet een-op-een corresponderen met command-ID's (/opsx:applyis de skillopenspec-apply-change).
De opdrachtpadpatronen hierboven zijn bewust extensieneutraal (.*): de extensie is die van de tool (.toml voor Gemini CLI, .prompt voor Continue, .prompt.md voor Kiro en GitHub Copilot), en een paar tools tonen de naam met extensie in de kiezer. Stem overeen op de mapvorm, niet op de extensie.
De bestanden die OpenSpec genereert, en de 'Aan de slag'-hint die na de installatie wordt getoond, gebruiken al de juiste vorm voor de door jou gekozen tools — dus de snelste oplossing is om de hint te lezen.
Tool-directory-referentie
| Tool (ID) | Skillspadpatroon | Commando padpatroon |
|---|---|---|
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.md | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /openspec-*-aanroepen) |
CodeBuddy (codebuddy) | .codebuddy/skills/openspec-*/SKILL.md | .codebuddy/commands/opsx/<id>.md |
Codex (codex) | .agents/skills/openspec-*/SKILL.md | Niet gegenereerd (alleen skills; gebruik $openspec-*) |
Devin Desktop, voorheen Windsurf (devin) | .devin/skills/openspec-*/SKILL.md | .devin/workflows/opsx-<id>.md**** |
ForgeCode (forgecode) | .forge/skills/openspec-*/SKILL.md | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /openspec-*-aanroepen) |
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*** | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /openspec-*-aanroepen) |
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.md | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /skill:openspec-*-aanroepen) |
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.md | Niet gegenereerd (geen commando-adapter; gebruik MiniMax Code skills) |
Mistral Vibe (vibe) | .vibe/skills/openspec-*/SKILL.md | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /openspec-*-aanroepen) |
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 |
SourceCraft Code Assistant for 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.md | Niet gegenereerd. Rovo heeft geen slash-commando-interface — het koppelt skills automatisch of via een prompt (bijv. 'gebruik de openspec-propose skill'); /skills beheert ze alleen. Gegenereerde inhoud verwijst naar skills op naam, nooit als /openspec-* commando's. |
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.md | Niet gegenereerd (alleen skills; gebruik /openspec-* of @openspec-*) |
ZCode (zcode) | .zcode/skills/openspec-*/SKILL.md | .zcode/commands/opsx/<id>.md |
Gedeelde .agents skills (agents) | .agents/skills/openspec-*/SKILL.md | Niet gegenereerd (geen commando-adapter; gebruik skillgebaseerde /openspec-*-aanroepen) |
** GitHub Copilot-promptbestanden worden herkend als aangepaste slash-commando's in IDE-extensies (VS Code, JetBrains, Visual Studio). Copilot CLI consumeert .github/prompts/*.prompt.md momenteel niet rechtstreeks. Het selecteren van github-copilot kan ook de door GitHub gehoste cloud coding agent instellen — zie GitHub Copilot cloud coding agent hieronder.
*** Hermes laadt skills standaard vanuit ~/.hermes/skills/. Om project-lokale OpenSpec-skills te gebruiken, voeg je de map .hermes/skills/ van het project toe aan skills.external_dirs in ~/.hermes/config.yaml; Hermes stelt vervolgens skills beschikbaar via slash-aanroepen zoals /openspec-propose.
**** Windsurf is omgedoopt tot Devin Desktop op 2 juni 2026, en de configuratiemap is verplaatst: .devin/ is de voorkeurslocatie voor lezen + schrijven, .windsurf/ een verouderde alleen-lezen fallback. OpenSpec volgt de naamsverandering — de tool-id is devin, en --tools windsurf verwijst er nog steeds naar, zodat bestaande setup-scripts blijven werken. Een project dat nog OpenSpec-bestanden in .windsurf/ bevat, krijgt bij de volgende openspec update de optie om ze te verplaatsen; afwijzen laat ze op hun plaats, en bestanden die je zelf hebt geschreven worden nooit aangeraakt. Workflows worden aangeroepen op bestandsnaam, dus .devin/workflows/opsx-apply.md wordt /opsx-apply. De Devin Local-agent ondersteunt geen workflows — alleen skills, en leest .windsurf/ helemaal niet — dus wanneer OpenSpec Devin-skills schrijft, behoudt het hun bodies en de aan-de-slag-hint bij /openspec-* skill-aanroepen, die op beide agenten werken. Bij een alleen-opdrachtenlevering worden er geen skills geschreven en vallen beide terug op /opsx-*.
De ondersteuning voor SourceCraft Code Assistant is gericht op de VS Code-extensie. De aangepaste commando's en skills zijn alleen beschikbaar in VS Code. Deze integratie configureert SourceCraft web of JetBrains niet.
Bij een alleen-skillslevering, vraag je Code Assistant om de openspec-propose skill te gebruiken met jouw idee. Skills activeren via verzoekherkenning; OpenSpec genereert geen /openspec-* commando's voor deze tool.
MiniMax Code is een globale alleen-skills integratie. OpenSpec schrijft alleen zijn openspec-*-mappen onder ~/.minimax/skills/; het maakt geen repo-lokale .minimax- of .mavis-mappen aan. Een alleen-opdrachtenlevering laat bestaande globale MiniMax Code-skills onaangeroerd, zodat de leveringsinstelling van één project geen skills kan verwijderen die door een ander project worden gebruikt.
GitHub Copilot cloud-coderingsagent
GitHub's Copilot-coderingsagent draait op GitHub in een GitHub Actions-omgeving — los van Copilot in je editor. OpenSpec kan het instellen om de OpenSpec CLI te gebruiken door twee bestanden te genereren:
.github/workflows/copilot-setup-steps.yml— installeert@fission-ai/openspecin de omgeving van de agent.github/agents/openspec.agent.md— vertelt de agent hoe OpenSpec aan te sturen
Omdat dit een GitHub Actions-werkstroom in jouw repository schrijft, is het opt-in:
| Hoe | Gedrag |
|---|---|
openspec init (interactief) | Vraagt of cloudbestanden moeten worden ingesteld. Standaard is Nee. |
openspec init --copilot-cloud | Stelt ze in zonder te vragen (voor scripts/CI). |
openspec init --no-copilot-cloud | Slaat ze over zonder te vragen, en verwijdert eerder gegenereerde exemplaren. |
openspec update | Vraagt nooit. Vernieuwt de bestanden alleen als je hebt ingeschakeld (of het project ze al heeft). Als je hebt uitgeschakeld, verwijdert het de door OpenSpec beheerde cloudbestanden. |
Jouw keuze wordt opgeslagen in openspec/config.yaml als githubCopilot.cloudAgent: true|false, zodat niet-interactieve updates deze respecteren. OpenSpec schrijft of verwijdert alleen bestanden waarvan het de inhoud zelf heeft gegenereerd — als je copilot-setup-steps.yml of openspec.agent.md aanpast, of al eigen versies hebt, worden ze met rust gelaten (en init/update melden dat ook).
Wanneer je de gedeelde .agents-doelmap kiest
agents is de leverancierneutrale optie: het schrijft skills naar .agents/skills/, de gedeelde root die veel agent-tools lezen, in plaats van naar een tool-specifieke map.
| Situatie | Kies |
|---|---|
| Jouw tool heeft een eigen rij hierboven | Zijn eigen ID — je krijgt de integratie van die tool, inclusief slash-commando's waar deze worden ondersteund |
Meerdere agenten op één repo, die allemaal .agents/skills lezen | agents — één skillboom in plaats van één per tool |
Jouw tool staat nog niet in de lijst, maar leest .agents/skills | agents |
Het samen met een tool-specifieke ID selecteren is prima; elk schrijft normaal gesproken naar zijn eigen root. Codex en Zed Agent zijn de uitzonderingen omdat ze dezelfde canonieke .agents-root gebruiken. Als Codex samen met Zed of agents is geselecteerd, behoudt OpenSpec één door Codex geleide boom. De overdrachten ervan benoemen zowel $openspec-* voor Codex als /openspec-* voor andere agenten, zodat --tools all en bestaande multi-agent-opstellingen blijven werken zonder dat twee schrijvers dezelfde bestanden overschrijven. OpenSpec biedt het ook automatisch aan zodra een project een .agents/skills/-map heeft — een kale .agents/ is niet genoeg, aangezien tools die root ook voor regels en subagent-definities gebruiken. Let op: .agents is niet .agent: de enkelvoudige map hoort bij Antigravity.
Twee dingen om te weten:
- Alleen skills. Er is geen commando-adapter, dus er worden geen
opsx-*-commandobestanden geschreven; met een leveringsmodus die commando's omvat, vermeldtopenspec initagentsbij de tools onderCommands skipped for: … (no adapter). Roep de workflows aan op skill-naam — de meeste assistenten die.agents/skillslezen, schrijven dat als/openspec-propose, de vorm die de setup-hint van OpenSpec toont. Het doel is leverancierneutraal, dus raadpleeg de eigen documentatie van jouw assistent als deze een andere vorm gebruikt. - Er wordt geen
AGENTS.mdaangemaakt of bewerkt. Het doel is de.agents/-map. Als jouw root-AGENTS.mdnog OpenSpec-markeringsblokken van een oudere versie bevat, verwijdertopenspec updatedeze — zie de Migratiegids.
De Zed-ondersteuning hier is voor de ingebouwde Zed Agent. Zed External Agents en Terminal Threads gebruiken hun eigen integraties. Agent Skills vereisen Zed v1.4.2 of nieuwer. Project-lokale skills zijn niet beschikbaar in een niet-vertrouwde worktree totdat je vertrouwen verleent.
Omdat .agents/skills/ wordt gedeeld door Codex, Zed Agent en de leverancierneutrale doel, is het goed om te weten wat OpenSpec daar claimt: het schrijft, vernieuwt en verwijdert alleen de openspec-*-skillmappen voor jouw geselecteerde workflows, plus een .openspec-target-marker die vastlegt of Codex, Zed Agent of de leverancierneutrale doel die gedeelde boom heeft gegenereerd. Al het andere in die map wordt met rust gelaten. Beschouw de openspec-*-namen en de marker als van OpenSpec — bewerkingen erin worden bij de volgende openspec update overschreven, net als bij elke andere tool.
Voor projecten zonder marker leidt OpenSpec het eigenaarschap af uit de beheerde skillverwijzingen: $openspec-* betekent Codex en /openspec-* betekent de leverancierneutrale doel. Een generieke canonieke boom naast een verouderde .codex/skills wordt behandeld als een oudere dual-target installatie en samengevoegd in de compatibele gedeelde boom.
openspec update respecteert dit eigenaarschap ook. Als een project .agents bezit als de leverancierneutrale doel en een overgebleven Codex-installatie alleen wordt gedetecteerd aan de hand van losse promptbestanden, laat de update de bestaande agents-boom op zijn plek in plaats van deze te herschrijven met Codex-syntax, en behoudt het die verouderde promptbestanden in plaats van ze te verwijderen. Om de gedeelde boom aan Codex over te dragen, voer je expliciet openspec init --tools codex uit.
Niet-interactieve configuratie
Voor CI/CD of scriptmatige configuratie, gebruik --tools (en optioneel --profile):
# Configureer specifieke tools
openspec init --tools claude,cursor
# Configureer alle ondersteunde tools
openspec init --tools all
# Sla toolconfiguratie over
openspec init --tools none
# Overschrijf profiel voor deze init-run
openspec init --profile coreBeschikbare tool-ID's (--tools) — windsurf wordt ook geaccepteerd als alias voor 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
Workflow-afhankelijke installatie
OpenSpec installeert workflow-artefacten op basis van geselecteerde workflows:
- Kernprofiel (standaard):
propose,explore,apply,update,sync,archive - Aangepaste selectie: elk subset van alle workflow-ID's:
propose,explore,new,continue,apply,update,ff,sync,archive,bulk-archive,verify,onboard
Met andere woorden, het aantal vaardigheden/commando's is profiel- en leveringsafhankelijk, niet vast.
Gegenereerde vaardigheidsnamen
Wanneer geselecteerd via profiel-/workflowconfiguratie, genereert OpenSpec deze vaardigheden:
openspec-proposeopenspec-exploreopenspec-new-changeopenspec-continue-changeopenspec-apply-changeopenspec-update-changeopenspec-ff-changeopenspec-sync-specsopenspec-archive-changeopenspec-bulk-archive-changeopenspec-verify-changeopenspec-onboard
Zie Commands voor opdrachtgedrag en CLI voor init/update opties.
Gerelateerd
- CLI Reference — Terminalcommando's
- Commands — Slash-commando's en vaardigheden
- Getting Started — Eerste installatie