golem-js-runtime

Map available web APIs and Node modules for QuickJS WASM agents.

Updated May 17, 2026
One-click install
npx skills add https://github.com/Rust-soham/golem-claw --skill golem-js-runtime-rust-soham
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golem-js-runtime
Source: https://github.com/Rust-soham/golem-claw/tree/main/packages/golem/.agents/skills/golem-js-runtime
Command: npx skills add https://github.com/Rust-soham/golem-claw --skill golem-js-runtime-rust-soham

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It removes uncertainty about what JavaScript and Node-style capabilities are available when running TypeScript or Scala agents in a QuickJS-based WebAssembly environment.

Core Features & Use Cases

  • Browser/Web API availability: Use common web platform APIs like fetch, Request/Response, URL, streams, crypto.getRandomValues, and more without extra imports.
  • Node.js module compatibility: Import Node-compatible modules (e.g., node:fs, node:crypto, node:http, node:stream) for filesystem, networking, crypto, and utilities.
  • Compatibility stubs: Understand which Node modules exist only as throw/no-op stubs (e.g., node:worker_threads, node:tls) to avoid runtime surprises.
  • Scala.js integration notes: Safely use node:fs at runtime with lazy initialization to prevent build-time pre-initialization failures.

Quick Start

Ask for the JavaScript runtime API support you need (for example, which node: modules or web APIs you can use) for your specific task inside the QuickJS WASM environment.

Frequently Asked Questions about golem-js-runtime

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What JavaScript and Node.js APIs are available in a QuickJS WebAssembly runtime?

Using node:fs in Scala.js within a QuickJS WASM environment requires lazy initialization at runtime to prevent build-time pre-initialization failures, ensuring agent code executes reliably without unsupported native bindings.

How do I know which Node modules are stubbed in a QuickJS WASM environment?

Node modules like node:worker_threads and node:tls exist only as throw or no-op stubs in a QuickJS WASM environment, so checking the runtime capability map helps avoid unexpected runtime surprises when importing them.

Can I use npm packages inside a QuickJS WebAssembly runtime?

QuickJS WASM runtime differs from standard Node.js by providing a curated capability map of web platform APIs and Node-compatible modules, explicitly identifying stubbed-but-unreliable modules to prevent runtime surprises that standard Node environments might not flag.

What are the limitations of using Node.js modules in a WebAssembly runtime?

Limitations of using Node.js modules in a WebAssembly runtime include unsupported native bindings and throw or no-op stubs for modules like node:tls, requiring careful API selection to ensure agent code runs reliably without build-time failures.