node
Provides domain-specific best practices for Node.js development with TypeScript, covering type stripping, async patterns, error handling, streams, modules…
Skill by mcollina
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mcollina-node
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/node
What's inside
- Skill name
node- Description
- Provides domain-specific best practices for Node.js development with TypeScript, covering type stripping, async patterns, error handling, streams, modules, testing, performance, caching, logging, and more. Use when setting up Node.js projects with native TypeScript support, configuring type stripping (--experimental-strip-types), writing Node 22+ TypeScript without a build step, or when the user mentions 'native TypeScript in Node', 'strip types', 'Node 22 TypeScript', '.ts files without compilation', 'ts-node alternative', or needs guidance on error handling, graceful shutdown, flaky tests, profiling, or environment configuration in Node.js. Helps configure tsconfig.json for type stripping, set up package.json scripts, handle module resolution and import extensions, and apply robust patterns across the full Node.js stack.
- License
- MIT
- Metadata
- tags: node, nodejs, javascript, typescript, type-stripping, backend, server
- Instructions
- 89 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (19)
- SKILL.md
- graceful-server.test.ts · rules/assets/
- graceful-server.ts · rules/assets/
- async-patterns.md · rules/
- caching.md · rules/
- environment.md · rules/
- error-handling.md · rules/
- flaky-tests.md · rules/
- graceful-shutdown.md · rules/
- logging.md · rules/
- modules.md · rules/
- node-modules-exploration.md · rules/
- performance.md · rules/
- profiling.md · rules/
- streams.md · rules/
- stuck-processes-and-tests.md · rules/
- testing.md · rules/
- typescript.md · rules/
- tile.json
SKILL.md (first lines)
## When to use
Use this skill whenever you are dealing with Node.js code to obtain domain-specific knowledge for building robust, performant, and maintainable Node.js applications.
## TypeScript with Type Stripping
When writing TypeScript for Node.js, use **type stripping** (Node.js 22.6+) instead of build tools like ts-node or tsx. Type stripping runs TypeScript directly by removing type annotations at runtime without transpilation.
Key requirements for type stripping compatibility:
- Use `import type` for type-only imports
- Use const objects instead of enums
- Avoid namespaces and parameter properties
- Use `.ts` extensions in imports
**Minimal example** — a valid type-stripped TypeScript file:
```ts
// greet.ts
import type { IncomingMessage } from 'node:http';
const greet = (name: string): string => `Hello, ${name}!`;
console.log(greet('world'));
```
Run directly with:
```bash
node greet.ts
```
See [rules/typescript.md](rules/typescript.md) for complete configuration and examples.
## Common Workflows
For multi-step processes, follow these high-level sequences before consulting the relevant rule file:
**Graceful shutdown**: Register signal handlers (SIGTERM/SIGINT) → stop accepting new work → drain in-flight requests → close external connections (DB, cache) → exit with appropriate code. See [rules/graceful-shutdown.md](rules/graceful-shutdown.md).
**Error handling**: Define a shared error base class → classify errors (operational vs programmer) → add async boundary handlers (`process.on('unhandledRejection')`) → propagate typed errors through the call stack → log with context before responding or crashing. See [rules/error-handling.md](rules/error-handling.md).
**Diagnosing flaky tests**: Isolate the test with `--test-only` → check for shared state or timer dependencies → inspect async teardown order → add retry logic as a temporary diagnostic step → fix root cause. See [rules/flaky-tests.md](rules/flaky-tests.md).
**Diagnosing stuck processes/tests** (`node --test` hangs, "process did not exit", CI timeout, open handles): isolate file/test → run with explicit timeout/reporter → inspect handles via `why-is-node-running` (`SIGUSR1`) → patch deterministic teardown in resource-creation scope → rerun isolated + full suite until stable. See [rules/stuck-processes-and-tests.md](rules/stuck-processes-and-tests.md).
**Profiling a slow path**: Reproduce under realistic load → capture a CPU profile with `--cpu-prof` → identify hot functions → check for stream backpressure or unnecessary serialisation → validate improvement with a benchmark. See [rules/profiling.md](rules/profiling.md) and [rules/performance.md](rules/performance.md).
## High-priority activation checklist (streams + caching)
When the task mentions **CSV**, **ETL**, **ingestion pipelines**, **large file processing**, **backpressure**, **repeated lookups**, or **deduplicating concurrent async calls**, explicitly apply this checklist:
1. Use `await pipeline(...)` from `node:stream/promises` (prefer this over chained `.pipe()` in guidance/code).
2. Include at least one explicit `async function*` transform when data is being transformed in-stream.
3. Choose a cache strategy when repeated work appears:
- `lru-cache` for bounded in-memory reuse in a single process.
- `async-cache-dedupe` for async request deduplication / stale-while-revalidate behavior.
4. Show where backpressure is handled (implicitly via `pipeline()` or explicitly via `drain`).
### Integrated example pattern (CSV/ETL)
For CSV/ETL-style prompts, prefer an answer structure like:
- `createReadStream(input)`
- `async function*` parser/transform
- optional cached enrichment lookup (`async-cache-dedupe` or `lru-cache`)
- `await pipeline(...)` to a writable destination
Link relevant rules directly in explanations so models can retrieve details:
- [rules/streams.md](rules/streams.md)
- [rules/caching.md](rules/caching.md)
## How to use
Read individual rule files for detailed explanations and code examples:
- [rules/error-handling.md](rules/error-handling.md) - Error handling patterns in Node.js
- [rules/async-patterns.md](rules/async-patterns.md) - Async/await and Promise patterns
- [rules/streams.md](rules/streams.md) - Working with Node.js streams
- [rules/modules.md](rules/modules.md) - ES Modules and CommonJS patterns
- [rules/testing.md](rules/testing.md) - Testing strategies for Node.js applications
- [rules/flaky-tests.md](rules/flaky-tests.md) - Identifying and diagnosing flaky tests with node:test
- [rules/stuck-processes-and-tests.md](rules/stuck-processes-and-tests.md) - Diagnosing processes that do not exit and tests that get stuck
- [rules/node-modules-exploration.md](rules/node-modules-exploration.md) - Navigating and analyzing node_modules directories
- [rules/performance.md](rules/performance.md) - Performance optimization techniques
- [rules/caching.md](rules/caching.md) - Caching patterns and libraries
- [rules/profiling.md](rules/profiling.md) - Profiling and benchmarking tools
- [rules/logging.md](rules/logging.md) - Logging and debugging patterns
- [rules/environment.md](rules/environment.md) - Environment configuration and secrets management
- [rules/graceful-shutdown.md](rules/graceful-shutdown.md) - Graceful shutdown and signal handling
- [rules/typescript.md](rules/typescript.md) - TypeScript configuration and type stripping in Node.jsFrom mcollina/skills, MIT.
More from mcollina/skills
- 0.830score
octocat
mcollina
Use this skill whenever the prompt contains any `github.com` URL, even if the user only pastes a link and gives no GitHub-specific keywords.
SkillAFreshness: A★ 2KClaude Code +9 - 0.784score
nodejs-core
mcollina
Contributes to and debugs Node.js core, including nodejs/node commit and PR tone, contribution workflows, native crashes, V8 performance, node-gyp builds…
SkillBFreshness: B★ 2KClaude Code +9 - 0.779score
fastify-best-practices
mcollina
Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript.
SkillBFreshness: B★ 2KClaude Code +9 - 0.652score
skill-optimizer
mcollina
Optimizes AI skills for activation, clarity, and cross-model reliability.
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
documentation
mcollina
Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages).
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
init
mcollina
Creates, updates, or optimizes an AGENTS.md file for a repository with minimal, high-signal instructions covering non-discoverable coding conventions, tooling…
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
oauth
mcollina
Implements OAuth 2.0/2.1 authorization flows in Fastify applications — configures authorization code with PKCE, client credentials, device flow, refresh token…
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
snipgrapher
mcollina
Configures and uses snipgrapher to generate polished code snippet images, including syntax-highlighted PNGs, SVGs, and WebP exports with custom themes…
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
typescript-magician
mcollina
Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors.
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
linting-neostandard-eslint9
mcollina
Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript projects, including migrating from legacy `.eslintrc*` files or the `standard`…
SkillDFreshness: D★ 2KClaude Code +9 - 0.455score
AGENTS.md · mcollina/skills
mcollina
AGENTS.md from mcollina/skills: 72 lines covering What this repository is, High-level architecture, Common commands, Editing rules for this repo and more.
TemplateDFreshness: D★ 2KCodex +5
Signals
- Stars
- 1,959
- Forks
- 147
- Open issues
- 5
- Last commit (this folder)
- Mar 13, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mcollina/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from mcollina
- 0.830score
octocat
mcollina
Use this skill whenever the prompt contains any `github.com` URL, even if the user only pastes a link and gives no GitHub-specific keywords.
SkillAFreshness: A★ 2KClaude Code +9 - 0.784score
nodejs-core
mcollina
Contributes to and debugs Node.js core, including nodejs/node commit and PR tone, contribution workflows, native crashes, V8 performance, node-gyp builds…
SkillBFreshness: B★ 2KClaude Code +9 - 0.779score
fastify-best-practices
mcollina
Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript.
SkillBFreshness: B★ 2KClaude Code +9 - 0.652score
skill-optimizer
mcollina
Optimizes AI skills for activation, clarity, and cross-model reliability.
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
documentation
mcollina
Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages).
SkillDFreshness: D★ 2KClaude Code +9 - 0.652score
init
mcollina
Creates, updates, or optimizes an AGENTS.md file for a repository with minimal, high-signal instructions covering non-discoverable coding conventions, tooling…
SkillDFreshness: D★ 2KClaude Code +9
Cite this page
node skill. Agent Mart. https://agentmart.dev/skills/mcollina-node (last updated 2026-10-24)