Comparaciones

SpecScore vs OpenSpec

Ambos colocan especificaciones en Markdown, junto a tu código, legibles por agentes de IA. Responden preguntas distintas: OpenSpec organiza especificaciones y genera comandos para agentes. SpecScore valida el contenido de las especificaciones, aplica el ciclo de vida y traza el código de vuelta a los requisitos.

Lo que tienen en común.

  • Las especificaciones viven en tu repositorio como archivos Markdown — con control de versiones, revisables en PRs.
  • Ambos son open source bajo la licencia MIT.
  • Ambos usan criterios de aceptación Given/When/Then.
  • Ambos soportan agentes de IA como consumidores de primera clase de las especificaciones.

Lo que OpenSpec hace bien.

El soporte de agentes más amplio

OpenSpec soporta 29 agentes de IA mediante archivos de skills generados — Claude, Cursor, Copilot, Gemini, Windsurf, Cline y más. Si tu agente está en la lista, OpenSpec se integra sin configuración.

Baja barrera de entrada

npm install -g @fission-ai/openspec && openspec init y ya estás escribiendo especificaciones. Sin esquema que aprender, sin frontmatter obligatorio. Diseñado para ser sencillo — especialmente para proyectos existentes.

Modelo limpio de deltas de cambio

El formato ADDED / MODIFIED / REMOVED de OpenSpec para evolucionar especificaciones está bien diseñado. Cada cambio es una carpeta con una propuesta, especificaciones delta y tareas — una forma estructurada de proponer modificaciones.

Comparación de funcionalidades.

CapacidadOpenSpecSpecScore
Formato de especificaciónMarkdown (sin frontmatter)Markdown + YAML frontmatter
Linting de especificacionesSolo estructura de archivosCalidad de contenido — verbos vagos, ACs faltantes, referencias colgantes
IDs de requisitosNinguno (referenciados por título)Basados en slug (REQ: slug-format)
IDs de criterios de aceptaciónNingunoIDs direccionables por máquina
Estado del ciclo de vidaImplícito (ubicación del archivo)Aplicado — Draft → Under Review → Approved → Implementing → Stable → Deprecated
Trazabilidad código-a-especificaciónNingunospecscore: anotaciones + Verifies: trailers de commits
Sub-featuresNoSí (directorios anidados)
Referencias cruzadasSin mecanismo formalDependencias, Ideas fuente, referencias a planes
Integración CIBásica (openspec validate)specscore lint con severidad configurable, hooks de pre-commit
Soporte de agentes29 agentesClaude Code como principal + CLI para cualquier agente
Personalización de esquemaSí (schema.yaml, fork/init)Esquema fijo (consistencia por diseño)
Propuestas de cambioModelo delta (ADDED/MODIFIED/REMOVED)Ideas de cambio + propuestas
Dependencia de runtimeNode.js 20.19+Ninguna — binario Go único
LicenciaMITMIT

Donde SpecScore va más allá.

La validación va más allá de la estructura de archivos

El validate de OpenSpec verifica la estructura de archivos — si el archivo existe, si tiene las secciones correctas. SpecScore verifica más, en dos capas: lint comprueba de forma determinista las relaciones de contenido — cada requisito tiene criterios de aceptación, las referencias cruzadas se resuelven, las transiciones de estado son válidas — y un revisor de IA (/review, /score) detecta lo que ningún linter puede: criterios ambiguos y verbos vagos.

$ specscore lint checkout/apply-discount.md
  ✗ R3  no acceptance criteria
  ✗ link  "Related Feature: discount-tiers" not found

Cada requisito tiene un ID legible por máquina

OpenSpec referencia requisitos por título — frágil ante renombramientos. SpecScore asigna IDs basados en slug (REQ: slug-format) e IDs de ACs que sobreviven renombramientos, refactorizaciones y traspasos entre agentes.

El ciclo de vida se aplica, no se infiere

En OpenSpec, el ciclo de vida de una especificación es su ubicación de archivo: specs/ (actual), changes/ (propuesto), archive/ (terminado). En SpecScore, el ciclo de vida es un campo de estado aplicado — Draft → Under Review → Approved → Implementing → Stable → Deprecated — validado por lint, transicionado por specscore change-status desde git hooks o CI.

El código se traza de vuelta a las especificaciones

OpenSpec no tiene mecanismo de trazabilidad. SpecScore tiene anotaciones specscore: en comentarios de código y trailers Verifies: en commits. Ejecuta specscore code refs y obtén una respuesta determinista a "¿qué código implementa este requisito?"

Sin dependencia de runtime

OpenSpec requiere Node.js 20.19+. SpecScore es un binario Go único — sin runtime, sin node_modules. Funciona en proyectos Go, Rust, Python, Java sin agregar Node al toolchain.

Jerarquía de artefactos componible

Las especificaciones de OpenSpec son planas por dominio. SpecScore tiene una jerarquía tipada: Ideas se promueven a Features, Features contienen requisitos y ACs, Plans referencian ACs, Tasks referencian Plans. Todas las relaciones son navegables por máquina a través del CLI.

Cuándo usar cada uno.

Empieza con OpenSpec cuando…

  • Usas Cursor, Copilot u otros agentes no-Claude y necesitas integración lista para usar.
  • Estás agregando especificaciones a un codebase existente por primera vez y quieres cero fricción.
  • Tu equipo valora la flexibilidad de esquema sobre la aplicación estricta.

Usa SpecScore cuando…

  • Necesitas control de calidad de especificaciones — lint detecta ambigüedades antes de que los agentes desperdicien tokens en ellas.
  • Necesitas trazabilidad código-a-especificación — "¿qué código implementa este requisito?" retorna una respuesta determinista.
  • Estás construyendo un sistema grande con muchas features, sub-features y transiciones de ciclo de vida.
  • Quieres cero dependencias de runtime — un binario, sin Node.js requerido.
  • Necesitas puertas de calidad de especificaciones en CI — specscore lint sale con código no-cero en fallos, igual que ESLint o go vet.

No son mutuamente excluyentes.

SpecScore puede hacer lint de los archivos spec.md de OpenSpec. Los equipos que empiezan con OpenSpec pueden agregar la capa de calidad de SpecScore sin migrar — valida las especificaciones que ya tienes, agrega trazabilidad cuando la necesites, aplica el ciclo de vida cuando tu equipo crezca.

OpenSpec es una buena rampa de entrada. SpecScore son las barandas de seguridad.

Otras comparaciones.

El mismo formato, junto a otras herramientas de desarrollo guiado por especificaciones:

Todas juntas, en una página: mejores herramientas de desarrollo basado en especificaciones en 2026.

Comentarios

Specs que pasan.

¿Encontraste un error en la traducción o tienes una idea para mejorar esta página?