Responsive layout reviewer
Skill Notysoty/openagentskills/skills/responsive-layout-reviewer
A community-driven library of reusable AI agent skills for Claude Code, Cursor, Codex, Cline, and more.
npx -y skills add Notysoty/openagentskills --skill responsive-layout-reviewerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Reviews HTML/CSS or component code for responsive design issues across mobile, tablet, and desktop breakpoints.
SKILL.md
6.8 KB, as published. Nobody here has run it
Responsive Layout Reviewer
What this skill does
This skill reviews HTML/CSS, Tailwind, or React component code for responsive design issues. It checks for layout problems at mobile (320–480px), tablet (768–1024px), and desktop (1280px+) breakpoints, identifies common mistakes like fixed widths, missing overflow handling, inaccessible touch targets, and viewport-breaking elements, and produces a specific list of issues with exact fixes for each.
Use this during code review, before shipping a new component or page, or when a layout is broken on certain screen sizes and you need a systematic diagnosis.
How to use
Claude Code / Cline
Copy this file to .agents/skills/responsive-layout-reviewer/SKILL.md in your project root.
Then ask:
- "Use the Responsive Layout Reviewer skill on
src/components/ProductCard.tsx." - "Review this CSS for responsive issues using the Responsive Layout Reviewer skill."
Provide the component file or the HTML/CSS to review.
Cursor
Add the instructions below to your .cursorrules or paste them into the Cursor AI pane before sharing the code to review.
Codex
Paste the HTML/CSS or component code and ask Codex to follow the instructions below.
The Prompt / Instructions for the Agent
When asked to review for responsive design issues, check every item in this checklist:
Breakpoints to evaluate
Unless the project uses a custom breakpoint system, evaluate at:
- Mobile: 320px (small phone), 375px (iPhone standard)
- Mobile landscape: 667px
- Tablet: 768px, 1024px
- Desktop: 1280px, 1440px
- Wide: 1920px
Note the breakpoint system used by the project (Tailwind defaults, Bootstrap, custom media queries) and use those values.
Checklist
Fixed widths
- Any element with a hardcoded pixel width that could overflow on smaller screens (e.g.,
width: 600pxwithoutmax-width: 100%) - Flex or grid children with
flex: 0 0 [fixed]that could overflow - Tables without
overflow-x: autoon a wrapper
Overflow and clipping
- Long text strings (URLs, email addresses, names) that don't have
overflow-wrap: break-wordortext-overflow: ellipsis - Images without
max-width: 100%orwidth: 100% - Horizontal scroll introduced by an element wider than the viewport
overflow: hiddenon a parent that clips important content on small screens
Typography
- Font sizes below 16px on mobile (causes iOS to auto-zoom on input focus)
line-heighttoo tight for small screens- Heading sizes that remain large on mobile without downscaling
Touch targets
- Clickable elements smaller than 44×44px (Apple HIG) or 48×48dp (Material Design) on mobile
- Links or buttons too close together without sufficient spacing (< 8px gap)
- Hover-only interactions with no touch equivalent
Navigation
- Desktop navigation that doesn't adapt (no mobile menu, items overflow, hamburger missing)
- Dropdown menus that don't work on touch devices
Spacing and padding
- Elements with no padding on small screens, causing content to touch the screen edge
- Fixed margins that eat into usable space on narrow screens
Images and media
<img>withoutwidthandheightattributes (causes layout shift)- Background images without
background-size: coveror equivalent - Video embeds with no responsive wrapper (
padding-top: 56.25%; position: relative)
Flexbox and grid
flex-wrap: nowrapon a row that can't fit all items at small sizes- Grid with fixed column counts that should switch to fewer columns on mobile
gapvalues that are too large on mobile
Input fields and forms
- Inputs without
width: 100%or equivalent on mobile font-sizebelow 16px on inputs (triggers iOS zoom)- Select dropdowns with fixed widths that overflow
Output format
## Responsive Layout Review — [Component/File]
### Critical Issues (will break layout or block usage on mobile)
#### 1. [Issue title]
- **Breakpoint affected**: [e.g., 320px–768px]
- **Location**: [CSS class, line number, or component prop]
- **Problem**: [What breaks and why]
- **Fix**: [Exact CSS/Tailwind/code change]
### High-Priority Issues (visible problems, degrades UX significantly)
[Same format]
### Warnings (minor issues or edge cases)
[Same format]
### What's Working Well
[Brief note on responsive patterns already done correctly]
Example
Input to Agent:
"Use the Responsive Layout Reviewer skill on this component:
<div style={{ display: 'flex', gap: 24 }}> <img src={product.image} style={{ width: 300, height: 300 }} /> <div style={{ width: 400 }}> <h2 style={{ fontSize: 28 }}>{product.name}</h2> <p style={{ fontSize: 14 }}>{product.description}</p> <button style={{ padding: '4px 8px', fontSize: 12 }}>Add to cart</button> </div> </div> ```"
Output from Agent:
Responsive Layout Review — ProductCard
Critical Issues
1. Fixed widths cause overflow on mobile
- Breakpoint affected: All screens below 724px (300 + 400 + 24 gap = 724px minimum width)
- Location:
imgwidth 300px, innerdivwidth 400px- Problem: The total minimum width (724px) exceeds most phone screens, causing horizontal scroll
- Fix: Remove fixed widths; use
flex: 1on the text div andflex-shrink: 0on the image, or switch to a column layout below 640px:@media (max-width: 640px) { .card { flex-direction: column; } .card img { width: 100%; height: auto; } }High-Priority Issues
2. Touch target too small
- Breakpoint affected: Mobile
- Location:
buttonwithpadding: 4px 8px- Problem: The button is approximately 30px tall — well below the 44px minimum for comfortable touch interaction
- Fix:
padding: '12px 20px'— this produces a taller target and also improves visual balance3. Font size below 16px on mobile
- Location:
<p>withfontSize: 14and<button>withfontSize: 12- Problem: On iOS, inputs and interactive elements with
font-size < 16pxtrigger page zoom on focus. Also, 12px text is hard to read on small screens.- Fix: Set body text to minimum 16px; button text to 14–16px
Notes
- Static code review can catch most structural issues, but testing in actual browser DevTools (or on a real device) is still necessary for confirming scroll and touch behavior.
- Tailwind projects should use the
sm:,md:,lg:prefixes consistently — look for Tailwind utilities with no mobile-first base value. - For complex layouts, suggest testing with Chrome DevTools Device Mode at 375px width as a baseline.