javascript
JavaScript: ESM/CJS, closures, event loop, async/promises, runtime validation for external data, monorepo/packaging awareness.
SKILL.mdskills/languages/javascript/SKILL.md
GitHubjavascript
ESM-first modern JavaScript: explicit async, validated boundaries, workspace-aware packaging.
Activate when
- Writing, reviewing, or testing JavaScript (Node or browser); module, async, or packaging decisions.
Do NOT activate for
- Type-level design (see languages/typescript); framework specifics (see frameworks/*).
Procedure
- Version: detect Node + package manager from package.json/engines/lockfiles; research in https://developer.mozilla.org/ and https://nodejs.org/docs/latest/ for those versions.
- Modules: ESM for new code; CJS interop deliberate and documented; no extensionless-deep-import fragility.
- Async: promises/async-await with explicit error paths; no floating promises; timers/resources cleaned up.
- Boundaries: runtime validation (Zod or equivalent) for all external data — types don't exist at runtime.
- Packaging: workspace layout respected; dependency ranges deliberate; lockfile committed.
- Verify: tests green on pinned Node, lint clean, no unhandled rejections (fail a probe on purpose to confirm handling).
References
- Registry:
../../research/documentation-search/references/framework-registry.yaml(javascript, nodejs, npm, pnpm, bun, zod).