Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dylantarre avatar

Breakpoints

  • 10 installs
  • 37 repo stars
  • Updated December 30, 2025
  • dylantarre/design-system-skills

Generates responsive breakpoint tokens for media and container queries, output as CSS, Tailwind, or JSON.

About

This skill generates responsive breakpoint tokens for media queries and container queries. A developer uses it when setting up mobile-first layouts or viewport-based styling.

  • Media-query and container-query breakpoint tokens
  • Outputs CSS, Tailwind, or JSON

Breakpoints by the numbers

  • 10 all-time installs (skills.sh)
  • Ranked #1,691 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/design-system-skills --skill breakpoints

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs10
repo stars37
Last updatedDecember 30, 2025
Repositorydylantarre/design-system-skills

What it does

Generates responsive breakpoint tokens for media and container queries, output as CSS, Tailwind, or JSON.

Files

SKILL.mdMarkdownGitHub ↗

Breakpoints Generator

Overview

Generate consistent responsive breakpoint tokens for mobile-first or desktop-first design. Includes common device-based presets and custom configuration options.

When to Use

  • Setting up responsive design tokens
  • Standardizing media queries across a project
  • Creating container query breakpoints
  • Migrating from arbitrary breakpoints to tokens

Quick Reference: Common Breakpoints

NameMin WidthTarget Devices
xs0Small phones
sm640pxLarge phones, small tablets
md768pxTablets portrait
lg1024pxTablets landscape, laptops
xl1280pxDesktops
2xl1536pxLarge desktops

The Process

1. Ask approach: Mobile-first (min-width) or desktop-first (max-width)? 2. Ask preset or custom:

  • Preset: Tailwind, Bootstrap, Material, or Custom
  • Custom: Define your own values

3. Ask steps: How many breakpoints (4-6 typical) 4. Ask container queries: Include container query tokens? 5. Ask format: CSS, Tailwind, JSON, or SCSS? 6. Generate: Create breakpoint scale with media query helpers

Breakpoint Presets

PresetValuesCharacter
Tailwind640, 768, 1024, 1280, 1536Content-focused
Bootstrap576, 768, 992, 1200, 1400Traditional
Material600, 905, 1240, 1440Google spec
Minimal640, 1024, 1440Simple 3-tier

Output Formats

CSS Custom Properties + Media Queries:

:root {
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
}

/* Mobile-first media queries (use with @media) */
/* @media (min-width: 640px) - sm and up */
/* @media (min-width: 768px) - md and up */
/* @media (min-width: 1024px) - lg and up */
/* @media (min-width: 1280px) - xl and up */
/* @media (min-width: 1536px) - 2xl and up */

Tailwind Config:

module.exports = {
  theme: {
    screens: {
      'sm': '640px',
      'md': '768px',
      'lg': '1024px',
      'xl': '1280px',
      '2xl': '1536px',
    }
  }
}

JSON Tokens:

{
  "breakpoint": {
    "sm": { "value": "640px", "type": "dimension" },
    "md": { "value": "768px", "type": "dimension" },
    "lg": { "value": "1024px", "type": "dimension" },
    "xl": { "value": "1280px", "type": "dimension" },
    "2xl": { "value": "1536px", "type": "dimension" }
  }
}

SCSS Variables + Mixins:

$breakpoint-sm: 640px;
$breakpoint-md: 768px;
$breakpoint-lg: 1024px;
$breakpoint-xl: 1280px;
$breakpoint-2xl: 1536px;

@mixin sm-up {
  @media (min-width: $breakpoint-sm) { @content; }
}
@mixin md-up {
  @media (min-width: $breakpoint-md) { @content; }
}
@mixin lg-up {
  @media (min-width: $breakpoint-lg) { @content; }
}
@mixin xl-up {
  @media (min-width: $breakpoint-xl) { @content; }
}
@mixin 2xl-up {
  @media (min-width: $breakpoint-2xl) { @content; }
}

// Usage: @include md-up { .element { width: 50%; } }

Container Queries

Modern CSS container queries for component-level responsiveness:

/* Container query breakpoints */
:root {
  --container-sm: 320px;
  --container-md: 480px;
  --container-lg: 640px;
  --container-xl: 800px;
}

/* Define container */
.card-container {
  container-type: inline-size;
  container-name: card;
}

/* Query container */
@container card (min-width: 480px) {
  .card-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

Mobile-First vs Desktop-First

ApproachMedia QueryWrite Styles For
Mobile-firstmin-widthSmall screens first, enhance up
Desktop-firstmax-widthLarge screens first, reduce down

Mobile-first (recommended):

.element { width: 100%; }
@media (min-width: 768px) { .element { width: 50%; } }
@media (min-width: 1024px) { .element { width: 33%; } }

Desktop-first:

.element { width: 33%; }
@media (max-width: 1023px) { .element { width: 50%; } }
@media (max-width: 767px) { .element { width: 100%; } }

Best Practices

1. Content-driven breakpoints: Let content determine where layout breaks, not device sizes 2. Fewer is better: 4-6 breakpoints handles most cases 3. Test in-between: Don't just test at exact breakpoints 4. Use container queries for component-level responsiveness 5. Avoid pixel-perfect: Focus on fluid layouts between breakpoints

Utility Classes (Tailwind-style)

/* Visibility utilities */
.hidden { display: none; }
.sm\:block { @media (min-width: 640px) { display: block; } }
.md\:hidden { @media (min-width: 768px) { display: none; } }

/* Responsive grid */
.grid-cols-1 { grid-template-columns: 1fr; }
.md\:grid-cols-2 { @media (min-width: 768px) { grid-template-columns: repeat(2, 1fr); } }
.lg\:grid-cols-3 { @media (min-width: 1024px) { grid-template-columns: repeat(3, 1fr); } }

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.