Codex skills for Node.js
Node.js skills cover the server frameworks (Express 5, Fastify, NestJS, Hono) and the runtime under them: streams, event loop profiling, memory leaks, Bun and ESM. Codex structures services so their tests run offline through Supertest or app.inject, keeps memory flat on large inputs with stream pipelines, and profiles under realistic load before it changes code.
Start with these 3
- Node.js Streams Flat memory for files of any size Codex replaces readFile and Buffer.concat on unbounded input with pipeline chains whose memory stays flat at any size. Transforms are async generators, hand-written writers wait for drain, fetch bodies cross into Node with Readable.fromWeb, and a client disconnect or AbortSignal tears down every stage so cursors and file handles are released. Peak RSS is measured before and after.
- Node.js Profiling Classify the slowdown, then profile the right thing Codex first decides whether a slow Node service is CPU-bound, blocking the event loop, waiting on I/O or leaking memory, using event loop utilisation and delay histograms. It then captures the matching profile under realistic load with --cpu-prof, the inspector, heap profiles or 0x, names the hot function and line, applies a targeted fix, and re-runs the same load to prove the gain.
- Express 5 API Express services with one error path and typed input Codex structures Express 5 apps with an importable app factory, feature routers and services free of req and res, and a single error handler that catches rejected promises. Input is validated with Zod before business logic runs, proxies and keep-alive timeouts are set deliberately, and Supertest covers each route's failure modes. A migration reference walks Express 4 apps through path-to-regexp v8 and removed APIs.
12 more Node.js skills
-
Fastify API
Schema-first Fastify with deliberate encapsulation -
Hono Edge API
One typed Hono app for Workers, Bun, Deno and Node -
Bun Runtime
Adopt Bun without surprise Node fallbacks -
NestJS Modules
Clean module graphs and DI that tests can swap -
Codex SDK Automation
Drive Codex from TypeScript with real guardrails -
Session Auth
Revocable logins behind a locked-down cookie -
Node ESM Migration
From require to import without breaking consumers -
LLM Streaming
Tokens that arrive live and stop when asked -
CORS Configuration
Fix the CORS error without opening the API -
Memory Leak Hunting
Snapshot, repeat, compare, follow the retainer -
Dependency Injection
Constructor wiring that makes tests trivial -
Node CLI Tool Building
Node CLIs that run from npx and never hang in CI
General skills with Node.js guidance
Not built around Node.js, but they include steps or tools for it. Not part of the install-all command.
-
AWS Lambda
Faster cold starts, no reprocessed batches -
Cloudflare Workers
Edge code that respects the isolate model -
D3 Visualizations
Bespoke charts with honest scales and keyed joins -
htmx Patterns
Server-rendered interactivity without a SPA -
Server-Sent Events
Live HTTP streams that no proxy can buffer -
Problem Details Errors
One error shape clients can branch on -
TypeScript Declaration Files
Types that match the runtime and resolve everywhere -
AWS Step Functions
Workflows where every failure has somewhere to go -
Google Cloud Functions
Event handlers that survive at-least-once delivery -
Azure Functions
Triggers, bindings and durable workflows done right -
CSRF Protection
Forged requests die at the middleware -
Content Security Policy
Strict CSP without breaking checkout
Every Node.js skill in one command
Installs these 15 into ~/.agents/skills/. Add --project after -- to install into the current repository instead.
The installer is a 104-line POSIX shell script. It fetches the skills you name from codexskills.dev and unpacks each into its own folder in your skills directory. No sudo, no telemetry, and every skill page shows the full SKILL.md first. Read install.sh
curl -fsSL codexskills.dev/install.sh | sh -s -- node-streams node-profiling express-api fastify-api hono-edge-api bun-runtime nestjs-modules codex-sdk-automation session-auth node-esm-migration llm-streaming cors-configuration memory-leak-hunting dependency-injection cli-tool-building Node.js FAQ
Is there a Codex skill for upgrading Express 4 to Express 5?
Express 5 API includes a migration reference for the Express 4 traps: path-to-regexp v8 wildcards that reject app.get('*'), the read-only req.query getter and removed methods. Because Express 5 forwards rejected promises to the error handler, it drops express-async-errors and manual try/catch wrappers, validates input with Zod and covers each route's failure modes with Supertest.
How does Codex find what is blocking the Node.js event loop?
Node.js Profiling first decides whether the service is CPU-bound, blocking the loop, waiting on I/O or leaking, using perf_hooks event loop utilisation and the monitorEventLoopDelay histogram. It then captures the matching profile under realistic load with --cpu-prof, the inspector, heap profiles, 0x or Clinic.js, names the hot function and re-runs the same load to prove the fix. For memory that only grows, Memory Leak Hunting uses the three-snapshot technique and the retainer path.
Can Codex move a Node project to Bun?
Bun Runtime adopts Bun one layer at a time: package manager, then tests, then runtime. It commits the text bun.lock, lists trustedDependencies for packages that need postinstall, and keeps tsc in CI because Bun strips types without checking them. It also warns that bun run still executes tools with a node shebang on Node unless you pass --bun.
How do I install all 15 Node.js skills at once?
Pass every name to the installer in one command: curl -fsSL https://codexskills.dev/install.sh | sh -s -- node-streams node-profiling express-api fastify-api hono-edge-api bun-runtime nestjs-modules codex-sdk-automation session-auth node-esm-migration llm-streaming cors-configuration memory-leak-hunting dependency-injection cli-tool-building. Add --project right after -- to put them in the current repository's .agents/skills/ so your team gets them too.
Which Node.js skill should I try first?
Node.js Streams is the closest fit for most Node.js work. Mention it with $node-streams in a prompt to load it on purpose; after that, Codex picks it up on its own whenever a task matches.