Porównania

SpecScore vs OpenSpec

Oba umieszczają specyfikacje w plikach Markdown, tuż obok Twojego kodu, czytelne dla agentów AI. Odpowiadają jednak na inne pytania: OpenSpec organizuje specyfikacje i generuje polecenia dla agentów. SpecScore weryfikuje treść specyfikacji, egzekwuje cykl życia i śledzi powiązania kodu z wymaganiami.

Co je łączy.

  • Specyfikacje żyją w repozytorium jako pliki Markdown — pod kontrolą wersji, sprawdzane w pull requestach.
  • Oba są open source na licencji MIT.
  • Oba używają kryteriów akceptacji Given/When/Then.
  • Oba traktują agentów AI jako pierwszoklasowych odbiorców specyfikacji.

Co OpenSpec robi dobrze.

Najszersze wsparcie agentów

OpenSpec obsługuje 29 agentów AI dzięki generowanym plikom skilli — Claude, Cursor, Copilot, Gemini, Windsurf, Cline i innych. Jeśli Twój agent jest na liście, OpenSpec integruje się bez konfiguracji.

Niski próg wejścia

npm install -g @fission-ai/openspec && openspec init i od razu piszesz specyfikacje. Brak schematu do nauki, brak wymaganego frontmattera. Zaprojektowany z myślą o prostocie — szczególnie dla istniejących projektów.

Przejrzysty model różnicowy (delta)

Format ADDED / MODIFIED / REMOVED w OpenSpec służący do ewolucji specyfikacji jest świetnie przemyślany. Każda zmiana to katalog z propozycją, specyfikacjami delta i zadaniami — ustrukturyzowany sposób proponowania modyfikacji.

Porównanie możliwości.

MożliwośćOpenSpecSpecScore
Format specyfikacjiMarkdown (bez frontmattera)Markdown + YAML frontmatter
Linting specyfikacjiTylko struktura plikówJakość treści — nieprecyzyjne czasowniki, brakujące AC, wiszące referencje
ID wymagańBrak (odwołania po tytule)Oparte na slugach (REQ: slug-format)
ID kryteriów akceptacjiBrakAdresowalne maszynowo ID
Status cyklu życiaDomniemany (lokalizacja pliku)Egzekwowany — Draft → Under Review → Approved → Implementing → Stable → Deprecated
Śledzenie kod-do-specyfikacjiBrakAdnotacje specscore: + trailery Verifies: w commitach
Podfunkcje (sub-features)NieTak (zagnieżdżone katalogi)
Odsyłacze krzyżoweBrak formalnego mechanizmuZależności, Pomysły źródłowe, odwołania do planów
Integracja CIPodstawowa (openspec validate)specscore lint z konfigurowalną wagą błędów, hooki pre-commit
Wsparcie agentów29 agentówClaude Code jako główny + CLI dla każdego agenta
Dostosowywanie schematuTak (schema.yaml, fork/init)Stały schemat (spójność z założenia)
Propozycje zmianModel delta (ADDED/MODIFIED/REMOVED)Pomysły zmian + propozycje
Zależność runtimeNode.js 20.19+Brak — pojedynczy plik binarny w Go
LicencjaMITMIT

Gdzie SpecScore idzie dalej.

Walidacja wykracza poza strukturę plików

Polecenie validate w OpenSpec sprawdza strukturę plików — czy plik istnieje, czy ma odpowiednie sekcje. SpecScore weryfikuje znacznie głębiej, na dwóch poziomach:lint sprawdza deterministycznie relacje w treści — czy każde wymaganie ma kryteria akceptacji, czy referencje się rozwiązują, czy przejścia stanów są poprawne — a recenzent AI (/review, /score) wychwytuje to, czego żaden linter nie potrafi: wieloznaczne kryteria i nieprecyzyjne czasowniki.

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

Każde wymaganie ma identyfikator czytelny dla maszyn

OpenSpec odwołuje się do wymagań po tytule — co jest podatne na błędy przy zmianie nazwy. SpecScore przypisuje ID oparte na slugach (REQ: slug-format) oraz identyfikatory AC, które przetrwają zmiany nazw, refaktoryzację i przekazywanie zadań między agentami.

Cykl życia jest egzekwowany, a nie domyślny

W OpenSpec cykl życia specyfikacji to jej lokalizacja na dysku: specs/ (bieżąca),changes/ (proponowana), archive/ (ukończona). W SpecScore cykl życia jest egzekwowanym polem statusu — Draft → Under Review → Approved → Implementing → Stable → Deprecated — weryfikowanym przez linter, zmienianym przez specscore change-status z poziomu git hooks lub CI.

Kod odsyła bezpośrednio do specyfikacji

OpenSpec nie ma mechanizmu śledzenia. SpecScore posiada adnotacje specscore:w komentarzach w kodzie oraz trailery Verifies: w commitach. Uruchomspecscore code refs i uzyskaj deterministyczną odpowiedź na pytanie „jaki kod implementuje to wymaganie?”.

Brak zależności od środowiska wykonawczego

OpenSpec wymaga Node.js 20.19+. SpecScore to pojedynczy plik binarny w Go — brak runtime'u, brak node_modules. Działa w projektach Go, Rust, Python, Java bez dorzucania Node do toolchaina.

Komponowalna hierarchia artefaktów

Specyfikacje w OpenSpec są płaskie wg domen. SpecScore posiada typowaną hierarchię: Pomysły (Ideas) są promowane do Funkcji (Features), Features zawierają wymagania i kryteria akceptacji (ACs), Plany odwołują się do ACs, a Zadania (Tasks) odwołują się do Planów. Wszystkie powiązania są w pełni nawigowalne maszynowo przez CLI.

Kiedy wybrać które rozwiązanie.

Zacznij od OpenSpec, gdy…

  • Używasz Cursora, Copilota lub innych agentów poza Claude i potrzebujesz integracji prosto z pudełka.
  • Dodajesz specyfikacje do istniejącej bazy kodu po raz pierwszy i zależy Ci na zerowym tarciu.
  • Twój zespół przedkłada elastyczność schematu nad ścisłe egzekwowanie reguł.

Wybierz SpecScore, gdy…

  • Potrzebujesz kontroli jakości specyfikacji — linter wychwytuje niejednoznaczności, zanim agenci zmarnują na nie tokeny.
  • Potrzebujesz śledzenia kod-do-specyfikacji — pytanie „jaki kod implementuje to wymaganie?” ma zawsze deterministyczną odpowiedź.
  • Budujesz duży system z wieloma funkcjami, podfunkcjami i przejściami cyklu życia.
  • Zależy Ci na braku zależności runtime — jeden plik binarny, bez konieczności instalowania Node.js.
  • Potrzebujesz bramek jakości specyfikacji w CI — specscore lint kończy się niezerowym kodem wyjścia przy błędach, zupełnie jak ESLint czy go vet.

Nie wykluczają się wzajemnie.

SpecScore potrafi lintować pliki spec.md z OpenSpec. Zespoły zaczynające od OpenSpec mogą dodać warstwę jakości SpecScore bez konieczności migracji — weryfikuj specyfikacje, które już masz, dodaj identyfikowalność, gdy jej potrzebujesz, i wdrażaj cykl życia w miarę rozwoju zespołu.

OpenSpec to świetny punkt wejścia. SpecScore to solidne barierki ochronne.

Inne porównania.

Ten sam format, obok innych narzędzi rozwoju sterowanego specyfikacją:

Wszystkie razem, na jednej stronie: najlepsze narzędzia rozwoju sterowanego specyfikacją w 2026.

Opinia

Specyfikacje, które przechodzą testy.

Have an idea how to improve this page?