Herramientas compatibles
OpenSpec funciona con muchos asistentes de programación con IA. Al ejecutar
openspec init, configura las herramientas seleccionadas de acuerdo con el
perfil o los flujos de trabajo activos y el modo de distribución.
Cómo funciona
Sección titulada «Cómo funciona»Para cada herramienta seleccionada, OpenSpec puede instalar:
- Habilidades (si la distribución incluye habilidades):
.../skills/openspec-*/SKILL.md - Comandos (si la distribución incluye comandos): archivos de comandos
opsx-*específicos de cada herramienta
Codex solo admite habilidades: OpenSpec instala .agents/skills/openspec-*/SKILL.md
para Codex incluso si el modo de distribución es commands, y no genera
archivos de instrucciones personalizados para Codex. Las habilidades existentes
administradas por OpenSpec en la ruta heredada .codex/skills se reconcilian
después de escribir sus reemplazos; los archivos personalizados o distintos se
conservan.
De forma predeterminada, OpenSpec usa el perfil core, que incluye:
proposeexploreapplyupdatesyncarchive
Puedes activar flujos de trabajo ampliados (new, continue, ff, verify,
bulk-archive, onboard) con openspec config profile y, después, ejecutar
openspec update.
Cómo invocarlos
Sección titulada «Cómo invocarlos»Esta documentación usa /opsx:propose como nombre canónico, pero cada
herramienta lo representa según la forma en que carga el archivo generado por
OpenSpec. Busca la ruta de comandos de tu herramienta en la Referencia de
directorios de herramientas y aplica aquí el formato
correspondiente.
| Archivo de comando que escribe OpenSpec | Lo que escribes | Herramientas |
|---|---|---|
.../commands/opsx/<id>.* — la carpeta opsx/ indica el espacio de nombres |
/opsx:<id> |
Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode |
.../opsx-<id>.* — el nombre del archivo es el comando |
/opsx-<id> |
Todas las demás herramientas que generan archivos de comandos, salvo Amazon Q y Devin |
.devin/workflows/opsx-<id>.md — solo lo lee uno de los dos agentes de Devin |
/opsx-<id> en Devin Desktop, /openspec-<skill> en Devin Local |
Devin Desktop**** |
.amazonq/prompts/opsx-<id>.md — es una instrucción, no un comando |
@opsx-<id> |
Amazon Q Developer |
| ninguno — solo habilidades | /openspec-<skill> |
CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, .agents compartido |
| ninguno — Kimi Code | /skill:openspec-<skill> |
Kimi Code |
| ninguno — Codex CLI | $openspec-<skill> |
Codex (/openspec-<skill> no se reconoce) |
Así, /opsx:propose se escribe /opsx-propose en Cursor, @opsx-propose en Amazon Q y
$openspec-propose en Codex.
Hay dos aspectos independientes, por eso las filas no se pueden combinar:
- El nombre. Las filas 1 y 2 solo difieren en cómo el nombre del archivo
representa el comando; el prefijo
opsx-<id>/opsx:<id>es el mismo para todas las herramientas que generan archivos de comandos. - El envoltorio. Amazon Q carga los archivos en una biblioteca de instrucciones que se invoca con
@. Las herramientas que solo admiten habilidades no generan archivos de comandos, así que sus tres últimas filas usan nombres de habilidad, enumerados en Nombres de las habilidades generadas, que no se corresponden uno a uno a los identificadores de comando (/opsx:applycorresponde a la habilidadopenspec-apply-change).
Los patrones de rutas de comandos anteriores no especifican extensiones (.*)
a propósito: cada herramienta usa su propia extensión (.toml para Gemini CLI,
.prompt para Continue y .prompt.md para Kiro y GitHub Copilot), y algunas
muestran el nombre con su extensión en el selector. Fíjate en la estructura del
directorio, no en la extensión.
Los archivos generados por OpenSpec y la indicación «Primeros pasos» que aparece después de la configuración ya usan el formato adecuado para las herramientas seleccionadas; lo más rápido es consultar esa indicación.
Referencia de directorios de herramientas
Sección titulada «Referencia de directorios de herramientas»| Herramienta (ID) | Patrón de ruta de habilidades | Patrón de ruta 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.md |
No se generan (no hay adaptador de comandos; usa invocaciones /openspec-* basadas en habilidades) |
CodeBuddy (codebuddy) |
.codebuddy/skills/openspec-*/SKILL.md |
.codebuddy/commands/opsx/<id>.md |
Codex (codex) |
.agents/skills/openspec-*/SKILL.md |
No se generan (solo admite habilidades; usa $openspec-*) |
Devin Desktop, anteriormente Windsurf (devin) |
.devin/skills/openspec-*/SKILL.md |
.devin/workflows/opsx-<id>.md**** |
ForgeCode (forgecode) |
.forge/skills/openspec-*/SKILL.md |
No se generan (no hay adaptador de comandos; usa invocaciones /openspec-* basadas en habilidades) |
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*** |
No se generan (no hay adaptador de comandos; usa invocaciones /openspec-* basadas en habilidades) |
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 |
.kilo/command/opsx-<id>.md |
Kimi Code (kimi) |
.kimi-code/skills/openspec-*/SKILL.md |
No se generan (no hay adaptador de comandos; usa invocaciones /skill:openspec-* basadas en habilidades) |
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 |
No se generan (no hay adaptador de comandos; usa las habilidades de MiniMax Code) |
Mistral Vibe (vibe) |
.vibe/skills/openspec-*/SKILL.md |
No se generan (no hay adaptador de comandos; usa invocaciones /openspec-* basadas en habilidades) |
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 para 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 |
No se generan. Rovo no tiene comandos de barra: encuentra las habilidades automáticamente o mediante instrucciones (por ejemplo, «usa la habilidad openspec-propose»); /skills solo las administra. El contenido generado menciona las habilidades por su nombre, 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.md |
No se generan (solo admite habilidades; usa /openspec-* o @openspec-*) |
ZCode (zcode) |
.zcode/skills/openspec-*/SKILL.md |
.zcode/commands/opsx/<id>.md |
Habilidades compartidas de .agents (agents) |
.agents/skills/openspec-*/SKILL.md |
No se generan (no hay adaptador de comandos; usa invocaciones /openspec-* basadas en habilidades) |
** Las extensiones de IDE (VS Code, JetBrains y Visual Studio) reconocen los
archivos de instrucciones de GitHub Copilot como comandos de barra
personalizados. Copilot CLI todavía no lee directamente
.github/prompts/*.prompt.md. Al seleccionar github-copilot, también puedes
configurar el agente de programación en la nube alojado en GitHub; consulta
la sección Agente de programación en la nube de GitHub Copilot.
*** De forma predeterminada, Hermes carga las habilidades desde
~/.hermes/skills/. Para usar las habilidades de OpenSpec locales al proyecto,
añade el directorio .hermes/skills/ del proyecto a skills.external_dirs en
~/.hermes/config.yaml; Hermes las mostrará mediante comandos de barra como
/openspec-propose.
**** Windsurf pasó a llamarse Devin Desktop
el 2 de junio de 2026 y cambió su directorio de configuración: .devin/ es la
ruta preferida de lectura y escritura, y .windsurf/ queda como alternativa
heredada de solo lectura. OpenSpec adopta el nuevo nombre: el ID de la
herramienta es devin, y --tools windsurf sigue resolviendo a ese ID para que
los scripts de configuración existentes continúen funcionando. Si un proyecto
aún tiene archivos de OpenSpec en .windsurf/, la siguiente ejecución de
openspec update ofrecerá trasladarlos; si rechazas, permanecerán allí, y nunca
se modificarán tus archivos propios. Los flujos se invocan por nombre de
archivo, así que .devin/workflows/opsx-apply.md corresponde a /opsx-apply.
El agente Devin Local no admite flujos de trabajo,
solo habilidades, y no lee .windsurf/. Por eso, al escribir habilidades de
Devin, OpenSpec mantiene sus instrucciones y la indicación de primeros pasos en
el formato /openspec-*, compatible con ambos agentes. Si la distribución solo
incluye comandos, no se escriben habilidades y ambos usan /opsx-*.
La compatibilidad con SourceCraft Code Assistant está dirigida a su extensión para VS Code. Sus comandos personalizados y habilidades solo están disponibles en VS Code. Esta integración no configura SourceCraft web ni JetBrains.
Si solo distribuyes habilidades, pide a Code Assistant que use la habilidad
openspec-propose con tu idea. Las habilidades se activan según la solicitud;
OpenSpec no genera comandos /openspec-* para esta herramienta.
MiniMax Code es una integración global que solo admite habilidades. OpenSpec
escribe únicamente sus directorios openspec-* en ~/.minimax/skills/; no
crea directorios .minimax
ni .mavis dentro del repositorio. Si la distribución incluye solo comandos,
las habilidades globales existentes de MiniMax Code se dejan intactas, para que
la configuración de un proyecto no pueda eliminar habilidades que use otro.
Agente de programación en la nube de GitHub Copilot
Sección titulada «Agente de programación en la nube de GitHub Copilot»El agente de programación de Copilot de GitHub se ejecuta en GitHub dentro de un entorno de GitHub Actions, separado de Copilot en tu editor. OpenSpec puede configurarlo para que use la CLI de OpenSpec mediante la generación de dos archivos:
.github/workflows/copilot-setup-steps.yml: instala@fission-ai/openspecen el entorno del agente..github/agents/openspec.agent.md: indica al agente cómo usar OpenSpec.
Como esto escribe un flujo de trabajo de GitHub Actions en tu repositorio, es una opción voluntaria:
| Método | Comportamiento |
|---|---|
openspec init (interactivo) |
Pregunta si se deben configurar los archivos de la nube. La respuesta predeterminada es No. |
openspec init --copilot-cloud |
Los configura sin preguntar (para scripts/CI). |
openspec init --no-copilot-cloud |
Los omite sin preguntar y elimina los que se hayan generado previamente. |
openspec update |
Nunca pregunta. Actualiza los archivos solo si aceptaste configurarlos (o si el proyecto ya los tiene). Si no aceptaste, elimina los archivos de la nube administrados por OpenSpec. |
Tu elección se guarda en openspec/config.yaml como
githubCopilot.cloudAgent: true|false, y las actualizaciones no interactivas la
respetan. OpenSpec solo escribe o elimina archivos cuyo contenido haya generado.
Si personalizas copilot-setup-steps.yml o openspec.agent.md, o ya tienes tus
propios archivos, no los modifica (y init/update te lo indican).
Cuándo elegir el destino compartido .agents
Sección titulada «Cuándo elegir el destino compartido .agents»agents es la opción independiente del proveedor: escribe las habilidades en
.agents/skills/, una ruta compartida que leen muchas herramientas de agentes,
en vez de usar un directorio específico de una herramienta.
| Situación | Opción |
|---|---|
| Tu herramienta aparece en una fila propia | Su propio ID: obtendrás la integración de esa herramienta, incluidos los comandos de barra si los admite |
Varios agentes usan el mismo repositorio y todos leen .agents/skills |
agents: un único árbol de habilidades en vez de uno por herramienta |
Tu herramienta aún no está en la lista, pero lee .agents/skills |
agents |
Puedes seleccionarla junto con el ID de una herramienta concreta; normalmente
cada una escribe en su propia raíz. Codex y Zed Agent son las excepciones,
porque comparten la misma raíz canónica .agents. Si seleccionas Codex junto
con Zed o agents, OpenSpec mantiene un único árbol dirigido por Codex. Sus
indicaciones de traspaso incluyen tanto $openspec-* para Codex como
/openspec-* para otros agentes, de modo que --tools all y las
configuraciones multiagente existentes siguen funcionando sin que dos
generadores sobrescriban los mismos archivos.
OpenSpec también la ofrece automáticamente cuando un proyecto tiene el
directorio .agents/skills/. No basta con que exista .agents/ a secas,
porque las herramientas también usan esa raíz para reglas y definiciones de
subagentes. Ten en cuenta que .agents no es lo mismo que .agent: el
directorio singular pertenece a Antigravity.
Ten en cuenta dos cosas:
- Solo habilidades. No existe un adaptador de comandos, así que no se
generan archivos
opsx-*. Si la distribución incluye comandos,openspec initenumeraagentsbajo «Commands skipped for: … (no adapter)». Invoca los flujos por el nombre de la habilidad. La mayoría de los asistentes que leen.agents/skillsusan/openspec-propose, el formato que muestra la indicación de configuración de OpenSpec. Este destino es independiente del proveedor, así que consulta la documentación de tu asistente si utiliza otro formato. - No se crea ni edita
AGENTS.md. El destino es el directorio.agents/. Si el archivoAGENTS.mdde la raíz aún contiene bloques marcadores de OpenSpec de una versión anterior,openspec updatelos elimina; consulta la guía de migración.
La compatibilidad con Zed se refiere al Zed Agent integrado. Zed External Agents y Terminal Threads usan sus propias integraciones. Las habilidades de agente requieren Zed v1.4.2 o posterior. Las habilidades locales del proyecto no están disponibles en un árbol de trabajo que no sea de confianza hasta que le otorgues confianza.
Como Codex, Zed Agent y el destino independiente del proveedor comparten
.agents/skills/, conviene saber qué administra OpenSpec en esa ruta: solo
escribe, actualiza y elimina los directorios de habilidades openspec-* de
los flujos seleccionados, además de una marca .openspec-target que indica si
Codex, Zed Agent o el destino independiente del proveedor generó ese árbol
compartido. El resto del contenido del directorio no se modifica. Los nombres
openspec-* y la marca pertenecen a OpenSpec; las ediciones que contengan se
reemplazan en la siguiente ejecución de openspec update, igual que ocurre
con cualquier otra herramienta.
En proyectos sin marca, OpenSpec deduce quién administra el directorio a partir
de las referencias a habilidades administradas:
$openspec-* corresponde a Codex y /openspec-* al destino independiente del
proveedor. Si existe un árbol canónico genérico junto con .codex/skills
heredado, se considera una instalación antigua dirigida a dos destinos y se
consolida en el árbol compartido compatible.
openspec update también respeta esta propiedad. Si un proyecto usa .agents
como destino independiente del proveedor y se detecta una instalación
residual de Codex únicamente a partir de archivos de instrucciones dispersos,
la actualización conserva el árbol agents existente en vez de volver a
escribirlo con sintaxis de Codex, y mantiene esos archivos de instrucciones
heredados en lugar de eliminarlos. Para asignar explícitamente a Codex el
árbol compartido, ejecuta openspec init --tools codex.
Configuración no interactiva
Sección titulada «Configuración no interactiva»Para CI/CD o una configuración mediante scripts, usa --tools (y, de forma
opcional, --profile):
# Configure specific toolsopenspec init --tools claude,cursor
# Configure all supported toolsopenspec init --tools all
# Skip tool configurationopenspec init --tools none
# Override profile for this init runopenspec init --profile coreIDs de herramientas disponibles (--tools) — también se acepta windsurf como 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
Instalación según los flujos de trabajo
Sección titulada «Instalación según los flujos de trabajo»OpenSpec instala artefactos de flujo de trabajo según los flujos seleccionados:
- Perfil core (predeterminado):
propose,explore,apply,update,sync,archive - Selección personalizada: cualquier subconjunto de los ID de flujo de trabajo:
propose,explore,new,continue,apply,update,ff,sync,archive,bulk-archive,verify,onboard
En otras palabras, la cantidad de habilidades y comandos depende del perfil y del modo de distribución; no es fija.
Nombres de las habilidades generadas
Sección titulada «Nombres de las habilidades generadas»Según la configuración del perfil o del flujo de trabajo, OpenSpec genera estas habilidades:
openspec-proposeopenspec-exploreopenspec-new-changeopenspec-continue-changeopenspec-apply-changeopenspec-update-changeopenspec-ff-changeopenspec-sync-specsopenspec-archive-changeopenspec-bulk-archive-changeopenspec-verify-changeopenspec-onboard
Consulta Comandos para conocer el comportamiento de los
comandos y CLI para ver las opciones de init y update.
Temas relacionados
Sección titulada «Temas relacionados»- Referencia de la CLI: comandos del terminal
- Comandos: comandos de barra y habilidades
- Primeros pasos: configuración inicial
HagiCode
HagiCode es un espacio de trabajo de programación con agentes, flujos estructurados, ejecución multiagente y vistas de Hero Dungeon.
Convierte ideas en software útil con un flujo de trabajo con agentes más inteligente, rápido y ameno.

- SmartLos flujos estructurados convierten la intención en un itinerario ejecutable desde la idea hasta la entrega.
- EfficientLos flujos multiagente permiten avanzar en paralelo con la investigación, implementación y revisión.
- FunHero Dungeon hace que las largas sesiones de programación sean visuales y colaborativas.
Sitios del ecosistema
Enlaces rápidos
Comunidad
© 2026 HagiCode