Skip to content

Ferramentas Suportadas ​

O OpenSpec funciona com muitos assistentes de codificação por IA. Ao executar openspec init, o OpenSpec configura as ferramentas selecionadas usando sua seleção de perfil/fluxo de trabalho ativo e o modo de entrega.

Como Funciona ​

Para cada ferramenta selecionada, o OpenSpec pode instalar:

  1. Skills (se a entrega incluir skills): .../skills/openspec-*/SKILL.md
  2. Commands (se a entrega incluir commands): arquivos de comando opsx-* específicos da ferramenta

O Codex é somente skills: o OpenSpec instala .agents/skills/openspec-*/SKILL.md para o Codex mesmo quando a entrega está definida como commands, e não gera arquivos de prompt personalizado do Codex. As skills gerenciadas pelo OpenSpec existentes no caminho legado .codex/skills são reconciliadas após a escrita de seus substitutos; arquivos personalizados e divergentes são preservados.

Por padrão, o OpenSpec usa o perfil core, que inclui:

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

Você pode habilitar fluxos de trabalho expandidos (new, continue, ff, verify, bulk-archive, onboard) por meio de openspec config profile, e então executar openspec update.

Como Invocar ​

Estes documentos usam /opsx:propose como nome canônico, mas cada ferramenta o escreve da forma como carrega o arquivo que o OpenSpec escreveu. Encontre o caminho de comando da sua ferramenta na Referência de Diretório de Ferramentas abaixo e corresponda ao formato aqui.

Arquivo de comando que o OpenSpec escreveVocê digitaFerramentas
.../commands/opsx/<id>.* — uma pasta opsx/ cria o namespace/opsx:<id>Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode
.../opsx-<id>.* — o nome do arquivo é o comando/opsx-<id>Todas as outras ferramentas com arquivos de comando gerados, exceto Amazon Q e Devin
.devin/workflows/opsx-<id>.md — lido por apenas um dos dois agentes do Devin/opsx-<id> no Devin Desktop, /openspec-<skill> no Devin LocalDevin Desktop****
.amazonq/prompts/opsx-<id>.md — um prompt, não um comando@opsx-<id>Amazon Q Developer
nenhum — apenas skills/openspec-<skill>CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, .agents compartilhado
nenhum — Kimi Code/skill:openspec-<skill>Kimi Code
nenhum — Codex CLI$openspec-<skill>Codex (/openspec-<skill> não é reconhecido)

Então /opsx:propose é /opsx-propose no Cursor, @opsx-propose no Amazon Q e $openspec-propose no Codex.

Duas coisas variam independentemente, o que explica por que as linhas não se consolidam:

  • O nome. As linhas 1–2 diferem apenas na forma como o arquivo nomeia o comando, e o prefixo opsx-<id> / opsx:<id> é o mesmo para todas as ferramentas com arquivos de comando gerados.
  • O wrapper. O Amazon Q carrega seus arquivos em uma biblioteca de prompts invocada com @. Ferramentas apenas com skills não geram arquivos de comando, então suas três últimas linhas usam nomes de skill — listados em Nomes de Skills Gerados — que não correspondem um a um aos ids de comando (/opsx:apply é a skill openspec-apply-change).

Os padrões de caminho de comando acima são intencionalmente neutros quanto à extensão (.*): a extensão é da ferramenta (.toml para Gemini CLI, .prompt para Continue, .prompt.md para Kiro e GitHub Copilot), e algumas ferramentas mostram o nome com sua extensão no seletor. Corresponda à estrutura do diretório, não à extensão.

Os arquivos que o OpenSpec gera e a dica "Getting started" impressa após a configuração já usam a forma correta para as ferramentas que você selecionou — então a resposta mais rápida é ler a dica.

Referência de Diretório de Ferramentas ​

Ferramenta (ID)Padrão de caminho de skillsPadrão de caminho de comandos
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.mdNão gerado (sem adaptador de comandos; use invocações baseadas em skill /openspec-*)
CodeBuddy (codebuddy).codebuddy/skills/openspec-*/SKILL.md.codebuddy/commands/opsx/<id>.md
Codex (codex).agents/skills/openspec-*/SKILL.mdNão gerado (apenas skills; use $openspec-*)
Devin Desktop, anteriormente Windsurf (devin).devin/skills/openspec-*/SKILL.md.devin/workflows/opsx-<id>.md****
ForgeCode (forgecode).forge/skills/openspec-*/SKILL.mdNão gerado (sem adaptador de comandos; use invocações baseadas em 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***Não gerado (sem adaptador de comandos; use invocações baseadas em 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.mdNão gerado (sem adaptador de comandos; use invocações baseadas em 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.mdNão gerado (sem adaptador de comandos; use skills do MiniMax Code)
Mistral Vibe (vibe).vibe/skills/openspec-*/SKILL.mdNão gerado (sem adaptador de comandos; use invocações baseadas em 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.mdNão gerado. O Rovo não possui superfície de comandos com barra — ele corresponde skills automaticamente ou por prompt (ex.: "use a skill openspec-propose"); /skills apenas as gerencia. O conteúdo gerado referencia skills pelo nome, nunca como comandos /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.mdNão gerado (apenas skills; use /openspec-* ou @openspec-*)
ZCode (zcode).zcode/skills/openspec-*/SKILL.md.zcode/commands/opsx/<id>.md
Skills .agents compartilhadas (agents).agents/skills/openspec-*/SKILL.mdNão gerado (sem adaptador de comandos; use invocações baseadas em skill /openspec-*)

** Os arquivos de prompt do GitHub Copilot são reconhecidos como comandos com barra personalizados nas extensões de IDE (VS Code, JetBrains, Visual Studio). O Copilot CLI não consome .github/prompts/*.prompt.md diretamente no momento. Selecionar github-copilot também pode configurar o agente de codificação em nuvem hospedado no GitHub — veja GitHub Copilot cloud coding agent abaixo.

*** O Hermes carrega skills de ~/.hermes/skills/ por padrão. Para usar skills locais do projeto do OpenSpec, adicione o diretório .hermes/skills/ do projeto a skills.external_dirs em ~/.hermes/config.yaml; o Hermes então expõe skills com invocações com barra voltadas ao usuário, como /openspec-propose.

**** O Windsurf foi renomeado para Devin Desktop em 2 de junho de 2026, e seu diretório de configuração mudou: .devin/ é o local preferido de leitura e escrita, .windsurf/ um fallback legado somente leitura. O OpenSpec acompanha a renomeação — o id da ferramenta é devin, e --tools windsurf ainda resolve para ele, para que scripts de configuração existentes continuem funcionando. Um projeto que ainda possui arquivos do OpenSpec em .windsurf/ é oferecido a movê-los na próxima openspec update; recusar os deixa no lugar, e arquivos que você escreveu você mesmo nunca são tocados. Workflows são invocados pelo nome do arquivo, então .devin/workflows/opsx-apply.md é /opsx-apply. O agente Devin Local não suporta workflows — apenas skills, e ele não lê .windsurf/ de forma alguma — então sempre que o OpenSpec escreve skills do Devin, ele mantém seus corpos e a dica de início em invocações de skill /openspec-*, que funcionam nos dois agentes. Na entrega apenas com comandos, nenhuma skill é escrita e ambos recorrem a /opsx-*.

O suporte ao SourceCraft Code Assistant visa sua extensão para VS Code. Seus comandos personalizados e skills estão disponíveis apenas no VS Code. Esta integração não configura o SourceCraft web ou JetBrains.

Com a entrega apenas com skills, peça ao Code Assistant para usar a skill openspec-propose com sua ideia. Skills são ativadas por correspondência de solicitação; o OpenSpec não gera comandos /openspec-* para esta ferramenta.

O MiniMax Code é uma integração global apenas com skills. O OpenSpec escreve apenas seus diretórios openspec-* sob ~/.minimax/skills/; ele não cria diretórios locais do repositório .minimax ou .mavis. A entrega apenas com comandos deixa as skills globais existentes do MiniMax Code intactas, para que a configuração de entrega de um projeto não remova skills usadas por outro projeto.

GitHub Copilot cloud coding agent ​

O Copilot coding agent do GitHub roda no GitHub em um ambiente GitHub Actions — separado do Copilot no seu editor. O OpenSpec pode configurá-lo para usar o OpenSpec CLI gerando dois arquivos:

  • .github/workflows/copilot-setup-steps.yml — instala @fission-ai/openspec no ambiente do agente
  • .github/agents/openspec.agent.md — informa ao agente como operar o OpenSpec

Como isso escreve um workflow do GitHub Actions no seu repositório, ele é opt-in:

ComoComportamento
openspec init (interativo)Pergunta se deseja configurar os arquivos em nuvem. O padrão é Não.
openspec init --copilot-cloudConfigura sem perguntar (para scripts/CI).
openspec init --no-copilot-cloudPula sem perguntar e remove quaisquer anteriormente gerados.
openspec updateNunca pergunta. Atualiza os arquivos apenas se você optou por participar (ou o projeto já os possui). Se você optou por não participar, remove os arquivos em nuvem gerenciados pelo OpenSpec.

Sua escolha é salva em openspec/config.yaml como githubCopilot.cloudAgent: true|false, para que atualizações não interativas a respeitem. O OpenSpec apenas escreve ou remove arquivos cujo conteúdo ele gerou — se você personalizar copilot-setup-steps.yml ou openspec.agent.md, ou já tiver os seus próprios, eles são deixados intactos (e init/update informam você).

Quando escolher o alvo .agents compartilhado ​

agents é a opção neutra quanto ao fornecedor: ele escreve skills em .agents/skills/, a raiz compartilhada que muitas ferramentas de agentes leem, em vez de um diretório específico da ferramenta.

SituaçãoEscolha
Sua ferramenta tem sua própria linha acimaSeu próprio ID — você obtém a integração daquela ferramenta, incluindo comandos com barra onde ela os suporta
Vários agentes em um repositório, todos lendo .agents/skillsagents — uma árvore de skills em vez de uma por ferramenta
Sua ferramenta ainda não está listada, mas lê .agents/skillsagents

Selecioná-lo junto com um ID específico de ferramenta é aceitável; cada um normalmente escreve em sua própria raiz. Codex e Zed Agent são as exceções, pois usam a mesma raiz canônica .agents. Se Codex for selecionado junto com Zed ou agents, o OpenSpec mantém uma árvore liderada pelo Codex. Suas transferências nomeiam tanto $openspec-* para Codex quanto /openspec-* para outros agentes, para que --tools all e configurações multi-agente existentes continuem funcionando sem dois escritores sobrescrevendo os mesmos arquivos. O OpenSpec também o oferece automaticamente assim que um projeto possui um diretório .agents/skills/ — um .agents/ vazio não é suficiente, pois as ferramentas usam essa raiz também para regras e definições de subagentes. Observe que .agents não é .agent: o diretório singular pertence ao Antigravity.

Duas coisas a saber:

  • Apenas skills. Não existe adaptador de comandos, então nenhum arquivo de comando opsx-* é escrito; com um modo de entrega que inclui comandos, openspec init lista agents entre as ferramentas relatadas sob Commands skipped for: … (no adapter). Invoque os workflows pelo nome da skill — a maioria dos assistentes que leem .agents/skills escreve isso como /openspec-propose, a forma que a dica de configuração do OpenSpec imprime. O alvo é neutro quanto ao fornecedor, então verifique os próprios documentos do seu assistente se ele usar outra forma.
  • Nenhum AGENTS.md é criado ou editado. O alvo é o diretório .agents/. Se seu AGENTS.md raiz ainda contém blocos de marcador do OpenSpec de uma versão anterior, openspec update os remove — veja o Guia de Migração.

O suporte ao Zed aqui é para o Zed Agent embutido. Zed External Agents e Terminal Threads usam suas próprias integrações. Agent Skills requerem o Zed v1.4.2 ou mais recente. Skills locais do projeto estão indisponíveis em um worktree não confiável até você conceder confiança.

Como .agents/skills/ é compartilhado por Codex, Zed Agent e o alvo neutro quanto ao fornecedor, vale saber o que o OpenSpec reivindica ali: ele escreve, atualiza e remove apenas os diretórios de skill openspec-* para seus workflows selecionados, além de um marcador .openspec-target que registra se Codex, Zed Agent ou o alvo neutro quanto ao fornecedor renderizou aquela árvore compartilhada. Qualquer outra coisa naquele diretório é deixada intacta. Trate os nomes openspec-* e o marcador como do OpenSpec — edições dentro deles são substituídas na próxima openspec update, assim como para todas as outras ferramentas.

Para projetos anteriores ao marcador, o OpenSpec infere a propriedade a partir de referências de skills gerenciadas: $openspec-* significa Codex e /openspec-* significa o alvo neutro quanto ao fornecedor. Uma árvore canônica genérica ao lado de .codex/skills legado é tratada como uma instalação dual-target anterior e consolidada na árvore compartilhada compatível.

openspec update também respeita essa propriedade. Se um projeto possui .agents como alvo neutro quanto ao fornecedor e uma instalação residual do Codex é detectada apenas por arquivos de prompt soltos, a atualização deixa a árvore agents estabelecida no lugar em vez de reescrevê-la com sintaxe do Codex, e preserva aqueles arquivos de prompt legados em vez de removê-los. Para transferir a árvore compartilhada ao Codex, execute openspec init --tools codex explicitamente.

Configuração Não Interativa ​

Para configuração CI/CD ou por script, use --tools (e opcionalmente --profile):

bash
# Configura ferramentas específicas
openspec init --tools claude,cursor

# Configura todas as ferramentas suportadas
openspec init --tools all

# Pula a configuração de ferramentas
openspec init --tools none

# Substitui o perfil para esta execução de init
openspec init --profile core

IDs de ferramentas disponíveis (--tools) — windsurf também é aceito, como um alias para 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

Instalação Dependente do Fluxo de Trabalho ​

O OpenSpec instala artefatos de fluxo de trabalho com base nos fluxos de trabalho selecionados:

  • Perfil principal (padrão): propose, explore, apply, update, sync, archive
  • Seleção personalizada: qualquer subconjunto de todos os IDs de fluxo de trabalho: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

Em outras palavras, as contagens de habilidades/comandos são dependentes do perfil e da entrega, não fixas.

Nomes de Habilidades Geradas ​

Quando selecionadas pela configuração de perfil/fluxo de trabalho, o OpenSpec gera estas habilidades:

  • 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

Consulte Comandos para o comportamento dos comandos e CLI para as opções de init/update.

Relacionados ​