node-typescript-service

node-typescript-service is a skill for Claude Code, Codex from makifbaysal/tasktrooper. It costs 51 tokens per session (1,477 once invoked), scanned A, original, Apache-2.0.

A set of guidelines for building or changing a TypeScript service on Node.js, a platform for running JavaScript and TypeScript outside a web browser. It covers HTTP frameworks, input checking, database access, errors, and shutdown behaviour.

In plain words
What is it for?
Use it to build or extend APIs and other backend services with Fastify, NestJS, Express, or Hono, while following the project's package manager, ORM, and migrations.
Why use it?
It helps keep incoming data checked and keeps web-specific code, business rules, and database code in clear parts of the service. It also helps developers follow the repository's existing tools instead of adding competing ones.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to build or extend APIs and other backend services with Fastify, NestJS, Express, or Hono, while following the project's package manager, ORM, and migrations.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/makifbaysal/tasktrooper/node-typescript-service
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add makifbaysal/tasktrooper --skill node-typescript-service
Clone the repo
git clone --depth 1 https://github.com/makifbaysal/tasktrooper

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for node-typescript-service

README.md
[![agentmods](https://agentmods.dev/badge/skills/makifbaysal/tasktrooper/node-typescript-service/github.svg)](https://agentmods.dev/skills/makifbaysal/tasktrooper/node-typescript-service)
Your own site
<a href="https://agentmods.dev/skills/makifbaysal/tasktrooper/node-typescript-service"><img src="https://agentmods.dev/badge/skills/makifbaysal/tasktrooper/node-typescript-service/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for node-typescript-service

Your own site · 80×15
<a href="https://agentmods.dev/skills/makifbaysal/tasktrooper/node-typescript-service"><img src="https://agentmods.dev/badge/skills/makifbaysal/tasktrooper/node-typescript-service.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,477 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00051 $0.01477
Opus 5.5 $0.00020 $0.00591
Sonnet 5.5 $0.00010 $0.00295
Haiku 4.5 $0.00005 $0.00148

Measured 3d ago against content hash ffe2d3aeaf7f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

node-typescript-service scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **Outbound calls have a deadline:** `fetch(url, { signal: AbortSignal.timeout(5_000) })` or the client's own timeout; retries only for idempotent calls (resilient-io-and-jobs).
catalog/agents/backend-developer/skills/node-typescript-service/SKILL.md · 83 lines

How it starts

The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.

TypeScript Service on Node.js

Overview

A Node.js service is TypeScript at compile time and untyped JavaScript at run time. Every type at the edge — a request body, a header, an environment variable, a queue message, a row from a raw query — is a claim until something checks it.

Core principle: the repository's framework, package manager, module system and ORM win. Parse input at the boundary into typed values; keep the domain free of the framework.

Choosing, only when there is nothing to follow

  • Fastify for a new HTTP service: schema-first routes, app.inject() for tests, pino logging built in.
  • NestJS when the service is domain-rich and the team wants modules, DI and decorators (the Quarkus/Spring of Node).
  • Express 5 or Hono only to match a repository or a platform that already uses them.

Layers

Layer Responsibility
Route / controller Parse and validate input, call one service, map the result and errors to HTTP
Service Use-case orchestration and business rules; takes plain typed values
Domain Types, invariants, pure functions — no framework import
Adapter Database, outbound HTTP, queues — behind an interface the service depends on

Patterns

  • Package manager from the lockfile: pnpm-lock.yaml → pnpm, yarn.lock → yarn, package-lock.json → npm; install with the frozen form (pnpm install --frozen-lockfile, npm ci). Node version from .nvmrc, .node-version or engines; a new service targets the current Active LTS.
  • Module system from package.json: "type": "module" means ESM (relative imports carry .js under NodeNext); otherwise CommonJS. Never mix them in one package.
  • strict: true. No any; unknown at the boundary, narrowed by a parser. No non-null ! to silence a real undefined.
  • Validate at runtime at the boundary: zod (or TypeBox / Fastify JSON schema, class-validator in NestJS — whatever the repository uses) on body, params, query and headers; derive the TypeScript type from the schema (z.infer) so the two cannot drift. Environment variables are parsed once at startup by the same means and the process exits on a bad one.
  • Errors in one shape: a central error handler (setErrorHandler, a Nest exception filter, Express 5's error middleware) maps domain errors to 400/404/409 problem+json; an unknown error is logged with its stack and answered 500 without it.
  • No floating promises: every promise is awaited, returned or explicitly handled (@typescript-eslint/no-floating-promises catches the rest). An unhandled rejection crashes the process in current Node.
  • Outbound calls have a deadline: fetch(url, { signal: AbortSignal.timeout(5_000) }) or the client's own timeout; retries only for idempotent calls (resilient-io-and-jobs).
  • Never block the event loop: no *Sync file or crypto calls on a request path, no unbounded JSON.parse of a large body, CPU-heavy work in a worker thread or a job.
  • Database: the repository's tool — Prisma, Drizzle, Kysely, TypeORM, MikroORM or pg — with parameters, never string-built SQL ($queryRawUnsafe and sql.raw with input are bugs). Migrations through that tool (prisma migrate dev --name, drizzle-kit generate), committed with the schema change; postgres-migrations covers safe DDL.
  • Logging: pino (Fastify's logger, nestjs-pino) with structured fields, request id bound per request; no console.log in service code; redact secrets and tokens (redact option).
  • Graceful shutdown: on SIGTERM stop accepting connections, finish in-flight requests, close the pool, then exit — Fastify close(), Nest enableShutdownHooks().
  • Dependencies: a new package is a decision (reuse-before-you-write) — exact name from the registry, added with the repository's package manager, lockfile in the same commit.

Read the full file on GitHub · 83 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 83 lines · 51 tokens per session scan A ffe2d3aeaf7f

Subscribe to this mod's changes

node-typescript-service is a skill published in the GitHub repository makifbaysal/tasktrooper (117 stars, last pushed today), licensed Apache-2.0. It adds 51 tokens to every session and 1,477 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-17.

Related

Other skills, from other repositories

node-modern

Use this skill when writing, reviewing, or refactoring Node.js code — modules, async flow, cancellation, file and process I/O, HTTP — on a current Node.js release. Triggers: user mentions "Node", "Node.js", "ESM", "CommonJS", "require", "import", "fetch", "AbortSignal", "AbortController", "stream", "childprocess"…

WrongStack/WrongStack · 93 tokens

nestjs

Use when building or structuring a NestJS backend — feature modules, providers and DI wiring, provider scopes and request-lifecycle order, where to bind guards/pipes/interceptors/filters, and testing with Test.createTestingModule. NOT a bare Express/Fastify service with no DI (that is nodejs), NOT framework-agnostic…

ericrisco/rsc-harness · 81 tokens

V3 CLI Modernization

CLI modernization and hooks system enhancement for claude-flow v3. Implements interactive prompts, command decomposition, enhanced hooks integration, and intelligent workflow automation.

ruvnet/ruflo · 35 tokens

V3 Core Implementation

Core module implementation for claude-flow v3. Implements DDD domains, clean architecture patterns, dependency injection, and modular TypeScript codebase with comprehensive testing.

ruvnet/ruflo · 37 tokens

V3 DDD Architecture

Domain-Driven Design architecture for claude-flow v3. Implements modular, bounded context architecture with clean separation of concerns and microkernel pattern.

ruvnet/ruflo · 34 tokens

api-framework-nestjs

NestJS backend framework - modules, controllers, services, DI, guards, pipes, interceptors, exception filters, middleware, DTOs with class-validator.

agents-inc/skills · 36 tokens