Inicio / Skills / Diseño web e interfaces / Web Design Reviewer
Diseño web e interfaces

Web Design Reviewer

awesome-copilot communityMITIdioma del Skill: Inglés
Licencia verificadaSin scriptsRequiere un servicio externoRiesgo medio
DemostraciónEjecución real · claude-sonnet-5-5 · octubre de 2026
Please review the design of our coffee shop landing page at file:///ABS/sample/index.html (the file is .claude/skills/web-design-reviewer/sample/index.html in the current directory) at a desktop width (1280x800) and a mobile width (375x800). You have no browser tool, but you may take screenshots by running exactly: `sh .claude/skills/web-design-reviewer/shot.sh "file://$PWD/.claude/skills/web-design-reviewer/sample/index.html" <width> <height> .claude/skills/web-design-reviewer/shots/<name>.png` and then open the PNG with Read. You cannot edit files in this environment, so do the inspection and report only (list the issues with severity and the fix you would make in the source), following the skill's report format.
Skill: web-design-reviewer
Read: sample/index.html
Read: references/visual-checklist.md
Read: shots/desktop.png
Read: shots/mobile.png

Web Design Review Results

Summary

Item Value
Target URL file://…/.claude/skills/web-design-reviewer/sample/index.html
Framework None (static HTML)
Styling Inline <style> block in index.html
Tested Viewports Desktop 1280×800, Mobile 375×800
Issues Detected 8
Issues Fixed 0 (report only, as requested)

Screenshots are in .claude/skills/web-design-reviewer/shots/desktop.png and mobile.png.

Detected Issues

[P1] Cards overflow the viewport on mobile

  • Page: /
  • Element: .cards and .card (index.html:11-12)
  • Issue: Each card is a fixed 320px with flex:none in a non-wrapping row. At 375px only the first card is visible and it is clipped on the right. The other two cards are off-screen and the page scrolls sideways. The hero heading and paragraph are also cut off at the right edge, which suggests the page is wider than the viewport.
  • Fix:
    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;padding:32px 16px}
    .card{border:1px solid #ddd;padding:16px}  /* drop width:320px and flex:none */
    
    Alternatively, keep flex and use flex-wrap:wrap with .card{flex:1 1 260px}.

[P1] Hero paragraph has insufficient contrast

  • Element: .hero p (index.html:9)
  • Issue: #c9b9a6 on #f3e9dc is about 1.6:1, against the 4.5:1 AA requirement. The text is nearly unreadable.
  • Fix: color:#5a4636, which is about 7:1 on the hero background.

[P1] Price badges are positioned fragilely and overlap

  • Element: .price (index.html:15)
  • Issue: The badge uses position:absolute with hard-coded margin-top:-40px and margin-left:200px. It has no positioned ancestor, so it floats at an arbitrary spot. It sits beside the title instead of at a deliberate corner. On narrower cards it would collide with the title or fall outside the card.
  • Fix:
    .card{position:relative}
    .price{position:absolute;top:24px;right:24px;margin:0;...}
    
    Or put the title and price in a flex row with justify-content:space-between.

[P1] "Order now" CTA is too small

  • Element: .cta (index.html:10)
  • Issue: The button has 11px text and 4px/8px padding, so it is about 20px tall. That is far below the 44×44px touch target, and it is the page's primary action. White on #8a5a2b has acceptable contrast, at about 5.5:1.
  • Fix: padding:12px 24px;font-size:16px;min-height:44px;border-radius:4px.

[P2] Missing image alt text and broken images

  • Element: .card img (index.html:21-23)
  • Issue: The images have no alt attribute. x.png also fails to load, so a broken-image icon shows on a grey block.
  • Fix: Add descriptive alt text, for example alt="House Blend coffee bag", and point src at real assets. Add object-fit:cover to .card img.

[P2] No focus or hover states

  • Element: header a, .cta
  • Issue: No :focus-visible or :hover styles are defined. Keyboard users get only the browser default, which is hard to see on the dark header. The nav links also have no hover feedback.
  • Fix:
    a:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
    header a:hover,.cta:hover{text-decoration:underline}
    

[P2] Card headings use a different font

  • Element: .card h3 (index.html:14)
  • Issue: The headings are Arial sans-serif, while the rest of the page is Georgia serif. The mix looks accidental.
  • Fix: Remove the font-family override, or apply one deliberate heading font to every heading, including h1.

[P3] Smaller polish items

  • Nav on mobile: The three links fit at 375px, but they are about 20px tall and sit close together. Add padding:12px 0 to the links. Consider flex-wrap:wrap, because more items will break the header.
  • Footer text: At 13px it is small. Use at least 14px.
  • Layout width: No max-width or centering. At 1280px the cards leave empty space on the right, and wider screens will look unbalanced. Wrap the content in a container with max-width:1100px;margin:auto.
  • Hero heading: Use font-size:clamp(28px,6vw,44px) so it scales on small screens.
  • Document title: <title>Brew & Co</title> has an unescaped &. Use &amp;.

Unfixed Issues

All of the above are unfixed because this environment is read-only. The fixes are listed per issue.

Recommendations

  • Apply the P1 fixes first, then re-screenshot at 375, 768 and 1280, and add 1920 to check the max-width behavior.
  • Move the colors into CSS custom properties (for example --brown, --cream) so contrast is easy to keep consistent.
  • Add a tablet check at 768px. The card grid fix should give two columns there, but I haven't verified it.
  • My first screenshot call was blocked by the sandbox's command check. Re-running the two screenshot commands separately worked.

How it was tried: this was a partial trial. The trial environment has no browser tools, so I supplied a script that only takes screenshots with headless Chrome; the model used it to capture screenshots and looked at them with Read. I built a static page with 8 deliberate defects. The trial environment cannot edit files, so the model only inspected and reported; it did not modify the source and re-check. I recomputed the contrast ratios (1.6:1, and about 7:1 after the fix) and they matched the report.

Qué hace

Revisa mediante automatización del navegador un sitio local, de pruebas o en producción (en este último caso, solo lee), detecta problemas visuales y los corrige en el código fuente. Comprueba desbordamientos, solapamientos, alineación, espaciado, texto recortado, distribución móvil, áreas táctiles, contraste, foco, texto alternativo y coherencia de fuentes y colores en cuatro anchos: 375, 768, 1280 y 1920 px. Detecta el framework y la tecnología de estilos —CSS, SCSS, CSS Modules, Tailwind, styled-components, entre otras— y ofrece pautas de corrección para cada una.

Cómo funciona

  1. Confirma la URL e identifica el proyecto y su tecnología de estilos.
  2. Captura pantallas y el DOM, clasifica los problemas de P1 a P3 y localiza los archivos responsables.
  3. Aplica el cambio mínimo, recarga, compara el antes y el después y repite. Si falla tres veces con el mismo problema, te consulta.
  4. Redacta un informe con los problemas detectados, corregidos y pendientes.

Ideal para

Corregir fallos de distribución y adaptación a pantallas, y revisar el aspecto del sitio antes de publicarlo.

Notas y riesgos

Riesgo medio: edita estilos y componentes existentes. Haz commit o una copia antes y revisa los cambios. Sus reglas exigen cambios mínimos, respetar el estilo del proyecto, consultar los cambios importantes y tratar producción como solo lectura. Necesita automatización del navegador; propone Playwright MCP mediante `npx -y @playwright/mcp@latest`, que descarga y ejecuta un paquete, y visita la URL indicada. Prueba parcial: solo inspección e informe. En una página con 8 defectos preparados se usaron capturas de Chrome sin interfaz, no Playwright. El modelo detectó todos en escritorio y móvil: tarjetas desbordadas, contraste 1.6:1, botón diminuto, falta de texto alternativo, mezcla de fuentes, etiqueta superpuesta y otros. Se recalcularon el contraste y las correcciones propuestas y eran correctos. No se probó la edición del código ni su posterior comprobación, ni se utilizó Playwright MCP.

SKILL.md original4 archivos en este paquete