Frontend Responsive Design Standards

Build responsive, mobile-first layouts using fluid containers, flexible units, media queries, and touch-friendly design that works across all screen sizes. Use this skill when creating or modifying UI layouts, responsive grids, breakpoint styles, mobile navigation, or any interface that needs to adapt to different screen sizes. Apply when working with responsive CSS, media queries, viewport settings, flexbox/grid layouts, mobile-first styling, breakpoint definitions (mobile, tablet, desktop), touch target sizing, relative units (rem, em, %), image optimization for different screens, or testing layouts across multiple devices. Use for any task involving multi-device support, responsive design patterns, or adaptive layouts.

16 stars

Best use case

Frontend Responsive Design Standards is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Build responsive, mobile-first layouts using fluid containers, flexible units, media queries, and touch-friendly design that works across all screen sizes. Use this skill when creating or modifying UI layouts, responsive grids, breakpoint styles, mobile navigation, or any interface that needs to adapt to different screen sizes. Apply when working with responsive CSS, media queries, viewport settings, flexbox/grid layouts, mobile-first styling, breakpoint definitions (mobile, tablet, desktop), touch target sizing, relative units (rem, em, %), image optimization for different screens, or testing layouts across multiple devices. Use for any task involving multi-device support, responsive design patterns, or adaptive layouts.

Teams using Frontend Responsive Design Standards 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/frontend-responsive-design-standards/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/frontend-responsive-design-standards/SKILL.md"

Manual Installation

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

How Frontend Responsive Design Standards Compares

Feature / AgentFrontend Responsive Design StandardsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Build responsive, mobile-first layouts using fluid containers, flexible units, media queries, and touch-friendly design that works across all screen sizes. Use this skill when creating or modifying UI layouts, responsive grids, breakpoint styles, mobile navigation, or any interface that needs to adapt to different screen sizes. Apply when working with responsive CSS, media queries, viewport settings, flexbox/grid layouts, mobile-first styling, breakpoint definitions (mobile, tablet, desktop), touch target sizing, relative units (rem, em, %), image optimization for different screens, or testing layouts across multiple devices. Use for any task involving multi-device support, responsive design patterns, or adaptive layouts.

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.

SKILL.md Source

# Frontend Responsive Design Standards

**Rule:** Mobile-first development with consistent breakpoints, fluid layouts, relative units, and touch-friendly targets.

## When to use this skill

- When creating or modifying layouts that need to work on mobile, tablet, and desktop
- When implementing mobile-first design patterns starting with mobile layout
- When writing media queries or breakpoint-specific styles
- When using flexible units (rem, em, %) instead of fixed pixels for scalability
- When implementing fluid layouts with percentage-based widths or flexbox/grid
- When ensuring touch targets meet minimum size requirements (44x44px) for mobile
- When optimizing images and assets for different screen sizes and mobile networks
- When testing UI across multiple device sizes and breakpoints
- When maintaining readable typography across all screen sizes
- When prioritizing content display on smaller screens through layout decisions
- When using responsive design utilities in CSS frameworks (Tailwind, Bootstrap responsive classes)

This Skill provides Codex with specific guidance on how to adhere to coding standards as they relate to how it should handle frontend responsive.

## Mobile-First Development - Mandatory

**Always start with mobile layout, then enhance for larger screens.**

Bad (desktop-first):
```css
.container {
  width: 1200px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
  .container {
    width: 100%;
    grid-template-columns: 1fr;
  }
}
```

Good (mobile-first):
```css
.container {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 1200px;
    grid-template-columns: repeat(4, 1fr);
  }
}
```

**Why mobile-first:**
- Forces content prioritization
- Better performance on mobile (no overriding)
- Progressive enhancement over graceful degradation

## Standard Breakpoints

**Identify and use project breakpoints consistently:**

Common breakpoint systems:

Tailwind:
```
sm: 640px   (small tablets)
md: 768px   (tablets)
lg: 1024px  (laptops)
xl: 1280px  (desktops)
2xl: 1536px (large desktops)
```

Bootstrap:
```
sm: 576px
md: 768px
lg: 992px
xl: 1200px
xxl: 1400px
```

**Check existing codebase for breakpoint definitions before creating new ones.**

Usage (Tailwind):
```jsx
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4">
```

Usage (CSS):
```css
@media (min-width: 768px) { }
@media (min-width: 1024px) { }
```

**Never use arbitrary breakpoints like 850px or 1150px unless explicitly required.**

## Fluid Layouts

**Use flexible containers that adapt to screen size:**

Bad (fixed widths):
```css
.container { width: 1200px; }
.sidebar { width: 300px; }
.content { width: 900px; }
```

Good (fluid):
```css
.container {
  width: 100%;
  max-width: 1200px;
  padding: 0 1rem;
}

.layout {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .layout {
    grid-template-columns: 300px 1fr;
  }
}
```

**Patterns for fluid layouts:**
- Flexbox: `flex: 1`, `flex-grow`, `flex-shrink`
- Grid: `1fr`, `minmax()`, `auto-fit`, `auto-fill`
- Percentage widths: `width: 100%`, `max-width: 1200px`
- Container queries (modern): `@container (min-width: 400px)`

## Relative Units Over Fixed Pixels

**Use rem/em for scalability and accessibility:**

Bad:
```css
font-size: 16px;
padding: 20px;
margin: 10px;
border-radius: 8px;
```

Good:
```css
font-size: 1rem;      /* 16px base */
padding: 1.25rem;     /* 20px */
margin: 0.625rem;     /* 10px */
border-radius: 0.5rem; /* 8px */
```

**When to use each unit:**
- `rem`: Font sizes, spacing, layout dimensions (scales with root font size)
- `em`: Component-relative sizing (scales with parent font size)
- `%`: Widths, heights relative to parent
- `px`: Borders (1px), shadows, very small values
- `vw/vh`: Full viewport dimensions, hero sections
- `ch`: Text-based widths (e.g., `max-width: 65ch` for readable line length)

**Framework utilities handle this automatically:**
```jsx
<div className="text-base p-5 m-2.5 rounded-lg">
```

## Touch-Friendly Design

**Minimum touch target size: 44x44px (iOS) / 48x48px (Android)**

Bad:
```css
.icon-button {
  width: 24px;
  height: 24px;
}
```

Good:
```css
.icon-button {
  width: 24px;
  height: 24px;
  padding: 12px; /* Total: 48x48px */
  /* Or use min-width/min-height */
  min-width: 44px;
  min-height: 44px;
}
```

**Touch target checklist:**
- [ ] Buttons minimum 44x44px
- [ ] Links in text have adequate spacing
- [ ] Form inputs have sufficient height (min 44px)
- [ ] Icon buttons have padding for larger hit area
- [ ] Spacing between interactive elements (min 8px)

## Readable Typography

**Maintain readable font sizes without zoom:**

Bad:
```css
body { font-size: 12px; }
.small-text { font-size: 10px; }
```

Good:
```css
body { font-size: 1rem; } /* 16px minimum */
.small-text { font-size: 0.875rem; } /* 14px minimum */
```

**Typography guidelines:**
- Body text: 16px (1rem) minimum
- Small text: 14px (0.875rem) minimum
- Line height: 1.5 for body, 1.2 for headings
- Line length: 45-75 characters (use `max-width: 65ch`)
- Contrast: WCAG AA minimum (4.5:1 for normal text)

Responsive typography:
```css
h1 {
  font-size: 2rem;
}

@media (min-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
}

@media (min-width: 1024px) {
  h1 {
    font-size: 3rem;
  }
}
```

Or with clamp (fluid):
```css
h1 {
  font-size: clamp(2rem, 5vw, 3rem);
}
```

## Content Priority on Mobile

**Show most important content first, hide or collapse secondary content:**

Bad:
```jsx
<div>
  <Sidebar /> {/* Full sidebar on mobile */}
  <MainContent />
</div>
```

Good:
```jsx
<div className="flex flex-col lg:flex-row">
  <MainContent className="order-1" />
  <Sidebar className="order-2 hidden lg:block" />
</div>
```

**Strategies:**
- Hide non-essential elements on mobile
- Use hamburger menus for navigation
- Collapse accordions/tabs for secondary content
- Stack layouts vertically on mobile
- Use `order` property to reorder content

## Image Optimization

**Serve appropriate images for device size:**

Bad:
```html
<img src="hero-4000x3000.jpg" alt="Hero">
```

Good:
```html
<img
  src="hero-800x600.jpg"
  srcset="
    hero-400x300.jpg 400w,
    hero-800x600.jpg 800w,
    hero-1600x1200.jpg 1600w
  "
  sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 800px"
  alt="Hero"
>
```

Or with modern formats:
```html
<picture>
  <source srcset="hero.avif" type="image/avif">
  <source srcset="hero.webp" type="image/webp">
  <img src="hero.jpg" alt="Hero">
</picture>
```

**Framework-specific:**
```jsx
// Next.js
<Image
  src="/hero.jpg"
  width={800}
  height={600}
  sizes="(max-width: 768px) 100vw, 50vw"
  alt="Hero"
/>
```

## Testing Across Devices

**Verify layouts at key breakpoints before completing work:**

Test checklist:
- [ ] Mobile (375px - iPhone SE)
- [ ] Mobile large (414px - iPhone Pro Max)
- [ ] Tablet (768px - iPad)
- [ ] Laptop (1024px)
- [ ] Desktop (1440px)

**Testing methods:**
1. Browser DevTools responsive mode
2. Real device testing (iOS/Android)
3. Browser extensions (Responsive Viewer)
4. Automated visual regression tests

**Common issues to check:**
- Horizontal scrolling on mobile
- Text overflow or truncation
- Overlapping elements
- Unreadable font sizes
- Touch targets too small
- Images not loading or distorted

## Common Responsive Patterns

**Navigation:**
```jsx
// Mobile: Hamburger menu
// Desktop: Horizontal nav
<nav className="lg:flex lg:items-center">
  <button className="lg:hidden">Menu</button>
  <ul className="hidden lg:flex lg:gap-4">
    <li>Home</li>
    <li>About</li>
  </ul>
</nav>
```

**Grid layouts:**
```css
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .grid { grid-template-columns: repeat(4, 1fr); }
}
```

**Sidebar layouts:**
```css
.layout {
  display: flex;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .layout {
    flex-direction: row;
  }
  .sidebar { width: 300px; }
  .content { flex: 1; }
}
```

## Verification Checklist

Before completing responsive work:

- [ ] Started with mobile layout
- [ ] Used project's standard breakpoints
- [ ] Implemented fluid layouts (no fixed widths)
- [ ] Used relative units (rem/em) for sizing
- [ ] Touch targets minimum 44x44px
- [ ] Typography readable without zoom (16px+ body)
- [ ] Prioritized content on mobile
- [ ] Optimized images for different sizes
- [ ] Tested at all key breakpoints
- [ ] No horizontal scrolling on mobile
- [ ] No overlapping or truncated content

## Quick Reference

| Situation           | Action                                     |
| ------------------- | ------------------------------------------ |
| Starting new layout | Begin with mobile (320-375px)              |
| Need breakpoint     | Use project standard (check existing code) |
| Setting width       | Use `width: 100%` + `max-width`            |
| Setting font size   | Use `rem` (16px = 1rem)                    |
| Setting spacing     | Use `rem` or framework utilities           |
| Button too small    | Ensure min 44x44px with padding            |
| Text too small      | Minimum 16px (1rem) for body               |
| Testing layout      | Check 375px, 768px, 1024px, 1440px         |
| Images loading slow | Use srcset and modern formats              |

Related Skills

frontend_mastery

16
from diegosouzapw/awesome-omni-skill

Advanced React patterns, performance optimization, and state management rules.

frontend

16
from diegosouzapw/awesome-omni-skill

Apply distinctive frontend design to React + TailwindCSS apps. Use when building UI components, pages, or improving visual design. Breaks generic "AI slop" patterns.

frontend-web-dev-expert

16
from diegosouzapw/awesome-omni-skill

Advanced frontend web development expert system that provides comprehensive modern web development services including architecture design, UI/UX implementation, performance optimization, engineering setup, and cross-platform development through expert collaboration and intelligent tool integration.

frontend-ui-tailwind-standards

16
from diegosouzapw/awesome-omni-skill

Standardized guidelines and patterns for Frontend Ui Tailwind Standards.

frontend-ui

16
from diegosouzapw/awesome-omni-skill

Create aesthetically pleasing, visually distinctive frontend UIs using research-backed prompting strategies from Anthropic's frontend aesthetics cookbook

frontend-ui-dark-ts

16
from diegosouzapw/awesome-omni-skill

Build dark-themed React applications using Tailwind CSS with custom theming, glassmorphism effects, and Framer Motion animations. Use when creating dashboards, admin panels, or data-rich interfaces...

frontend-ui-animator

16
from diegosouzapw/awesome-omni-skill

Analyze and implement purposeful UI animations for Next.js + Tailwind + React projects. Use when user asks to add animations, enhance UI motion, animate pages/components, or improve visual feedback. Triggers on "add animations", "animate UI", "motion design", "hover effects", "scroll animations", "page transitions", "micro-interactions".

frontend-svelte

16
from diegosouzapw/awesome-omni-skill

Technical knowledge for SvelteKit 5 development. Build reactive applications with Svelte's compile-time magic. Expert in SvelteKit, stores, and reactive patterns. Activate for Svelte development, performance optimization, or modern web apps. This skill provides MCP usage patterns and Svelte 5 conventions. Use when implementing Svelte components or SvelteKit routes.

frontend-specialist

16
from diegosouzapw/awesome-omni-skill

Master of UI/UX, React, TypeScript, and modern CSS.

frontend-slides

16
from diegosouzapw/awesome-omni-skill

Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a...

frontend-shadcn

16
from diegosouzapw/awesome-omni-skill

Frontend development using Vite + React + shadcn/ui + Tailwind CSS + React Router v7. Use when creating new frontend projects, adding UI components, implementing routing, styling with Tailwind, or working with shadcn/ui component library.

frontend-security-coder

16
from diegosouzapw/awesome-omni-skill

Expert in secure frontend coding practices specializing in XSS prevention, output sanitization, and client-side security patterns.