Was SpecScore
validiert.
SpecScore ist ein offenes Markdown-Format für Features, Anforderungen und Akzeptanzkriterien – geprüft durch zwei Validatoren: einen deterministischen Linter und einen KI-Reviewer. Hier ist, was jeder erkennt und wo die automatische Prüfung endet.
Neu bei SpecScore? Hier starten ·Die CLI ·KI-Skills
$ specscore lint checkout/ ✓ 24 requirements — structure, references, IDs valid ✓ no index drift · no broken links · no slug collisions 0 problems exit 0
Drei Schichten, nicht eine.
SpecScore validiert in Schichten, beginnend mit dem Günstigsten und Zuverlässigsten. Der Linter ist deterministisch – schnell, kostenlos, läuft bei jedem Commit. Das KI-Review ist probabilistisch – tiefer, verbraucht Tokens, erkennt Dinge, die der Linter nicht fassen kann. Das menschliche Urteilsvermögen ist die dritte Schicht: Die Nahtstellen, die die ersten beiden nicht schließen, brauchen weiterhin einen Menschen – heute schließt kein Tool sie zuverlässig. Die beiden automatischen Schichten ergänzen sich, sie sind nicht redundant: Der Linter erfasst, was KI nicht verlässlich garantieren kann; die KI erfasst, was der Linter nicht erreicht.
Was jeder Validator prüft.
Linter CLI
deterministischDasselbe Ergebnis bei jedem Lauf, ohne LLM, ohne Kosten. Wenn es hier besteht, ist es ein Fakt – keine Meinung.
$ specscore spec lint features/apply-discount/README.md:0 [error] oq-section: Open Questions section not found features/apply-discount/README.md:0 [error] index-entries: Child directory not listed in index: refunds features/apply-discount/refunds:0 [error] readme-exists: README.md not found 3 violations found (3 errors) # exit code 1
- Referenzielle Integrität – Links lösen auf, IDs sind eindeutig
- Strukturelle Konventionen – Pflichtabschnitte, Frontmatter-Form
- Statushygiene und Index-Drift
- Slug-Kollisionen
- Gültigkeit der Präfixe in Metadatenfeldern (z. B.
Related Ideas:)
KI-Review und Score
nicht deterministischLiest nach Sinn und Logik, genau wie ein menschlicher Reviewer – und ist, wie ein Mensch, nicht vollkommen wiederholbar.
> /score apply-discount.md Grade: B — ready with edits AC-2 vague trigger — name the actor and event AC-3 no error path for an expired code prose reads clean; criteria need tightening
- ACs als überprüfbare Given/When/Then-Szenarien formuliert
- Interne Konsistenz innerhalb eines Artefakts
- Vage Formulierungen oder Fülltext
- Lesbarkeit für einen menschlichen Reviewer
- Handlungsrelevantes Feedback für Autoren mit Schweregraden
- Reifegradbewertung von A bis F
Was sie nicht erkennen.
Kein Validator zaubert. Hier endet die Reichweite jedes einzelnen – damit du genau weißt, wo dein eigenes Urteilsvermögen gefordert ist.
Linter CLI
- Implizite Widersprüche über tiefe Hierarchien hinweg
- Drift zwischen Spezifikation und Code (wird mit
specstudio:recapbesser) - Die semantische Korrektheit von Akzeptanzkriterien
- Ob eine Benennung wirklich Sinn ergibt
- Ob die Anforderungen das gestellte Problem lösen
KI-Review und Score
erkennt unzuverlässig- Vollständige Reproduzierbarkeit zwischen Durchläufen – Urteile können im Rahmen variieren
- Widersprüche zwischen Artefakten in einem großen Baum ohne explizite Quervergleiche
- Ob die Anforderungen das Problem tatsächlich lösen – zeigt offensichtliche Lücken auf, übersieht domänenspezifische Details
- Vererbte Tendenzen des zugrunde liegenden LLMs
- Semantische Korrektheit mit absoluter Gewissheit
- Alles, was die Rubrik nicht gewichtet
- 1
Der Linter reicht bis hier
Struktur, Referenzen, Hygiene. Günstig und sicher – aber blind für den Sinn.
- 2
Die KI reicht bis hier
Sinn, Klarheit, Kohärenz innerhalb eines Artefakts. Tiefer – aber probabilistisch und schwach bei großen Bäumen.
- 3
Liegt weiterhin bei dir
Das systemweite Gesamturteil – eine Aufgabe, die heute kein Tool verlässlich leisten kann, sodass sie weiterhin einen Menschen erfordert.
Der Fall, vor dem dich kein Werkzeug bewahrt
Stell dir einen echten, tiefen Spezifikationsbaum vor. Feature A erfordertX. Feature B erfordert Y. Feature C erfordertZ. Dann erfordert Feature D stillschweigend etwas, das B widerspricht – aber nur, wenn A ebenfalls aktiv ist. Der Linter sieht vier gültige, sauber verlinkte Dokumente und besteht. Der KI-Reviewer liest die Artefakte einzeln und hat keinen Anlass, alle vier zu laden und die Dreiecks-Interaktion zu bemerken.
Keine der beiden Schichten erkennt dies zuverlässig – und wir tun nicht so, als ob. Genau diese Art von Widerspruch ist der Grund, warum die dritte Schicht existiert. SpecScores Aufgabe ist es, den Baum so navigierbar zu machen, dass ein Mensch, der die Nahtstellen prüft, den Konflikt finden kann – offene Fragen steigen in der Hierarchie nach oben, verwandte Anforderungen sind nur eine Abfrage entfernt –, nicht zu behaupten, ein Tool hätte ihn bereits gefunden.