Comparações

SpecScore vs OpenSpec

Ambos colocam especificações em Markdown, junto ao seu código, legíveis por agentes de IA. Eles respondem a perguntas diferentes: o OpenSpec organiza especificações e gera comandos para agentes. O SpecScore faz lint do conteúdo das especificações, impõe ciclo de vida e rastreia o código de volta aos requisitos.

O que têm em comum.

  • As especificações vivem no seu repositório como arquivos Markdown — versionadas, revisáveis em PRs.
  • Ambos são open source sob a licença MIT.
  • Ambos usam critérios de aceitação no formato Given/When/Then.
  • Ambos suportam agentes de IA como consumidores de primeira classe das especificações.

O que o OpenSpec faz bem.

Suporte mais amplo a agentes

O OpenSpec suporta 29 agentes de IA via arquivos de skills gerados — Claude, Cursor, Copilot, Gemini, Windsurf, Cline e outros. Se o seu agente está na lista, o OpenSpec se integra sem nenhuma configuração.

Baixa barreira de entrada

npm install -g @fission-ai/openspec && openspec init e você já está escrevendo especificações. Sem schema para aprender, sem frontmatter obrigatório. Projetado para ser simples — especialmente para codebases existentes.

Modelo limpo de change-delta

O formato ADDED / MODIFIED / REMOVED do OpenSpec para evolução de especificações é bem projetado. Cada mudança é uma pasta com uma proposta, especificações delta e tarefas — uma forma estruturada de propor modificações.

Comparação de funcionalidades.

FuncionalidadeOpenSpecSpecScore
Formato da especificaçãoMarkdown (sem frontmatter)Markdown + YAML frontmatter
Linting de especificaçãoApenas estrutura de arquivosQualidade do conteúdo — verbos vagos, ACs ausentes, referências soltas
IDs de requisitosNenhum (referenciado por título)Baseado em slug (REQ: slug-format)
IDs de critérios de aceitaçãoNenhumIDs endereçáveis por máquina
Status do ciclo de vidaImplícito (localização do arquivo)Imposto — Draft → Under Review → Approved → Implementing → Stable → Deprecated
Rastreabilidade código-para-especificaçãoNenhumaspecscore: anotações + Verifies: trailers de commit
Sub-featuresNãoSim (diretórios aninhados)
Referências cruzadasSem mecanismo formalDependências, Ideas de origem, referências a planos
Integração com CIBásica (openspec validate)specscore lint com severidade configurável, hooks de pre-commit
Suporte a agentes29 agentesClaude Code como principal + CLI para qualquer agente
Customização de schemaSim (schema.yaml, fork/init)Schema fixo (consistência por design)
Propostas de mudançaModelo delta (ADDED/MODIFIED/REMOVED)Ideas de change-request + propostas
Dependência de runtimeNode.js 20.19+Nenhuma — binário Go único
LicençaMITMIT

Onde o SpecScore vai além.

A validação vai além da estrutura de arquivos

O validate do OpenSpec verifica a estrutura de arquivos. O SpecScore verifica mais, em duas camadas: o lint verifica de forma determinística os relacionamentos de conteúdo — todo requisito tem critérios de aceitação, referências cruzadas resolvem, transições de status são válidas — e um revisor de IA (/review, /score) pega critérios ambíguos e verbos vagos que nenhum linter consegue.

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

Todo requisito tem um ID legível por máquina

O OpenSpec referencia requisitos pelo título — frágil a renomeações. O SpecScore atribui IDs baseados em slug (REQ: slug-format) e IDs de AC que sobrevivem a renomeações, refatorações e transferências entre agentes.

O ciclo de vida é imposto, não implícito

No OpenSpec, o ciclo de vida de uma especificação é sua localização no sistema de arquivos: specs/ (atual), changes/ (proposta), archive/ (concluída). No SpecScore, o ciclo de vida é um campo de status imposto — Draft → Under Review → Approved → Implementing → Stable → Deprecated — validado pelo lint, transicionado via specscore change-status a partir de git hooks ou CI.

O código rastreia de volta às especificações

O OpenSpec não tem mecanismo de rastreabilidade. O SpecScore tem anotações specscore: em comentários no código e trailers Verifies: nos commits. Execute specscore code refs e obtenha uma resposta determinística para "qual código implementa este requisito?"

Sem dependência de runtime

O OpenSpec requer Node.js 20.19+. O SpecScore é um binário Go único — sem runtime, sem node_modules. Funciona em projetos Go, Rust, Python e Java sem adicionar Node ao toolchain.

Hierarquia de artefatos composável

As especificações do OpenSpec são planas por domínio. O SpecScore tem uma hierarquia tipada: Ideas promovem para Features, Features contêm requisitos e ACs, Plans referenciam ACs, Tasks referenciam Plans. Todos os relacionamentos são navegáveis por máquina via CLI.

Quando usar cada um.

Comece com o OpenSpec quando…

  • Você usa Cursor, Copilot ou agentes que não são Claude e precisa de integração pronta para uso.
  • Você está adicionando especificações a uma codebase existente pela primeira vez e quer zero fricção.
  • Seu time valoriza flexibilidade de schema em vez de imposição.

Use o SpecScore quando…

  • Você precisa de controle de qualidade de especificações — o lint detecta ambiguidade antes que agentes desperdicem tokens com ela.
  • Você precisa de rastreabilidade código-para-especificação — "qual código implementa este requisito?" retorna uma resposta determinística.
  • Você está construindo um sistema grande com muitas features, sub-features e transições de ciclo de vida.
  • Você quer zero dependências de runtime — um binário, sem necessidade de Node.js.
  • Você precisa de quality gates para especificações no CI — specscore lint retorna código diferente de zero em falhas, igual ao ESLint ou go vet.

Eles não são mutuamente exclusivos.

O SpecScore pode fazer lint dos arquivos spec.md do OpenSpec. Times que começam com o OpenSpec podem adicionar a camada de qualidade do SpecScore sem migrar — faça lint das especificações que você já tem, adicione rastreabilidade quando precisar, imponha ciclo de vida quando seu time crescer.

O OpenSpec é uma boa rampa de entrada. O SpecScore são as proteções laterais.

Outras comparações.

O mesmo formato, ao lado de outras ferramentas de desenvolvimento guiado por especificação:

Todas juntas, em uma página: melhores ferramentas de desenvolvimento guiado por especificação em 2026.

Feedback

Specs que passam.

Encontrou um erro na tradução ou tem uma ideia para melhorar esta página?