QA: check the site
- Role
- QA
- Outcome
- Your site, checked and fixed
- Time box
- 10 minutes
QA finds what is wrong with your site, explains it in plain words, fixes it and proves each fix. It checks three things: the look, accessibility (whether everyone can use the site) and how fast it loads on a phone.
Start QA
- In Antigravity IDE, start a new chat in the agent panel (the + button at the top of the panel).
- Check the model name under the chat box: it says Gemini 3.8 Flash. If not, click it and pick Gemini 3.8 Flash.
Then type:
Agent chat
Start the QA step.
QA looks first
QA runs node tools/look.mjs. It saves eight screenshots into the folder qa/: your home page and your privacy page, at phone width and wide, in light and dark mode. It also measures your home page on a slow phone connection:
- LCP (Largest Contentful Paint): how long until the biggest text or image shows. Good is 2.5 seconds or less.
- CLS (Cumulative Layout Shift): how much the page jumps while it loads. Good is 0.1 or less.
- Layout: a page wider than the screen, a heading beside its content instead of above it, or sections that run into each other.
Then it opens each screenshot and compares it with your design brief.
Then it audits
QA runs the Check (the script that tests your site). Its accessibility item tests your pages with axe (an automatic accessibility test), the rules behind the accessibility score of Lighthouse (Chrome's quality audit): text that is hard to read, images without a description, links a keyboard cannot reach.
Your repo gives the agent Chrome's developer tools (Chrome DevTools for agents), so QA also runs a Lighthouse audit and a performance trace (a recording of how your page loads). Antigravity asks before each of these tools runs: read what it wants to do, then allow it. If the tools do not start on your laptop, the screenshots, the numbers and the Check cover the same ground.
Findings in plain words
Before QA changes anything, it tells you what it found, one line per finding: what is wrong and where, who it hurts, and how it will fix it. For example: "People with weak eyesight cannot read the grey dates." It also says what is good, such as a fast LCP.
Then it fixes one finding at a time. For each fix it reads the matching guide in Modern Web Guidance, makes the smallest change, and looks and checks again.
Run the Check yourself
You do not need the agent for this. In Antigravity IDE, open a terminal with the menu Terminal → New Terminal. Paste this (Cmd+V on a Mac, Ctrl+V on Windows, Ctrl+Shift+V on Linux) and press Enter:
Terminal · same on Mac, Windows and Linux
node tools/check.mjs
It takes a few seconds and prints one line per item, PASS or NEEDS ATTENTION, with a reason in plain words:
What you see (the end of it)
PASS Content file matches the schema
PASS Accessibility (the axe rules Lighthouse scores)
PASS No errors in the browser console
PASS What an agent sees: your content without JavaScript
NEEDS ATTENTION Privacy page written
- privacy.html is still the placeholder from the template. The Lawyer role writes the real page.
PASS No phone number or postal address in the site
5 of 6 items pass, 1 needs attention.
This Check only reports. It never stops you from publishing.
The privacy page still needs attention: that is the Lawyer's job, in the next Block. Every other item should pass.
Then look with your own eyes: open the folder qa/ in the file list of Antigravity IDE and click a screenshot, for example index-phone-dark.png.
What an agent sees
Not every visitor is a person. Search engines, AI agents and the link previews in LinkedIn, WhatsApp or Slack read your page's HTML. Most of them run no JavaScript. The Check's item What an agent sees reads your built page the same way and looks for three things:
- Your name, your headline and every project title are in the HTML itself.
- The JSON-LD (facts about you, written for machines) can be read and names you.
- The files
robots.txtandsitemap.xmlexist. They tell search engines what they may read and which pages there are.
It passes because the build put your content into the HTML: that is pre-rendering. Like every item of the Check, it only reports.
After Ops: let an agent read your live site
Not now: your site is live only after Ops. Then start a fresh chat and paste this, with your GitHub username in place of YOUR-USERNAME:
Agent chat
Read the HTML of https://YOUR-USERNAME.github.io/portfolio/ without running JavaScript. What does it tell you about me?
The agent should name you, your headline and your projects. If it cannot open web addresses, skip this: the Check has tested the same thing.
QA ends by sending you on: "QA is done. Start a fresh chat and ask for the Lawyer: it writes your privacy page and checks that no private data is in your public repo."
If something goes wrong
Ask your agent first. Start a fresh chat and type the question below. The agent reads your repo and tells you what is done and what comes next. Got an error message? Paste it into the chat, and it explains it.
Agent chat
Where am I?
"Google Chrome was not found"
Fix: install Chrome from google.com/chrome, then run the command again.
"Cannot find module" when you run the Check
Cause: the terminal is not in your portfolio folder.
Fix: open the terminal from Antigravity IDE with Terminal → New Terminal; it starts in the right folder.
QA goes round in circles on one finding
Fix: after two attempts, stop it. Start a fresh chat, type Start the QA step. again and name the one finding to fix. See Recovery toolkit.
Fell behind?
When the QA Block's time is up and QA is not done, look at your page in the preview first. Your page works? Then you need no checkpoint: accept the fixes QA has shown you, start a fresh chat and ask for the Lawyer.
Your page is broken or missing? Then jump to the QA checkpoint. A checkpoint (the finished state of this Block) brings your site to where the room is. It keeps your own content file, design brief and spec. It replaces your page and its stylesheet, site/index.html and site/assets/styles.css, with the Developer's finished version in the colours and fonts of your brief, so what your own Developer and QA built there is gone.
First stop the agent in your old chat, if it is still working: click the stop button in the agent panel. Otherwise it can keep changing files after the checkpoint has run.
Then, in Antigravity IDE, open a terminal (the window for typing commands) with the menu Terminal → New Terminal. It opens in your portfolio folder. Paste this command (Cmd+V on a Mac, Ctrl+V on Windows, Ctrl+Shift+V on Linux) and press Enter:
Terminal · same on Mac, Windows and Linux
node tools/checkpoint.mjs qa
It lists, file by file, what it kept and what it changed. The last lines tell you what to do next: start a fresh chat and ask for the Lawyer. If it says Nothing to change, you were already there. Two Blocks behind? This one checkpoint is enough: it includes the earlier Blocks.
Or let the agent run it for you. Start a fresh chat and type:
Agent chat
Catch me up: the room just finished the QA block.
Use the Block that has just ended, not the one that starts now.