apps/docs/skills/procxy-docs/SKILL.md
Procxy - A TypeScript library for transparent process-based proxy of class instances.
npx skillsauth add pradeepmouli/procxy procxy-docsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Procxy - A TypeScript library for transparent process-based proxy of class instances.
Procxy enables you to run class instances in isolated child processes while interacting with them as if they were local objects. All method calls become async and are transparently forwarded over IPC.
import { procxy } from 'procxy';
class Calculator {
add(a: number, b: number) { return a + b; }
}
// Create remote instance
const calc = await procxy(Calculator, './calculator.js');
// Call methods (now async)
const result = await calc.add(5, 3); // 8
// Clean up
await calc.$terminate();
// Automatic cleanup with await using
await using calc = await procxy(Calculator, './calculator.js');
const result = await calc.add(5, 3);
// Automatically terminated when scope exits
Use this skill when:
procxy — Node.js is single-threaded; even 50 ms of synchronous compute blocks all in-flight HTTP requestsprocxy — the IPC event bridge handles subscribe/unsubscribe automatically; no manual message routing neededprocxy — the child process dies; the parent gets ChildCrashedError and keeps runningprocxy — the dedup cache coalesces concurrent procxy() calls with identical args into a single child processprocxy — a memory-leaking worker is confined to its own process heap; it cannot OOM the parent or sibling workers the way a shared in-process worker wouldsanitizeForV8sanitizeForV8Do NOT use when:
procxy)procxy)procxy)procxy)sanitizeForV8)sanitizeForV8)API surface: 6 functions, 6 classes, 29 types
sanitizeV8: true only as a last resort and accept the data loss$terminate() from inside a proxied method's implementation in the child — the IPC response for the current call is never sent, hanging the parent indefinitelyChildCrashedError; check $process.exitCode before reusing across request boundaries'json' and 'advanced' mode on the same class across different procxy() calls — they produce separate child processes with separate dedup keys; use one mode consistentlyretries to a high value for non-idempotent methods — each retry re-sends the full IPC call; the method may execute multiple times if the child is slow but aliveMap or Set values that contain functions as keys — those entries are recursively sanitized but not removedProcxyOptions — Configuration for the procxy() function.
Controls child process spawning, IPC serialization, timeouts, retries, environment isolation, and optional handle-passing support. (0 options — see references/config.md)
Key functions: procxy (Spawn a class instance in an isolated child process and return a transparent async proxy), sanitizeForV8 (Strip non-V8-serializable properties from a value, returning a deep-cloned plain version), sanitizeForV8Array (Apply sanitizeForV8 to each element of an array, returning a new sanitized array), isProcxy (Runtime type guard that returns true when obj is a live Procxy proxy), isAdvancedMode (Narrow a proxy's type to Procxy<T, 'advanced', H> at runtime), isHandleSupported (Narrow a proxy's type to Procxy<T, 'advanced', true> when handle passing is enabled)
Key classes: ProcxyError (Base class for all errors thrown by Procxy), TimeoutError (Thrown when a proxied method call or the INIT handshake exceeds the configured timeout), ModuleResolutionError (Thrown when procxy cannot determine the file path of the class's module), ChildCrashedError (Thrown when the child process exits or is killed while the proxy is active), SerializationError (Thrown when a constructor argument, method argument, or return value cannot be serialized across the IPC boundary), OptionsValidationError (Thrown when a value in ProcxyOptions fails validation before the child process is spawned)
41 exports total — see references/ for full API.
Load these on demand — do NOT read all at once:
references/functions.md for full signatures, parameters, and return typesreferences/classes.md for properties, methods, and inheritancereferences/types.mdreferences/config.md for all settings and defaultsdevelopment
Type-safe process-based proxy for Node.js - Run class instances in isolated child processes with full TypeScript support Use when: You need CPU-intensive work (parsing, compression, ML inference, image.... Also: proxy, ipc, child-process, process, isolation, worker, eventemitter, type-safe, async, rpc, concurrency.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.