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

{
  "context": "Tests whether the agent correctly identifies and fixes libuv thread pool bottlenecks: avoiding dns.lookup in favor of dns.resolve*(), setting UV_THREADPOOL_SIZE as a startup environment variable (not inside app code), caching DNS results, streaming large files, and including thread pool saturation monitoring.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "No process.env thread pool",
      "description": "Does NOT set UV_THREADPOOL_SIZE via process.env inside the application code (e.g., no line like process.env.UV_THREADPOOL_SIZE = ...)",
      "max_score": 15
    },
    {
      "name": "Startup env var for pool size",
      "description": "UV_THREADPOOL_SIZE is configured as a startup environment variable — present in a shell script, package.json start script, or documented startup command (e.g., UV_THREADPOOL_SIZE=16 node app.js)",
      "max_score": 15
    },
    {
      "name": "dns.resolve*() not dns.lookup()",
      "description": "Uses dns.resolve4(), dns.resolve(), dns.promises.resolve4(), or dns.promises.resolve() for hostname resolution — does NOT call dns.lookup() or dns.promises.lookup()",
      "max_score": 20
    },
    {
      "name": "DNS result caching",
      "description": "Implements an in-memory cache for resolved DNS addresses (e.g., a Map, object, or LRU cache) so the same hostname is not resolved on every request",
      "max_score": 15
    },
    {
      "name": "Stream-based file reading",
      "description": "Reads large configuration or data files using createReadStream() or stream pipeline rather than fs.readFile() / fs.promises.readFile()",
      "max_score": 15
    },
    {
      "name": "Thread pool saturation monitoring",
      "description": "Includes code or documentation for monitoring thread pool saturation — e.g., using async_hooks to count active thread pool operations, measuring dns.lookup latency as a canary, or using monitorEventLoopDelay from node:perf_hooks",
      "max_score": 10
    },
    {
      "name": "Thread pool size > default",
      "description": "Recommends or configures UV_THREADPOOL_SIZE to a value greater than 4 (the default), appropriate for the workload",
      "max_score": 10
    }
  ]
}

evals

README.md

tile.json