Confronti

SpecScore vs OpenSpec

Entrambi collocano le specifiche in Markdown, accanto al tuo codice, leggibili dagli agenti IA. Rispondono a domande diverse: OpenSpec organizza le specifiche e genera comandi per gli agenti. SpecScore valida il contenuto delle specifiche, applica il ciclo di vita e traccia il codice risalendo ai requisiti.

Cosa hanno in comune.

  • Le specifiche risiedono nel tuo repository come file Markdown — con controllo versione, revisionabili nelle pull request.
  • Entrambi sono open source con licenza MIT.
  • Entrambi usano criteri di accettazione Given/When/Then.
  • Entrambi considerano gli agenti IA come fruitori di prima classe delle specifiche.

Cosa fa bene OpenSpec.

Il supporto più ampio per gli agenti

OpenSpec supporta 29 agenti IA tramite file di skill generati — Claude, Cursor, Copilot, Gemini, Windsurf, Cline e altri. Se il tuo agente è nella lista, OpenSpec si integra senza alcuna configurazione.

Bassa barriera all'ingresso

npm install -g @fission-ai/openspec && openspec init e puoi già iniziare a scrivere specifiche. Nessuno schema da imparare, nessun frontmatter obbligatorio. Progettato per essere semplice — soprattutto per progetti già esistenti.

Un modello chiaro per i delta di modifica

Il formato ADDED / MODIFIED / REMOVED di OpenSpec per far evolvere le specifiche è ben progettato. Ogni modifica è una directory contenente una proposta, specifiche delta e task — un modo strutturato per proporre modifiche.

Confronto delle funzionalità.

FunzionalitàOpenSpecSpecScore
Formato della specificaMarkdown (senza frontmatter)Markdown + YAML frontmatter
Linting delle specificheSolo struttura dei fileQualità dei contenuti — verbi vaghi, AC mancanti, riferimenti orfani
ID dei requisitiNessuno (riferiti per titolo)Basati su slug (REQ: slug-format)
ID dei criteri di accettazioneNessunoID indirizzabili via software
Stato del ciclo di vitaImplicito (posizione del file)Applicato rigorosamente — Draft → Under Review → Approved → Implementing → Stable → Deprecated
Tracciabilità codice-a-specificaNessunaAnnotazioni specscore: + trailer di commit Verifies:
Sotto-featureNoSì (directory nidificate)
Riferimenti incrociatiNessun meccanismo formaleDipendenze, Idee d'origine, riferimenti ai piani
Integrazione CIBase (openspec validate)specscore lint con gravità configurabile, hook di pre-commit
Supporto degli agenti29 agentiClaude Code come agente primario + CLI per qualsiasi agente
Personalizzazione dello schemaSì (schema.yaml, fork/init)Schema standard fisso (coerenza per progettazione)
Proposte di modificaModello delta (ADDED/MODIFIED/REMOVED)Idee di modifica + proposte
Dipendenza da runtimeNode.js 20.19+Nessuna — singolo binario Go
LicenzaMITMIT

Dove SpecScore va oltre.

La validazione va oltre la struttura dei file

Il comando validate di OpenSpec verifica la struttura dei file — se il file esiste e se ha le sezioni corrette. SpecScore controlla molto più a fondo su due livelli: lint verifica in modo deterministico le relazioni di contenuto — ogni requisito ha criteri di accettazione, i riferimenti incrociati sono risolti, le transizioni di stato sono valide — e un revisore IA (/review, /score) rileva ciò che nessun linter statico può individuare: criteri ambigui e verbi vaghi.

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

Ogni requisito ha un ID leggibile via software

OpenSpec fa riferimento ai requisiti tramite il titolo — fragile di fronte a ridenominazioni. SpecScore assegna ID basati su slug (REQ: slug-format) e ID per i criteri di accettazione che sopravvivono a rinomine, refactoring e passaggi di consegne tra agenti.

Il ciclo di vita viene applicato, non dedotto

In OpenSpec, il ciclo di vita di una specifica coincide con la sua posizione nel filesystem: specs/ (attuale), changes/ (proposto), archive/ (completato). In SpecScore, il ciclo di vita è un campo di stato effettivo — Draft → Under Review → Approved → Implementing → Stable → Deprecated — validato dal lint e modificato tramite specscore change-status da git hook o CI.

Il codice risale alle specifiche

OpenSpec non dispone di meccanismi di tracciabilità. SpecScore offre annotazioni specscore: nei commenti del codice e trailer Verifies: nei commit. Esegui specscore code refs e ottieni una risposta deterministica a "quale codice implementa questo requisito?".

Nessuna dipendenza da runtime

OpenSpec richiede Node.js 20.19+. SpecScore è un singolo binario Go — nessun runtime, niente node_modules. Funziona in progetti Go, Rust, Python o Java senza dover aggiungere Node al toolchain.

Gerarchia di artefatti componibile

Le specifiche di OpenSpec sono piatte per dominio. SpecScore adotta una gerarchia tipizzata: le Idee vengono promosse a Feature, le Feature contengono requisiti e AC, i Plan referenziano AC, i Task referenziano Plan. Tutte le relazioni sono navigabili via software tramite la CLI.

Quando usare l'uno o l'altro.

Inizia con OpenSpec se…

  • Usi Cursor, Copilot o altri agenti non-Claude e desideri un'integrazione pronta all'uso.
  • Stai aggiungendo specifiche a una codebase esistente per la prima volta e cerchi zero attrito iniziale.
  • Il tuo team preferisce la flessibilità dello schema rispetto all'applicazione rigorosa delle regole.

Usa SpecScore se…

  • Hai bisogno di controllo di qualità sulle specifiche — il lint rileva le ambiguità prima che gli agenti sprechino token.
  • Ti serve tracciabilità da codice a specifica — "quale codice implementa questo requisito?" restituisce una risposta deterministica.
  • Stai costruendo un sistema complesso con molte feature, sotto-feature e transizioni di ciclo di vita.
  • Vuoi zero dipendenze da runtime — un binario autonomo, senza richiedere Node.js.
  • Hai bisogno di controlli di qualità in CI — specscore lint termina con codice diverso da zero in caso di errori, proprio come ESLint o go vet.

Non si escludono a vicenda.

SpecScore può verificare tramite lint anche i file spec.md di OpenSpec. I team che iniziano con OpenSpec possono aggiungere il livello di qualità di SpecScore senza dover migrare — valida le specifiche che hai già, aggiungi la tracciabilità quando serve, applica il ciclo di vita man mano che il team cresce.

OpenSpec è un'ottima rampa di accesso. SpecScore offre le barriere di sicurezza.

Altri confronti.

Lo stesso formato, accanto ad altri strumenti di sviluppo guidato dalle specifiche:

Tutti insieme, in una pagina: migliori strumenti di sviluppo guidato dalle specifiche nel 2026.

Feedback

Specifiche che superano la prova.

Have an idea how to improve this page?