The Job
The JavaScript skill reviews runtime contracts where there is no compiler to catch the lie. It looks for hidden shapes, async confusion, shared mutation, drifting helpers, and framework behavior nobody has written down.
Browser integrations, Node services, shared utilities, async workflows, legacy modules, and framework-heavy code.
Signals
Hidden object shapes
Objects passed around with expected fields that only exist in caller memory and old test fixtures.
Async mixing
Callbacks, promises, timers, and event handlers combined in ways that hide ordering, retries, or error flow.
Shared mutation
Module state, browser globals, singleton clients, or caches touched from unrelated paths.
Framework magic
Implicit routing, hydration, plugin hooks, or build behavior without local conventions around the edge.
Example Findings
P1 callback error swallowed
The callback path logs failure but resolves the promise, so callers treat a failed sync as complete.
P2 object shape folklore
Widget config requires mode, tenant, and flags, but no boundary checks or docs say so.
P2 helper drift
Three date helpers disagree about timezone behavior. Tests only cover the easy local case.
Review Prompt
Review this diff with the Vølven JavaScript debt skill.
Focus on missing contracts, hidden object shapes, callback/promise mixing,
mutable shared state, divergent utilities, framework magic, and weak tests.
Ignore ESLint, Prettier, framework-check, and codemod findings.
Findings first with evidence.