Auto-generated tile from GitHub (10 skills)
92
94%
Does it follow best practices?
Impact
92%
1.16xAverage score across 44 eval scenarios
Advisory
Suggest reviewing before use
{
"context": "Tests whether the agent uses close-with-grace for graceful shutdown, pino for structured logging with redaction, child loggers for request-scoped context, a health endpoint that returns 503 during shutdown, and avoids the NODE_ENV antipattern.",
"type": "weighted_checklist",
"checklist": [
{
"name": "close-with-grace usage",
"description": "Uses the close-with-grace package (not manual process.on('SIGTERM') / process.on('SIGINT') signal handlers) for graceful shutdown",
"max_score": 15
},
{
"name": "Health returns 503 on shutdown",
"description": "The health or readiness endpoint returns HTTP 503 status when the server is in the process of shutting down (not 200)",
"max_score": 10
},
{
"name": "No manual unhandledRejection",
"description": "Does NOT register process.on('unhandledRejection') or process.on('uncaughtException') manually",
"max_score": 10
},
{
"name": "pino for logging",
"description": "Uses the pino package for logging (not console.log, winston, bunyan, or other loggers) in request handlers and server lifecycle events",
"max_score": 10
},
{
"name": "pino redact config",
"description": "Pino logger is configured with a redact option that lists at least one sensitive field path (e.g. 'password', 'token', 'apiKey', or 'authorization')",
"max_score": 15
},
{
"name": "Child logger per request",
"description": "Creates a child logger (logger.child({...})) with at least one request-scoped field (e.g. requestId, method, url, or path) rather than logging directly from the root logger for each request",
"max_score": 10
},
{
"name": "No NODE_ENV",
"description": "Does NOT use process.env.NODE_ENV to branch behavior; uses specific environment variables for each concern (e.g. LOG_LEVEL for logging level)",
"max_score": 10
},
{
"name": "import type usage",
"description": "Uses 'import type' for at least one type-only import (e.g. import type { ... } from '...')",
"max_score": 10
},
{
"name": ".ts import extensions",
"description": "Import statements for local modules use .ts extensions (e.g. import { x } from './x.ts') rather than .js or no extension",
"max_score": 10
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
skills
documentation
fastify
init
linting-neostandard-eslint9
node
nodejs-core
rules
oauth
octocat
snipgrapher