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

{
  "context": "Tests whether the agent configures Pino logging correctly: using structured object logging instead of string interpolation, redacting sensitive fields, reading the log level from an environment variable, using request-scoped loggers in handlers, and creating child loggers with service context.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Structured log calls",
      "description": "All log statements pass a plain object as the first argument (e.g. request.log.info({ userId, action }, 'msg')) — no string interpolation or concatenation is used as the first argument to any log call",
      "max_score": 15
    },
    {
      "name": "redact option present",
      "description": "The Fastify instance is created with a logger config that includes a `redact` key containing a `paths` array",
      "max_score": 12
    },
    {
      "name": "Authorization header redacted",
      "description": "The redact paths array includes at least one path that targets the authorization header (e.g. 'req.headers.authorization')",
      "max_score": 10
    },
    {
      "name": "Password/token fields redacted",
      "description": "The redact paths array includes at least one wildcard or specific path targeting password, token, or secret fields (e.g. '*.password', '*.token', '*.secret', 'body.password')",
      "max_score": 10
    },
    {
      "name": "Censor value set",
      "description": "The redact config includes a `censor` property set to a string such as '[REDACTED]'",
      "max_score": 5
    },
    {
      "name": "LOG_LEVEL from env",
      "description": "The logger `level` is set from an environment variable (e.g. process.env.LOG_LEVEL || 'info') — NOT hardcoded to 'debug', 'info', or any other literal",
      "max_score": 10
    },
    {
      "name": "request.log in handlers",
      "description": "Route handlers use request.log.info / request.log.warn / request.log.error — NOT console.log, console.error, or the top-level app.log",
      "max_score": 15
    },
    {
      "name": "Child logger with context",
      "description": "At least one child logger is created using .child({ service: '...' }) or .child({ module: '...' }) to attach service-level context to a group of log calls",
      "max_score": 10
    },
    {
      "name": "No console.log usage",
      "description": "The codebase contains NO calls to console.log, console.error, console.warn, or console.info anywhere in the application code",
      "max_score": 8
    },
    {
      "name": "No pino-pretty in production logger",
      "description": "The main Fastify logger configuration does NOT include a `transport` with `target: 'pino-pretty'` — plain JSON output is used (pino-pretty may only appear in a separate development configuration branch, if at all)",
      "max_score": 5
    }
  ]
}

evals

README.md

tile.json