Responsive Layout Reviewer

Reviews HTML/CSS or component code for responsive design issues across mobile, tablet, and desktop breakpoints.

8 stars

Best use case

Responsive Layout Reviewer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Reviews HTML/CSS or component code for responsive design issues across mobile, tablet, and desktop breakpoints.

Teams using Responsive Layout Reviewer should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/responsive-layout-reviewer/SKILL.md --create-dirs "https://raw.githubusercontent.com/Notysoty/openagentskills/main/skills/responsive-layout-reviewer/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/responsive-layout-reviewer/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Responsive Layout Reviewer Compares

Feature / AgentResponsive Layout ReviewerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Reviews HTML/CSS or component code for responsive design issues across mobile, tablet, and desktop breakpoints.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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: 600px` without `max-width: 100%`)
- Flex or grid children with `flex: 0 0 [fixed]` that could overflow
- Tables without `overflow-x: auto` on a wrapper

**Overflow and clipping**
- Long text strings (URLs, email addresses, names) that don't have `overflow-wrap: break-word` or `text-overflow: ellipsis`
- Images without `max-width: 100%` or `width: 100%`
- Horizontal scroll introduced by an element wider than the viewport
- `overflow: hidden` on 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-height` too 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>` without `width` and `height` attributes (causes layout shift)
- Background images without `background-size: cover` or equivalent
- Video embeds with no responsive wrapper (`padding-top: 56.25%; position: relative`)

**Flexbox and grid**
- `flex-wrap: nowrap` on a row that can't fit all items at small sizes
- Grid with fixed column counts that should switch to fewer columns on mobile
- `gap` values that are too large on mobile

**Input fields and forms**
- Inputs without `width: 100%` or equivalent on mobile
- `font-size` below 16px on inputs (triggers iOS zoom)
- Select dropdowns with fixed widths that overflow

### Output format

```markdown
## 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:
>
> ```tsx
> <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**: `img` width 300px, inner `div` width 400px
> - **Problem**: The total minimum width (724px) exceeds most phone screens, causing horizontal scroll
> - **Fix**: Remove fixed widths; use `flex: 1` on the text div and `flex-shrink: 0` on the image, or switch to a column layout below 640px:
>   ```css
>   @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**: `button` with `padding: 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 balance
>
> #### 3. Font size below 16px on mobile
> - **Location**: `<p>` with `fontSize: 14` and `<button>` with `fontSize: 12`
> - **Problem**: On iOS, inputs and interactive elements with `font-size < 16px` trigger 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.

Related Skills

React Component Reviewer

8
from Notysoty/openagentskills

Analyzes React components for performance, accessibility, and modern hook usage.

Hallucination Risk Reviewer

8
from Notysoty/openagentskills

Reviews an AI-generated response or LLM application output for factual risks, hallucination patterns, and confidence calibration issues.

Database Schema Reviewer

8
from Notysoty/openagentskills

Reviews database schemas for normalization issues, missing indexes, naming inconsistencies, and scalability risks.

Unit Test Writer

8
from Notysoty/openagentskills

Generates comprehensive unit tests for any function or module with edge cases.

Unit Test Improver

8
from Notysoty/openagentskills

Reviews existing unit tests for gaps, weak assertions, and missing edge cases, then rewrites them to be more robust.

Troubleshooting Guide Builder

8
from Notysoty/openagentskills

Builds a structured troubleshooting guide with symptom → cause → fix format for any tool or system.

Tech Debt Auditor

8
from Notysoty/openagentskills

Identifies and prioritizes technical debt in a codebase with an effort/impact matrix.

Technical Blog Post Writer

8
from Notysoty/openagentskills

Writes engaging, accurate technical blog posts targeted at developer audiences.

Stack Trace Analyzer

8
from Notysoty/openagentskills

Interprets error stack traces to pinpoint root cause, explain what went wrong, and suggest fixes.

SQL Query Optimizer

8
from Notysoty/openagentskills

Reviews SQL queries for performance issues and rewrites them with optimized execution plans.

Sprint Summary Generator

8
from Notysoty/openagentskills

Converts a list of completed tickets or commits into a clear sprint summary for stakeholders.

Social Post Thread Writer

8
from Notysoty/openagentskills

Converts a blog post, idea, or document into an engaging Twitter/X or LinkedIn thread with hooks and CTAs.