CtrlK
BlogDocsLog inGet started
Tessl Logo

simon/skills

Auto-generated tile from GitHub (10 skills)

92

1.16x
Quality

94%

Does it follow best practices?

Impact

92%

1.16x

Average score across 44 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-4/

{
  "context": "Tests whether the agent uses TypeBox for schema definitions (providing both validation and TypeScript types from one source), uses @fastify/type-provider-typebox, defines response schemas on every route, and benefits from fast-json-stringify for serialization while stripping internal fields.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "TypeBox imported",
      "description": "Schemas are defined using Type.Object(), Type.String(), Type.Number() etc. from '@sinclair/typebox' — NOT plain JSON Schema object literals as the primary schema definition",
      "max_score": 12
    },
    {
      "name": "Static type extraction",
      "description": "TypeScript types for request/response bodies are derived via Static<typeof Schema> from TypeBox, not defined separately as interfaces or types that duplicate the schema",
      "max_score": 10
    },
    {
      "name": "TypeBoxTypeProvider wired",
      "description": "The Fastify instance is created with .withTypeProvider<TypeBoxTypeProvider>() imported from '@fastify/type-provider-typebox'",
      "max_score": 10
    },
    {
      "name": "Response schema on GET /",
      "description": "The GET / (list) route has a response schema defined (schema.response[200] or equivalent) using TypeBox or a TypeBox $ref",
      "max_score": 10
    },
    {
      "name": "Response schema on POST /",
      "description": "The POST / (create) route has a response schema defined (schema.response[201] or equivalent)",
      "max_score": 10
    },
    {
      "name": "Response schema on GET /:id",
      "description": "The GET /:id route has a response schema defined (schema.response[200] or equivalent)",
      "max_score": 10
    },
    {
      "name": "Internal fields stripped",
      "description": "The demo/test script or product schema demonstrates that cost_price, supplier_id, and/or internal_notes are NOT included in the response schema properties, so they are stripped from serialized output",
      "max_score": 12
    },
    {
      "name": "Body validation schema",
      "description": "The POST / route has an input body schema (schema.body) that validates name, price, stock, and category",
      "max_score": 8
    },
    {
      "name": "Enum for category",
      "description": "The category field is typed as a TypeBox union of literals (e.g. Type.Union([Type.Literal('electronics'), ...])) or Type.Enum rather than a plain string",
      "max_score": 8
    },
    {
      "name": "Schemas in dedicated file",
      "description": "TypeBox schema definitions live in a dedicated file (e.g. src/schemas/product.ts) rather than inlined into route handlers",
      "max_score": 10
    }
  ]
}

evals

README.md

tile.json