The skill reads the page and lists everything it could click, type into or select. Jev picks one and says how sure it is. The skill does it, then asks again with the new page, until Jev says the goal is done.
Step through a real run below, or run one live. The logic is scripts/core.mjs, the same file the skill runs.
The limits of this small implementation are where Jev's shape shows.
Each request asks for the operation and, speculatively, a target under every operation. Only the head matching the chosen operation is read: two decisions, one round trip.
Not the DOM, not a screenshot. When the login fields were labelled acct and pw, Jev answered BLOCKED 0.31; better labels fixed it.
You supply the strings; Jev picks which one goes where. A secret goes only into password fields and never into a request.
An answer is a key into the table the skill built. Anything outside it throws, and nothing runs.
So the first 250 controls are offered, with a warning when some were skipped. Hacker News' front page has 227; a product grid needs a narrowing question first.
Each step is an independent request whose only memory is the recent_actions the skill sends. A few thousand input tokens; output is free.
© 2026 Gerard Rovira · MIT license · code on GitHub · Jev is by TypeSafe