usetemi/skills · Archived

node-26

Use when upgrading, validating, or modernizing Node.js projects for Node.js 26, or when answering implementation questions about Node.js 26 features and compatibility.

First seen May 18, 2026

Installation

$ npx skills add usetemi/skills --skill node-26

Summary

  • Use when upgrading, validating, or modernizing Node.js projects for Node.js 26, or when answering implementation questions about Node.js 26 features and compatibility.
  • Covers Temporal enabled by default, V8 14.6 Map/WeakMap get-or-insert helpers, Iterator.concat, Undici 8, raw crypto key formats, removed/deprecated APIs, native addon rebuilds, platform minimums, and release/LTS readiness decisions.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from usetemi/skills · top by installs.

npx skills add usetemi/skills

Browse all from usetemi/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 5
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,866 B
  • docs SUMMARY.md 416 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 7 installs

SKILL.md

Node 26

Practical workflow for adopting Node.js 26 in real projects. Prefer official Node.js release notes and API docs for date-sensitive details because the v26 Current line can change quickly.

For API patterns, examples, and migration details, read references/node-26-upgrade-guide.md.

Upgrade Workflow

  1. Establish the target.

- Check node --version, node -p "process.versions", package manager version, CI images, Dockerfiles, .nvmrc, .node-version, mise, Volta, and package.json engines. - Treat Node.js 26 as Current until it reaches LTS. For production services already on an LTS line, recommend waiting for the LTS handoff unless the user explicitly wants Current or needs a v26 feature.

  1. Scan compatibility before changing code.

- Search for removed or risky APIs:

``bash rg -n "stream(readable|writable|duplex|transform|passthrough|wrap)|writeHeader\\(|--experimental-transform-types|module\\.register\\(|\\blocalStorage\\b" . ``

- Search for native addon or prebuild risk:

``bash rg -n "node-gyp|binding\\.gyp|node-addon-api|\\bnan\\b|prebuild|node-pre-gyp" package.json pnpm-lock.yaml package-lock.json yarn.lock .github Dockerfile* 2>/dev/null ``

  1. Adopt Node 26 APIs only where they simplify real code.

- Use Temporal for business dates, time zones, DST-sensitive scheduling, and removing date libraries when the runtime target is Node >= 26. - Use Map/WeakMap get-or-insert helpers for cache, grouping, counting, and object metadata patterns. - Use Iterator.concat for synchronous lazy iterable composition. - Use raw crypto key formats only when the project already handles direct key material.

  1. Verify with the actual target runtime.

- Install dependencies with Node.js 26, rebuild native addons, run tests, type checks, linters, and a smoke test of startup plus key workflows. - If dependencies do not declare Node.js 26 support, test them under v26 rather than assuming compatibility. - For production rollout guidance, call out Current vs LTS risk explicitly.

Gotchas

  • Map.prototype.getOrInsertComputed() is synchronous. If the factory returns

a Promise, the Promise is stored; it is not awaited.

  • Iterator.concat() handles synchronous iterables. For streams, paginated API

clients, async cursors, or other async iterables, use an async generator.

  • Temporal has distinct types. Choose PlainDate, PlainDateTime,

ZonedDateTime, or Instant based on the domain instead of translating every Date call mechanically.

  • localStorage no longer has a useful unconfigured in-memory fallback in

Node.js 26. Current docs say accessing it without --localstorage-file throws a DOMException; configure persistence or avoid the global.

  • module.register() is runtime-deprecated. Do not blindly rewrite complex

loader hooks; check the current node:module customization hooks docs.

  • Native addons need fresh v26 builds. NODEMODULEVERSION is 147 for

Node.js 26.0.0.

Output Style

  • For upgrade requests, return a risk-ordered checklist with exact files and

commands to run.

  • For code changes, keep replacements narrow and explain why each Node 26 API

improves the existing code.

  • For release-status answers, include the concrete Node.js dates and note when

a claim depends on the current release line.