Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ilteoood avatar

Node

  • 218 installs
  • 2 repo stars
  • Updated July 24, 2026
  • ilteoood/harness

This is a copy of node by mcollina - installs and ranking accrue to the original listing.

Apply Node.js `node:test` patterns for HTTP servers, health checks, and graceful shutdown so developers ship reliable APIs.

About

Harness Node is an agent skill package centered on production-minded Node.js HTTP testing for solo builders. The bundled pattern demonstrates how to stand up a minimal JSON API, expose a `/health` probe, and assert behavior across normal operation and graceful shutdown— including correct status codes and connection handling. It targets developers who want copy-paste-ready `node:test` structure instead of improvising async server teardown. Because the readme is implementation-first, treat it as a template skill: your agent adapts the handler and cases to your service. Primary value shows up in Ship when you harden deploy paths, but the same scaffold supports Build when you first wire backend routes. Intermediate complexity reflects async fetch against a live local server and TypeScript-flavored typings in the sample.

  • Uses native `node:test` with `node:assert/strict`—no extra test runner required
  • HTTP server fixture with random port via `listen(0)`
  • Health route returns 200 healthy vs 503 shutting_down when `isShuttingDown` is set
  • Sets `Connection: close` while draining during shutdown
  • `before`/`after` hooks for server start and clean `server.close()`

Node by the numbers

  • 218 all-time installs (skills.sh)
  • +30 installs in the week ending Jul 25, 2026 (Skillselion tracking)
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 25, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ilteoood/harness --skill node

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs218
repo stars2
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositoryilteoood/harness

What it does

Apply Node.js `node:test` patterns for HTTP servers, health checks, and graceful shutdown so developers ship reliable APIs.

Files

SKILL.mdMarkdownGitHub ↗

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:

// greet.ts
import type { IncomingMessage } from 'node:http';

const greet = (name: string): string => `Hello, ${name}!`;
console.log(greet('world'));

Run directly with:

node greet.ts

See 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.

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.

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.

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.

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 and 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/caching.md

How to use

Read individual rule files for detailed explanations and code examples:

  • rules/error-handling.md - Error handling patterns in Node.js
  • rules/async-patterns.md - Async/await and Promise patterns
  • rules/streams.md - Working with Node.js streams
  • rules/modules.md - ES Modules and CommonJS patterns
  • rules/testing.md - Testing strategies for Node.js applications
  • rules/flaky-tests.md - Identifying and diagnosing flaky tests with node:test
  • rules/stuck-processes-and-tests.md - Diagnosing processes that do not exit and tests that get stuck
  • rules/node-modules-exploration.md - Navigating and analyzing node_modules directories
  • rules/performance.md - Performance optimization techniques
  • rules/caching.md - Caching patterns and libraries
  • rules/profiling.md - Profiling and benchmarking tools
  • rules/logging.md - Logging and debugging patterns
  • rules/environment.md - Environment configuration and secrets management
  • rules/graceful-shutdown.md - Graceful shutdown and signal handling
  • rules/typescript.md - TypeScript configuration and type stripping in Node.js

Related skills

FAQ

Is Node safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Testing & QAbackendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.