CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/spec-driven-development

Spec-driven workflow covering requirement gathering, spec authoring, implementation review, and verification — with skills, rules, and evaluation scenarios.

96

1.19x
Quality

90%

Does it follow best practices?

Impact

98%

1.19x

Average score across 9 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests one-question-at-a-time formatting and gap identification for a greenfield feature with no existing specs.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Output file created",
      "description": "A file named webhook-interview-prep.md is produced",
      "max_score": 4
    },
    {
      "name": "Questions are individual items",
      "description": "Interview questions are listed as separate numbered items — each question asks about exactly ONE topic, not bundled (e.g. NOT 'What about retries, timeouts, and ordering?')",
      "max_score": 15
    },
    {
      "name": "Questions are self-contained",
      "description": "Each question makes sense on its own without needing to read previous questions — no 'follow-up to above' or 'related to Q3' references",
      "max_score": 10
    },
    {
      "name": "Questions ordered by criticality",
      "description": "Core behavior questions (what events, delivery guarantees, URL configuration) come before edge case questions (rate limiting, payload size, etc.)",
      "max_score": 8
    },
    {
      "name": "Questions are specific and bounded",
      "description": "Questions are concrete (e.g. 'Should failed deliveries be retried, and if so, how many times?' not 'What about error handling?')",
      "max_score": 12
    },
    {
      "name": "Delivery semantics addressed",
      "description": "Gap list or questions address delivery guarantees — at-least-once vs. at-most-once vs. exactly-once",
      "max_score": 8
    },
    {
      "name": "Retry/failure handling addressed",
      "description": "Gap list or questions address what happens when a webhook delivery fails (retries, backoff, disabling endpoints)",
      "max_score": 8
    },
    {
      "name": "Security addressed",
      "description": "Gap list or questions address webhook security (signing/verification, HTTPS requirements, secret management)",
      "max_score": 8
    },
    {
      "name": "No spec created",
      "description": "No .spec.md file is created — this is pre-interview preparation only",
      "max_score": 10
    },
    {
      "name": "No implementation proposed",
      "description": "Document does NOT propose technical solutions, architecture choices, or implementation details (e.g. does NOT say 'use a message queue' or 'store in PostgreSQL')",
      "max_score": 8
    }
  ]
}

README.md

tile.json