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

{
  "context": "Tests whether the agent correctly sets up a Node.js 22+ TypeScript project using native type stripping, avoiding build tools like ts-node or tsx, and following the required tsconfig and package.json configuration. The agent is evaluated on configuration decisions, not the completeness of application logic.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Type stripping usage",
      "description": "Source TypeScript files are run directly with `node` (not via ts-node, tsx, tsc+run, or similar build tools). The run command or script uses `node` directly on `.ts` files.",
      "max_score": 12
    },
    {
      "name": "import type for type imports",
      "description": "Type-only imports use the `import type` keyword (e.g., `import type { Foo } from './foo.ts'`). No type imports are written as plain `import { SomeType }` without the `type` keyword.",
      "max_score": 10
    },
    {
      "name": "No enums",
      "description": "No TypeScript `enum` declarations are present in any source file. Enumerations are expressed using `const` objects with `as const`.",
      "max_score": 10
    },
    {
      "name": "No namespaces",
      "description": "No TypeScript `namespace` declarations are present in any source file.",
      "max_score": 8
    },
    {
      "name": "No constructor parameter properties",
      "description": "No TypeScript class constructors use shorthand parameter properties (e.g., `constructor(public name: string)`). Properties are declared explicitly in the class body.",
      "max_score": 8
    },
    {
      "name": ".ts import extensions",
      "description": "All relative imports within the project use `.ts` file extensions (e.g., `import { x } from './helper.ts'`), not `.js` or no extension.",
      "max_score": 10
    },
    {
      "name": "tsconfig noEmit",
      "description": "The tsconfig.json (or tsconfig development config) sets `\"noEmit\": true`.",
      "max_score": 8
    },
    {
      "name": "tsconfig verbatimModuleSyntax",
      "description": "The tsconfig.json sets `\"verbatimModuleSyntax\": true`.",
      "max_score": 8
    },
    {
      "name": "tsconfig isolatedModules",
      "description": "The tsconfig.json sets `\"isolatedModules\": true`.",
      "max_score": 8
    },
    {
      "name": "package.json type module",
      "description": "The `package.json` includes `\"type\": \"module\"` to declare the project as ESM.",
      "max_score": 9
    },
    {
      "name": "Node engines field",
      "description": "The `package.json` includes an `engines` field specifying a Node.js version compatible with type stripping (e.g., `>=22.6.0` or `>=22.19.0`).",
      "max_score": 9
    }
  ]
}

evals

README.md

tile.json