Back to articles

Chrome's Fix for Agents That Still Write 2019 Web Code

Updated Nov 15, 2026Dishant Sharma5 min read
Chrome's Fix for Agents That Still Write 2019 Web Code

Twenty four automated checks failed. One passed.

i'm looking at a row on Chrome's public eval dashboard for Modern Web Guidance. The task is called Action menu: build a nav bar with nested submenus and on/off order options.

Unguided, the agent gets 1 of 25 checks right. Guided, it gets 25 of 25.

The failing version isn't broken, exactly. It works. It just does it the 2019 way.

Div overlays, a manual Escape keydown listener, z-index: 9999.

Modern Web Guidance is a set of skills you install into your coding agent. Under the hood it's 200+ plain text guides about HTML, CSS, and JavaScript. When your agent picks up a frontend task, it runs a small CLI on your machine, searches those guides, pulls the good ones into context, and builds from there.

That's the whole trick. No fine-tuning. No new model.

A search command and a well-maintained folder.

Chrome shipped 1.0 on November 10, 2026, with Firefox, Edge, and MDN now contributing. Apache 2.0, free, 16.1k GitHub stars in under a week.

And if you've watched an agent reach for z-index: 9999 while <dialog> sat right there in the standard, you know the feeling.

Why agents write old frontend code

i used to think agents wrote bad frontend code because they were lazy. They aren't. They're trained on a decade of blog posts about jQuery, plus years of Stack Overflow answers that were correct in 2017.

The model's knowledge has a shelf life. Every new CSS feature, every API that became Baseline last month, is invisible to it until somebody writes it down and puts it in front of the model at the right moment.

That's the gap MWG targets. Chrome's launch post says it plainly: ask a web expert to review AI-generated frontend code and they can almost always find ways to make it faster, more accessible, or more secure.

The guides are written by browser engineers and standards people, not by a model. Léonie Watson and Jen Knoll run accessibility review. Firefox and Edge engineers sign off on cross-browser behavior.

That's a different kind of source than some blog post from 2019.

What actually happens when you install it

The first time i tried to imagine this, i pictured a giant system prompt. It isn't that. The skill is small.

The corpus lives on disk. The agent searches it.

Here's the shape:

  1. You install with npx modern-web-guidance@latest install
  2. Your agent hits a frontend task
  3. It runs a CLI search against the guides
  4. It pulls two or three relevant ones into context
  5. It writes code against them

That last part matters more than it sounds. A developer called Dimoncelli described wiring it into Antigravity and Claude. Before: "div overlays with manual mousedown document listeners, z-index: 9999, and 100vh." After: native <dialog>, popover with ::backdrop, dvh units.

"the difference was immediate," he wrote.

Same commenter found the catch. Put the skill on your writer agent and it still slips back into old habits on long prompts. Put it on your reviewer agent, the one reading the diff, and you catch the regressions before merge.

That's the least obvious deployment detail in the whole project.

The numbers

here's a question people always ask: does it work, or is it a demo?

The eval dashboard answers it. 1,104 tasks, about 9,300 individual checks, three agents.

Pass rate went from 52% to 92%. Accessibility checks from 56% to 94%.

Chrome is upfront that those a11y checks are automated and not a full WCAG audit. More honesty than most launch posts bother with.

Unguided Guided
Best-practice checks 52% 92%
Automated a11y checks 56% 94%

And the story i keep coming back to is the least flashy one. MetaMask runs it as a review bot on every pull request to its open source extension. Three lines of prompt.

In five weeks it reviewed roughly 480 PRs and commented on 64. Engineers fixed 43 findings, median 15 minutes from comment to fix. Mostly accessibility, HTML semantics, and form issues that linters miss.

"It hasn't increased PR review times, if anything it likely reduced them."

That's Francis Nepomuceno, a UX engineer at MetaMask. No agent writing production code. Just a bot that notices your <div role="button"> and says something.

Where the criticism lands

the problem isn't what you think. The loudest complaint isn't "AI can't code." It's "Google is sneaking Chrome-only APIs into your agent."

A commenter on Hacker News listed about 40 features the skills mention that ship in Chrome but not Firefox or Safari. CSS @function, interpolate-size, corner-shape, the Prompt API, fetchLater(), beforeinstallprompt.

That last one is a Blink API that Gecko and WebKit both rejected from the standards process.

On r/webdev, one user put it harder: "This is not modern web guidance, this is sneak in non-standard Google-only APIs."

The team pushed back, and they have a decent case. The default target is Baseline Widely Available, meaning everything supports it from 2.5 years back.

The guides document cross-browser fallbacks. Rick Viscomi from Chrome answered questions in the Reddit thread himself.

And the HN list cuts both ways. The skills also recommend around 11 features Chrome doesn't support.

But there's sharper criticism than API politics. Adrian Roselli ran the launch's own accordion prompt through Antigravity with MWG.

The animation didn't work in Firefox. He found WCAG failures within moments, on a prompt Google chose to put on its homepage.

His conclusion stung: MWG "failed its core promises of creating accessible and performant code."

Small tangent

Years ago the advice for junior devs was "read the docs." Then it was "read the spec." Now it's "put the docs where the model can find them."

i keep thinking about how unglamorous this category is. Everyone in 2024 was building vector databases and fourteen-layer retrieval stacks. The thing that moves a pass rate from 52 to 92 is a folder of HTML files and a local search command.

And there's a naming mess nobody solved. Claude has skills. Cursor has rules.

Copilot has instructions. Every vendor invented a slightly different word for "text files the model reads."

MWG ships adapters for Claude Code, Codex, Cursor, Antigravity, Copilot, WebStorm, Kimi Code, and Grok Build. That's eight wrappers around a folder of markdown.

The format wars will look silly in hindsight. Good documentation won't.

The honest part

Most teams don't need this yet.

If you build five static pages a year, you don't have an agent-knowledge problem. You have a "just write the HTML" problem. And if your frontend is a mature React app with a design system that already encodes every pattern your team cares about, MWG will fight your conventions as often as it helps.

The tool also has a trust problem it hasn't solved. LLMs are non-deterministic. A domain expert consulting for Google admitted on Mastodon that even with everything right, there's no guarantee a guide gets picked up or read fully.

Roselli's Firefox failure is exactly that. The guidance existed. The accessibility guide existed.

The agent didn't load it.

So no, don't install this and stop reading diffs. The MetaMask pattern is the honest one: bot writes a comment, human decides if it's right.

Last thing

The 1/25 number is still the one i think about. Not because the guided version is perfect, but because the gap is that wide on a task a competent frontend dev would nail in an afternoon.

That gap isn't really about intelligence. It's about memory. The model knows an enormous amount about the web as it was.

It knows very little about the web as it is.

Somebody has to keep writing that down. Google did. Firefox and Edge signed on.

And the whole fix is still just text files in a folder. Kind of nice. The solution to AI writing old code turned out to be documentation.

Recent posts

View all posts