一些 design-agent 原生环境(如 Claude.ai Artifacts)有内置的 fork_verifier_agent 起 subagent 用 iframe 截图检查。大部分 agent 环境(Claude Code / Codex / Cursor / Trae / 等)里没有这个内置能力——用 Playwright 手动做就能覆盖相同的验证场景。
每次产出HTML后,按这个清单做一遍:
最基础:HTML能不能打开?在macOS上:
open -a "Google Chrome" "/path/to/your/design.html"
或者用Playwright截图(下一节)。
HTML文件里最常见的问题是JS报错导致白屏。用Playwright跑一遍:
python ~/.claude/skills/huashu-design/scripts/verify.py path/to/design.html
这个脚本会:
详见scripts/verify.py。
如果是响应式设计,抓多个viewport:
python verify.py design.html --viewports 1920x1080,1440x900,768x1024,375x667
Tweaks、动画、按钮切换——默认的静态截图看不到。建议让用户自己开浏览器点一遍,或者用Playwright录屏:
page.video.record('interaction.mp4')
Deck类HTML,一张张截:
python verify.py deck.html --slides 10 # 截前10张
生成 deck-slide-01.png、deck-slide-02.png... 方便快速浏览。
首次使用需要:
# 如果还没装
npm install -g playwright
npx playwright install chromium
# 或者Python版
pip install playwright
playwright install chromium
如果用户已经全局安装 Playwright,直接用即可。
page.screenshot(path='full.png', full_page=True)
page.screenshot(path='viewport.png') # 默认只截可见区域
element = page.query_selector('.hero-section')
element.screenshot(path='hero.png')
page = browser.new_page(device_scale_factor=2) # retina
page.wait_for_timeout(2000) # 等2秒让动画settle
page.screenshot(...)
open screenshot.png
用户会在自己的 Preview/Figma/VSCode/浏览器 里看。
如果需要给远程协作者看(比如 Slack/飞书/微信),让用户用自己的图床工具或 MCP 上传截图,拿到一个永久链接,可以粘贴到任何地方。
控制台一定有错。先检查:
react-setup.md)const styles = {...}命名冲突windowtransform和opacity(GPU加速)@font-face的url是否可访问box-sizing: border-box是否全局应用* margin: 0; padding: 0reset永远要自己过一遍。AI写代码时经常出现:
最后1分钟的验证可以省1小时的返工。
# 基础:打开+截图+抓错
python verify.py design.html
# 多viewport
python verify.py design.html --viewports 1920x1080,375x667
# 多slide
python verify.py deck.html --slides 10
# 输出到指定目录
python verify.py design.html --output ./screenshots/
# headless=false,打开真实浏览器给你看
python verify.py design.html --show