Write a spec. Record the browser. Gemini judges the visual experience. Your agent gets a verdict and knows exactly what to fix.
id: homepage-motion-graphicurl: http://localhost:3000steps:- Observe continuous loop animation- Assert verdict fade-in easingchecks:- id: verdict-aesthetic-correct
Three systems, three jobs. Your agent orchestrates. Playwright records. OpenLook judges.
Where to go. What to do. What to check. Specs live in .openlook/ in your project root.
id: homepage-first-impression
url: http://localhost:3000
steps:
- Open the homepage
- Observe the first viewport without scrolling
- Scroll once to see supporting content
checks:
- id: value-prop-clear
question: Can the user understand the product value?
pass: The hero explains the product, who it is for, and why it matters.
fail: The hero is vague, generic, or does not explain the product.
- id: primary-action-visible
question: Is the primary next action visually obvious?
pass: One visually dominant CTA is easy to find near the hero.
fail: No clear CTA, or multiple competing actions with equal weight.Choose your path: Bootstrap in one-click using a coding agent, or configure the steps manually.
Paste a single, comprehensive setup prompt into your agent. It will install the openlook skill, register both MCP servers, and write agent visual testing rules to your project root.
Run the installation commands, define the required MCP servers in your environment, and write your first visual spec.
bunx skills add system1970/openlook-web{
"mcpServers": {
"openlook": {
"command": "bunx",
"args": ["-y", "openlook"],
"env": { "GEMINI_API_KEY": "your_key" }
},
"playwright": {
"command": "bunx",
"args": ["-y", "@playwright/mcp@latest", "--caps=devtools"]
}
}
}.openlook/View formatProblems that pass every unit test but fail every user.