Skip to content

Strumenti Supportati ​

OpenSpec funziona con molti assistenti di codifica AI. Quando esegui openspec init, OpenSpec configura gli strumenti selezionati utilizzando il profilo attivo, la selezione del flusso di lavoro e la modalità di consegna.

Come Funziona ​

Per ogni strumento selezionato, OpenSpec può installare:

  1. Skills (se la consegna include skills): .../skills/openspec-*/SKILL.md
  2. Commands (se la consegna include commands): file di comando opsx-* specifici dello strumento

Codex è solo skills: OpenSpec installa .agents/skills/openspec-*/SKILL.md per Codex anche quando la consegna è impostata su commands, e non genera file di prompt personalizzati per Codex. Le skills gestite da OpenSpec nel percorso legacy .codex/skills vengono riconciliate dopo che le loro sostituzioni sono state scritte; i file personalizzati e divergenti vengono preservati.

Per impostazione predefinita, OpenSpec utilizza il profilo core, che include:

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

Puoi abilitare flussi di lavoro estesi (new, continue, ff, verify, bulk-archive, onboard) tramite openspec config profile, quindi esegui openspec update.

Come Invocare ​

Questi documenti usano /opsx:propose come nome canonico, ma ogni strumento lo scrive nel modo in cui carica il file che OpenSpec ha scritto. Trova il percorso dei comandi del tuo strumento nel Riferimento alla Directory degli Strumenti di seguito, poi abbina la sua forma qui.

File di comando scritto da OpenSpecTu digitiStrumenti
.../commands/opsx/<id>.* — una cartella opsx/ lo colloca in un namespace/opsx:<id>Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode
.../opsx-<id>.* — il nome del file è il comando/opsx-<id>Ogni altro strumento con file di comando generati, eccetto Amazon Q e Devin
.devin/workflows/opsx-<id>.md — letto solo da uno dei due agenti di Devin/opsx-<id> su Devin Desktop, /openspec-<skill> su Devin LocalDevin Desktop****
.amazonq/prompts/opsx-<id>.md — un prompt, non un comando@opsx-<id>Amazon Q Developer
nessuno — solo skill/openspec-<skill>CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, .agents condiviso
nessuno — Kimi Code/skill:openspec-<skill>Kimi Code
nessuno — Codex CLI$openspec-<skill>Codex (/openspec-<skill> non è riconosciuto)

Quindi /opsx:propose è /opsx-propose in Cursor, @opsx-propose in Amazon Q, e $openspec-propose in Codex.

Due cose variano indipendentemente, motivo per cui le righe non si comprimono:

  • Il nome. Le righe 1–2 differiscono solo nel modo in cui il file nomina il comando, e la radice opsx-<id> / opsx:<id> è la stessa per ogni strumento con file di comando generati.
  • Il wrapper. Amazon Q carica i suoi file in una libreria di prompt invocati con @. Gli strumenti solo-skill non generano alcun file di comando, quindi le loro ultime tre righe usano nomi skill — elencati in Nomi Skill Generati — che non mappano uno-a-uno sugli ID di comando (/opsx:apply è la skill openspec-apply-change).

I pattern dei percorsi dei comandi sopra sono volutamente neutri rispetto all'estensione (.*): l'estensione è quella dello strumento (.toml per Gemini CLI, .prompt per Continue, .prompt.md per Kiro e GitHub Copilot), e alcuni strumenti mostrano il nome con la sua estensione nel selettore. Abbina la forma della directory, non l'estensione.

I file che OpenSpec genera, e il suggerimento "Per iniziare" stampato dopo la configurazione, usano già la forma corretta per gli strumenti selezionati — quindi la risposta più veloce è leggere il suggerimento.

Riferimento alla Directory degli Strumenti ​

Strumento (ID)Pattern percorso SkillPattern percorso Comando
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 generato (nessun adattatore di comando; usa invocazioni basate su skill /openspec-*)
CodeBuddy (codebuddy).codebuddy/skills/openspec-*/SKILL.md.codebuddy/commands/opsx/<id>.md
Codex (codex).agents/skills/openspec-*/SKILL.mdNon generato (solo skill; usa $openspec-*)
Devin Desktop, formerly Windsurf (devin).devin/skills/openspec-*/SKILL.md.devin/workflows/opsx-<id>.md****
ForgeCode (forgecode).forge/skills/openspec-*/SKILL.mdNon generato (nessun adattatore di comando; usa invocazioni basate su skill /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 generato (nessun adattatore di comando; usa invocazioni basate su skill /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 generato (nessun adattatore di comando; usa invocazioni basate su skill /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 generato (nessun adattatore di comando; usa le skill MiniMax Code)
Mistral Vibe (vibe).vibe/skills/openspec-*/SKILL.mdNon generato (nessun adattatore di comando; usa invocazioni basate su skill /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
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.mdNon generato. Rovo non ha una superficie di comandi slash — abbina le skill automaticamente o tramite prompt (es. "usa la skill openspec-propose"); /skills le gestisce solo. Il contenuto generato fa riferimento alle skill per nome, mai come comandi /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 generato (solo skill; usa /openspec-* o @openspec-*)
ZCode (zcode).zcode/skills/openspec-*/SKILL.md.zcode/commands/opsx/<id>.md
.agents condiviso (agents).agents/skills/openspec-*/SKILL.mdNon generato (nessun adattatore di comando; usa invocazioni basate su skill /openspec-*)

** I file prompt di GitHub Copilot sono riconosciuti come comandi slash personalizzati nelle estensioni IDE (VS Code, JetBrains, Visual Studio). La CLI di Copilot attualmente non consuma direttamente .github/prompts/*.prompt.md. Selezionando github-copilot puoi anche configurare l'agente di coding cloud ospitato su GitHub — vedi Agente di coding cloud di GitHub Copilot di seguito.

*** Hermes carica le skill da ~/.hermes/skills/ per impostazione predefinita. Per utilizzare le skill OpenSpec locali al progetto, aggiungi la directory .hermes/skills/ del progetto a skills.external_dirs in ~/.hermes/config.yaml; Hermes quindi espone le skill con invocazioni slash visibili all'utente come /openspec-propose.

**** Windsurf è stato rinominato in Devin Desktop il 2 giugno 2026, e la sua directory di configurazione si è spostata: .devin/ è la posizione preferita per lettura+scrittura, .windsurf/ un fallback legacy di sola lettura. OpenSpec segue la rinomina — l'ID dello strumento è devin, e --tools windsurf risolve ancora ad esso, così gli script di configurazione esistenti continuano a funzionare. Un progetto che ha ancora file OpenSpec in .windsurf/ riceve la proposta di spostamento al prossimo openspec update; rifiutare lascia tutto al suo posto, e i file scritti da te non vengono mai toccati. Le workflow sono invocate per nome file, quindi .devin/workflows/opsx-apply.md è /opsx-apply. L'agente Devin Local non supporta le workflow — solo le skill, e non legge affatto .windsurf/ — quindi quando OpenSpec scrive le skill di Devin mantiene i loro corpi, e il suggerimento iniziale, su invocazioni /openspec-*, che funzionano su entrambi gli agenti. Nella distribuzione solo-comandi non vengono scritte skill e entrambi cadono su /opsx-*.

Il supporto SourceCraft Code Assistant è destinato alla sua estensione VS Code. I suoi comandi personalizzati e skill sono disponibili solo in VS Code. Questa integrazione non configura SourceCraft web o JetBrains.

Con la distribuzione solo-skill, chiedi a Code Assistant di usare la skill openspec-propose con la tua idea. Le skill si attivano tramite corrispondenza delle richieste; OpenSpec non genera comandi /openspec-* per questo strumento.

MiniMax Code è un'integrazione globale solo-skill. OpenSpec scrive solo le sue directory openspec-* sotto ~/.minimax/skills/; non crea directory locali al repository .minimax o .mavis. La distribuzione solo-comandi lascia intatte le skill globali esistenti di MiniMax Code, così l'impostazione di distribuzione di un progetto non può rimuovere skill usate da un altro progetto.

Agente di coding cloud di GitHub Copilot ​

L'agente di coding Copilot di GitHub esegue su GitHub in un ambiente GitHub Actions — separato da Copilot nel tuo editor. OpenSpec può configurarlo per usare la CLI OpenSpec generando due file:

  • .github/workflows/copilot-setup-steps.yml — installa @fission-ai/openspec nell'ambiente dell'agente
  • .github/agents/openspec.agent.md — dice all'agente come guidare OpenSpec

Poiché questo scrive una workflow GitHub Actions nel tuo repository, è opt-in (scelta esplicita):

ComeComportamento
openspec init (interattivo)Chiede se configurare i file cloud. L'impostazione predefinita è No.
openspec init --copilot-cloudLi configura senza chiedere (per script/CI).
openspec init --no-copilot-cloudLi salta senza chiedere, e rimuove quelli generati in precedenza.
openspec updateNon chiede mai. Aggiorna i file solo se hai optato (o il progetto li ha già). Se hai optato per non configurarli, rimuove i file cloud gestiti da OpenSpec.

La tua scelta viene salvata in openspec/config.yaml come githubCopilot.cloudAgent: true|false, così gli aggiornamenti non interattivi la rispettano. OpenSpec scrive o rimuove solo file il cui contenuto ha generato — se personalizzi copilot-setup-steps.yml o openspec.agent.md, o ne hai già uno tuo, non viene toccato (e init/update te lo dicono).

Quando scegliere la destinazione condivisa .agents ​

agents è l'opzione neutrale rispetto al fornitore: scrive skill in .agents/skills/, la radice condivisa che molti strumenti agente leggono, invece di una directory specifica dello strumento.

SituazioneScegli
Il tuo strumento ha una propria riga sopraIl suo ID — ottieni l'integrazione di quello strumento, inclusi i comandi slash dove li supporta
Più agenti su un repository, tutti che leggono .agents/skillsagents — un albero di skill invece di uno per strumento
Il tuo strumento non è ancora elencato ma legge .agents/skillsagents

Selezionarlo insieme a un ID specifico dello strumento è accettabile; di norma ciascuno scrive nella propria radice. Codex e Zed Agent sono le eccezioni perché usano la stessa radice canonica .agents. Se Codex è selezionato con Zed o agents, OpenSpec mantiene un albero guidato da Codex. I suoi passaggi nominano sia $openspec-* per Codex sia /openspec-* per altri agenti, quindi --tools all e le configurazioni multi-agente esistenti continuano a funzionare senza che due scrittori sovrascrivano gli stessi file. OpenSpec lo offre anche automaticamente una volta che un progetto ha una directory .agents/skills/ — un semplice .agents/ non basta, poiché gli strumenti usano quella radice anche per regole e definizioni di subagent. Nota che .agents non è .agent: la directory singolare appartiene ad Antigravity.

Due cose da sapere:

  • Solo skill. Non esiste alcun adattatore di comandi, quindi non vengono scritti file di comando opsx-*; con una modalità di distribuzione inclusiva dei comandi, openspec init elenca agents tra gli strumenti che segnala sotto Comandi saltati per: … (nessun adattatore). Invoca le workflow per nome di skill — la maggior parte degli assistenti che leggono .agents/skills lo scrivono come /openspec-propose, la forma che il suggerimento di configurazione di OpenSpec stampa. La destinazione è neutrale rispetto al fornitore, quindi controlla la documentazione del tuo assistente se usa un'altra forma.

  • Nessun AGENTS.md viene creato o modificato. La destinazione è la directory .agents/. Se il tuo AGENTS.md radice contiene ancora blocchi marcatore OpenSpec da una versione precedente, openspec update li rimuove — vedi la Guida alla migrazione.

Il supporto Zed qui è per l'agente Zed integrato. Gli Agenti Esterni Zed e i Thread Terminali usano le proprie integrazioni. Le Skill dell'Agente richiedono Zed v1.4.2 o successivo. Le skill locali al progetto non sono disponibili in un albero di lavoro non attendibile finché non concedi la fiducia.

Poiché .agents/skills/ è condiviso da Codex, Zed Agent e la destinazione neutrale, vale la pena sapere cosa OpenSpec reclama lì: scrive, aggiorna e rimuove solo le directory skill openspec-* per le workflow selezionate, più un marcatore .openspec-target che registra se Codex, Zed Agent o la destinazione neutrale ha renderizzato quell'albero condiviso. Qualsiasi altra cosa in quella directory viene lasciata intatta. Tratta i nomi openspec-* e il marcatore come di OpenSpec — le modifiche al loro interno vengono sostituite al prossimo openspec update, come per ogni altro strumento.

Per progetti pre-marcatore, OpenSpec deduce la proprietà dai riferimenti alle skill gestite: $openspec-* significa Codex e /openspec-* significa la destinazione neutrale. Un albero canonico generico accanto a .codex/skills legacy viene trattato come un'installazione dual-target più vecchia e consolidato nell'albero condiviso compatibile.

openspec update rispetta anche questa proprietà. Se un progetto possiede .agents come destinazione neutrale e viene rilevata un'installazione Codex residua solo da file prompt sparsi, l'aggiornamento lascia l'albero agents esistente al suo posto invece di riscriverlo con sintassi Codex, e preserva quei file prompt legacy invece di cancellarli. Per passare l'albero condiviso a Codex, esegui esplicitamente openspec init --tools codex.

Configurazione non interattiva ​

Per ambienti CI/CD o configurazioni scriptate, utilizza --tools (e opzionalmente --profile):

bash
# Configura strumenti specifici
openspec init --tools claude,cursor

# Configura tutti gli strumenti supportati
openspec init --tools all

# Salta la configurazione degli strumenti
openspec init --tools none

# Sovrascrivi il profilo per questa esecuzione di init
openspec init --profile core

ID degli strumenti disponibili (--tools) — è accettato anche windsurf, come alias per 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

Installazione dipendente dal flusso di lavoro ​

OpenSpec installa gli artefatti del flusso di lavoro in base ai flussi di lavoro selezionati:

  • Profilo core (predefinito): propose, explore, apply, update, sync, archive
  • Selezione personalizzata: qualsiasi sottoinsieme di tutti gli ID dei flussi di lavoro: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

In altre parole, il numero di skill/comandi dipende dal profilo e dalla consegna, non è fisso.

Nomi delle skill generate ​

Quando selezionate tramite la configurazione del profilo/flusso di lavoro, OpenSpec genera queste skill:

  • 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

Consulta Commands per il comportamento dei comandi e CLI per le opzioni di init/update.

Correlati ​