01
Reticle — your coding agent says "done," and this drives the running app to check
Reticle (Apache-2.0 for the SDK and engine, FSL-1.1 for the server and CLI, TypeScript, 1,267 stars, v3.7.0 last Tuesday) puts a dev-only SDK inside your web or desktop app and gives your coding agent MCP tools to click, watch and assert through it. Because it reads from inside the page, it sees what a screenshot doesn't: the request a click sent and its response, your store's state (zustand, Redux, TanStack Query, Pinia), console errors and request counts. Every check ends in yes, no or unknown with the evidence and a file:line, and only yes passes. A checked journey can be saved as a flow that replays with no model in the loop, and reticle gate fails a CI run when a change touches a flow's code without a new passing run. On Claude Code it installs as a plugin; elsewhere it's npm install -g @reticlehq/server and reticle setup mcp.
This is the thread's "check what you can count" answer, built for an agent. The README's own comparison is fair about scope: Playwright looks in from outside the browser, Reticle reads a silent 500 or a badge that disagrees with the store from inside, and it says to use both. It also lists what it can't see yet: IndexedDB, Web Workers, closed shadow roots and cross-origin iframes. The headline benchmark, 85 of 88 injected bugs caught against 59 for a Playwright script, comes from the vendor's own bug registry, though the harness is committed and reruns with one command. The Show HN post (10 points) drew six comments, all one-line questions and none from someone who had used it.
Reach for it if your agent keeps reporting fixes that you then find broken by clicking around. Delete the "now open the app and check it works" step you do by hand after every agent run. Tradeoffs: init appends to CLAUDE.md and AGENTS.md and adds a prompt-capture hook to every agent config it finds (--no-mcp and --no-prompt-capture skip them); anonymous usage counts are on by default (RETICLE_TELEMETRY=0 or DO_NOT_TRACK=1); once you link a project, captured prompts sync by default; and one author wrote 2,298 of its 2,844 commits.