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-4/

{
  "context": "Spec bypass: code was written without a spec. Agent must identify the process violation, extract implicit requirements from the code, and prepare draft spec content for team review.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Assessment file created",
      "description": "A file named caching-assessment.md is produced",
      "max_score": 4
    },
    {
      "name": "Process violation identified",
      "description": "Document explicitly states that this code was written without a spec, violating the spec-before-code workflow",
      "max_score": 10
    },
    {
      "name": "In-memory cache limitation noted",
      "description": "Document identifies that the cache is in-process memory (Python dict) — won't work across multiple workers/processes",
      "max_score": 10
    },
    {
      "name": "TTL behavior documented",
      "description": "Draft spec section documents the TTL behavior: 5-minute default, 60-second TTL for list_projects",
      "max_score": 8
    },
    {
      "name": "Invalidation behavior documented",
      "description": "Draft spec section documents cache invalidation on create_project",
      "max_score": 8
    },
    {
      "name": "Cache scope documented",
      "description": "Draft spec section documents which endpoints are cached (get_project, list_projects) and which are not",
      "max_score": 8
    },
    {
      "name": "Gaps identified",
      "description": "Document raises at least two genuine gaps the code doesn't address (e.g. cache eviction under memory pressure, stale data on update/delete, no cache headers in HTTP response, auth-scoped caching)",
      "max_score": 12
    },
    {
      "name": "No spec file created",
      "description": "Agent does NOT create a .spec.md file — only the assessment document. The spec needs team approval first.",
      "max_score": 10
    },
    {
      "name": "Draft spec section included",
      "description": "The assessment includes a draft spec section (markdown with requirements) that the team could review and adopt into specs/api.spec.md",
      "max_score": 8
    },
    {
      "name": "Existing spec referenced",
      "description": "Document references specs/api.spec.md as the spec that should be updated once the caching requirements are approved",
      "max_score": 5
    }
  ]
}

README.md

tile.json