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.
npx skills add makifbaysal/tasktrooper --skill node-typescript-servicegit clone --depth 1 https://github.com/makifbaysal/tasktrooperWrote 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.
[](https://agentmods.dev/skills/makifbaysal/tasktrooper/node-typescript-service)<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.
<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>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.
| Model | Per session | Once 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 |
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). 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-versionorengines; a new service targets the current Active LTS. - Module system from
package.json:"type": "module"means ESM (relative imports carry.jsunderNodeNext); otherwise CommonJS. Never mix them in one package. strict: true. Noany;unknownat the boundary, narrowed by a parser. No non-null!to silence a realundefined.- 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-promisescatches 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
*Syncfile or crypto calls on a request path, no unboundedJSON.parseof 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 ($queryRawUnsafeandsql.rawwith 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; noconsole.login service code; redact secrets and tokens (redactoption). - Graceful shutdown: on SIGTERM stop accepting connections, finish in-flight requests, close the pool, then exit — Fastify
close(), NestenableShutdownHooks(). - 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.
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.
- 3d ago First seen · 83 lines · 51 tokens per session scan A ffe2d3aeaf7f
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.
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"…
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…
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.
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.
V3 DDD Architecture
Domain-Driven Design architecture for claude-flow v3. Implements modular, bounded context architecture with clean separation of concerns and microkernel pattern.
api-framework-nestjs
NestJS backend framework - modules, controllers, services, DI, guards, pipes, interceptors, exception filters, middleware, DTOs with class-validator.