CtrlK
BlogDocsLog inGet started
Tessl Logo

base/typescript-engineering

Use this skill whenever the user asks you to write, edit, review, refactor, debug, or design TypeScript or TSX code. It is especially relevant for application code, backend routes, React/UI work, schemas, runtime boundaries, persistence, async workflows, API contracts, tests, lint/typecheck fixes, and code review. Apply it even when the user does not explicitly mention "TypeScript" if the files or project are TypeScript-based.

89

1.26x
Quality

85%

Does it follow best practices?

Impact

95%

1.26x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent models different data shapes across an import pipeline and keeps persisted history explicit. The starter code uses one broad Customer type, mutates historical records, leaks database nullability, and relies on array order.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Shape separation",
      "description": "Defines distinct types for external import rows, persistence records, domain/customer snapshots, and view output when their meanings differ.",
      "max_score": 10
    },
    {
      "name": "No giant type",
      "description": "Does not reuse one broad Customer type across external, database, domain, and view-model boundaries.",
      "max_score": 8
    },
    {
      "name": "Schema source",
      "description": "Uses a runtime schema for imported JSON or CSV-like rows and infers the corresponding TypeScript type from that schema.",
      "max_score": 10
    },
    {
      "name": "Boundary transforms",
      "description": "Keeps serialization, deserialization, and import normalization near the import or persistence boundary that owns the format.",
      "max_score": 8
    },
    {
      "name": "Null handling",
      "description": "Preserves external or database null only where it carries meaning and normalizes ordinary internal absence to undefined or optional properties.",
      "max_score": 8
    },
    {
      "name": "Version metadata",
      "description": "Stores durable imported records with explicit version, timestamp, source, and stable identifier metadata.",
      "max_score": 10
    },
    {
      "name": "Append history",
      "description": "Treats raw imported inputs or external outputs as append-only history unless the domain explicitly allows correction.",
      "max_score": 8
    },
    {
      "name": "Migration path",
      "description": "Adds an explicit migration or transformation function for changing stored shapes instead of silently mutating old records in place.",
      "max_score": 8
    },
    {
      "name": "Stable ordering",
      "description": "Uses stable identifiers and explicit timestamps instead of array positions, object key order, or runtime timing for correlation and ordering.",
      "max_score": 8
    },
    {
      "name": "Readonly snapshots",
      "description": "Marks parsed inputs, config, or domain snapshots readonly where they should not be mutated after construction.",
      "max_score": 6
    },
    {
      "name": "Focused tests",
      "description": "Adds deterministic tests for parsing, normalization, migration or transformation, stable IDs, and historical record preservation.",
      "max_score": 10
    },
    {
      "name": "No leakage",
      "description": "Does not let database nullability, external field names, or UI convenience fields leak through every layer.",
      "max_score": 6
    }
  ]
}

evals

SKILL.md

tile.json