Subj : .claude/skills/javascript/SKILL.md To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Thu Jun 04 2026 19:01:13 https://gitlab.synchro.net/main/sbbs/-/commit/ee6689ca9a399aa3c5ad1cc6 Modified Files: .claude/skills/javascript/SKILL.md Log Message: javascript skill: document js.on_exit() scope + forced-termination semantics js.on_exit() evaluates its handler string in the script's GLOBAL scope (it compiles the string against the global object), so a handler function nested in another function is unreachable and throws silently at exit. It also fires on forced termination (operator-terminate / SIGTERM), which -- unlike a thrown exception -- does NOT run catch/finally (verified empirically via SIGTERM + file markers). New 'Script lifecycle: exit handlers' section covers the global-scope requirement, the finally-vs-on_exit distinction, and the out-of-process testing caveat. Co-Authored-By: Claude Opus 4.8 --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .