Libraries and CDN in a browser project
The pawn slides three squares forward and the page raises no objection: nothing is checking the rules. They are already written in chess.js - except that a CDN link sitting in your code fixes nothing on its own. The library keeps the game in memory and knows nothing about your board.
How Claude Code works with a browser through Playwright
Connected in the /mcp output proves exactly one thing: the agent has negotiated with the Playwright server. No page is open yet, and the browser may not even be running. Then comes the full cycle - open the address, look, pick an element, click, and read what changed.
How to write a verifiable /goal condition
"Keep going" for the third time in a row, and it becomes clear who is doing the most repetitive work in this game. The /goal command sets a target with a completion condition, and a separate model checks it: it reads the conversation after each turn and decides whether to stop.