web-qa-visual
Skill0 starsChanged 9 days agoMITView on GitHub
Verifica webs con Playwright CLI antes de darlas por terminadas: errores de consola, requests fallidas, overflow responsive a 375/414/768/1280/1440, accesibilidad axe, teclado y foco, reduced-motion, enlaces, SEO/meta y métricas de carga. Úsala al testear una web, tras cada cambio grande o para validar un deploy.
In this repository3 other files it gives its agents.
- web-assets-realesSkill
- web-diseno-antislopSkill
- web-scrollytellingSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
No declarar LISTO con un gate en rojo o sin ejecutar.
- Distinctive: line 37
No se puede validar una secuencia de frames en iOS real desde headless: dejarlo escrito en el informe.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
QA visual con Playwright CLI
Regla de oro: sin salida de comando fresca no hay veredicto. Nada de "debería verse bien".
Setup mínimo
- Playwright como devDependency del proyecto;
playwright.config.tscon viewport explícito de 375px (nodevices['Pixel 7'], que son 412px) y proyectosdesktop-chromeymobile-chrome. - Scripts de captura en
scripts/shot.mjs(no usar MCP para esto: el CLI es más rápido y reproducible). - Para axe:
@axe-core/playwright. - Servir el build de producción (
npm run build && npm run start) para medir rendimiento real; usar dev solo para depurar.
Chequeos por página y por locale
- Consola y red:
page.on('console'),page.on('pageerror'),page.on('requestfailed')y respuestas ≥400. Fallo = rojo. - Overflow: en cada viewport comprobar
document.documentElement.scrollWidth <= clientWidth + 1; si hay desborde, listar los elementos culpables (getBoundingClientRect().right > innerWidth). - Accesibilidad: axe sin violaciones
critical/serious; un soloh1;img[alt]completo; foco visible en todo elemento interactivo (comprobar:focus-visiblecon teclado real, no CSS a ojo); orden de tabulación lógico. - Reduced motion:
page.emulateMedia({ reducedMotion: 'reduce' }); no debe haber pin, autoplay ni animación de más de 200ms. - Enlaces: extraer todos los
href, validar los internos (200) y marcar externos como informativos; 0href="#"sin controlador. - SEO:
title,meta description, canonical, OG,hreflangpor locale, JSON-LD parseable,sitemap.xmlyrobots.txt200. - Rendimiento: medir LCP/CLS con PerformanceObserver tras cargar; objetivo LCP < 2.5s y CLS < 0.1 en desktop; medir jank de scroll contando frames largos (>50ms) con rAF durante 5s de scroll automatizado.
- Canvas/scroll: como el canvas puede salir negro en headless, verificar por DOM: elementos con opacidad/transform esperados, textos de los beats presentes y visibles en los rangos correctos, y estado expuesto en
windowsi existe.
Loop
- Tras cada ejecución: informe con tabla gate/comando/resultado/estado y lista de bloqueantes con evidencia (selector, log o captura).
- Si un gate falla: arreglar (tests/scripts propios) o proponer el fix concreto de
src/con evidencia; repetir el ciclo completo. - Guardar capturas fechadas en
docs/qa/(desktop + móvil por locale principal) y baseline para comparar regresiones. - No declarar LISTO con un gate en rojo o sin ejecutar.
Límites honestos
- No se puede validar una secuencia de frames en iOS real desde headless: dejarlo escrito en el informe.
- Lighthouse vía
npx lighthousees opcional pero recomendable en el build de producción; si no se puede ejecutar, decirlo en vez de estimar.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

