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

task.mdevals/scenario-1/

Shipping a Multi-Region Payment Service

Problem/Feature Description

Your team is about to deploy a payment processing microservice to three separate cloud regions (US, EU, AP). The ops lead has flagged that the previous generation of internal services suffered from a serious operational issue: configuration was scattered across a mix of JSON files checked into the repo (config/production.json, config/staging.json, config/development.js) and conditional branches on NODE_ENV. When a secret was rotated last year, it had to be updated in six places, one of which was missed, causing a 3-hour outage.

The new service must be structured so that all configuration comes from the runtime environment (the platform injects secrets and connection strings via environment variables). The service must validate its configuration at startup and fail fast with a clear error message if a required variable is missing or has the wrong type. The configuration should be accessible to the rest of the application in a type-safe, centralised way.

The service handles payments, so it needs: a database connection string, a Stripe-compatible webhook secret (minimum 32 characters), a port number, a host address, and a log level setting.

Output Specification

Produce a working Fastify application skeleton with:

  • package.json (with type: "module" and a start script)
  • src/app.ts - the Fastify instance factory (exported as a buildApp function)
  • src/plugins/config.ts - the configuration plugin
  • src/server.ts - the entry point that starts the server
  • A brief config-notes.md documenting: what validation library is used for config, how the schema is defined, and what happens if a required variable is absent at startup

evals

scenario-1

criteria.json

task.md

README.md

tile.json