Audit the product across all breakpoints before shipping. Use when responsive QA, cross-device testing, mobile audit, breakpoint check, or elements overflowing on mobile.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Uwayxt/agent-skills --skill responsive-qa-audit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Responsive Qa Audit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/uwayxt-responsive-qa-audit)More formats (shields.io, HTML) on the badges page.
---
name: responsive-qa-audit
description: Audit the product across all breakpoints before shipping. Use when responsive QA, cross-device testing, mobile audit, breakpoint check, or elements overflowing on mobile.
---
**A layout that looks correct in a browser resize is not a tested layout. Test at real breakpoints, with real content, with real fingers.**
### 1. Set up the audit environment & viewports
Test across all defined breakpoints from `responsive-breakpoint-strategy`:
- Mobile Small (375×667 - iPhone SE)
- Mobile Standard (393×852 - iPhone 15 / Pixel 8)
- Tablet (768×1024 - iPad Mini/Air)
- Desktop (1280×800)
- Ultra-wide (1440×900+)
### 2. Automated Playwright overflow & layout test
Run automated checks to detect un-intended horizontal overflows and viewport clipping:
```javascript
// tests/responsive-overflow.spec.js
import { test, expect } from '@playwright/test';
const VIEWPORTS = [
{ name: 'mobile-sm', width: 375, height: 667 },
{ name: 'mobile-std', width: 393, height: 852 },
{ name: 'tablet', width: 768, height: 1024 },
{ name: 'desktop', width: 1280, height: 800 },
];
for (const vp of VIEWPORTS) {
test(`No horizontal overflow at ${vp.name} (${vp.width}px)`, async ({ page }) => {
await page.setViewportSize({ width: vp.width, height: vp.height });
await page.goto('/');
const hasOverflow = await page.evaluate(() => {
return document.documentElement.scrollWidth > window.innerWidth;
});
expect(hasOverflow).toBe(false);
});
}
```
### 3. Run tap target & thumb-zone audit
On mobile breakpoints:
- Verify all interactive targets ≥ 44×44 CSS pixels.
- Minimum 8px spacing between adjacent touch elements.
- Primary CTA located within the thumb reach zone (lower 40% of viewport).
### 4. Typography & line-length check
- Body text ≥ 14px (16px strongly recommended on mobile).
- Reading line-length between 45–75 characters per line (no runaway text containers).
- Headings scale fluidly using `clamp()` or breakpoint tokens.
### 5. Component transformation audit
Verify component state against `adaptive-component-behavior`:
- Data tables transform into stacked card lists on mobile.
- Desktop sticky sidebar transforms into mobile bottom-bar or sliding drawer.
- Modals transform into bottom action-sheets (`drawer-bottom`).
### 6. Mobile viewport edge-case testing
- **Virtual Keyboard**: Ensure inputs stay visible above the virtual keyboard without covering the submit CTA.
- **Safe Area Insets**: Verify `padding-bottom: env(safe-area-inset-bottom)` prevents content collision with OS home indicator bars.
- **Landscape Orientation**: Verify layout does not break when rotated horizontally on mobile.
### 7. Remote & real device testing strategy
- For teams without physical hardware, execute cloud testing via BrowserStack or Playwright WebKit mobile emulation.
- Physical device spot-check mandatory on at least 1 iOS Safari device and 1 Android Chrome device before production shipping.
## Completion Criteria
- [ ] Automated Playwright overflow test passes across all 4+ viewport configurations
- [ ] Tap targets ≥ 44×44px with zero touch target overlap
- [ ] Component transformations verified (table -> cards, sidebar -> bottom-nav)
- [ ] Safe-area insets (`env(safe-area-inset-*)`) tested on notched devices
- [ ] Virtual keyboard open state tested on form inputs
## Output
A `responsive-qa-report.md` artifact detailing pass/fail status per breakpoint, automated Playwright test scripts, and actionable remediation tasks.
## Anti-patterns
- Testing only at desktop (1440px) and a single mobile width (375px), skipping tablets.
- Relying on `overflow-x: hidden` to hide horizontal layout overflow instead of fixing the root element width.
- Forgetting iOS Safari address bar height variations when calculating `100vh` (use `100dvh`).
- Using hover tooltips to convey critical data on touch devices.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!