Responsive spec
Specifies responsive behavior across breakpoints - layout reflow, content priority, touch targets, and fluid-versus-stepped scaling rules - precisely enough for engineers to implement directly. Use when someone asks "how should this work on mobile", "spec the breakpoints", "write the responsive rules for this page", or is adapting a single-viewport design for multi-device use. Do NOT use for static measurements inside one frame - use redline-annotation instead; for the overall handoff package with flows and edge cases, use design-handoff-doc.From its SKILL.md
npx -y skills add SkillMedev/skills --skill responsive-specAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 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.
SKILL.md
6.3 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Responsive Spec
A static design at one viewport does not specify a responsive product. The costly failure is handing engineers a desktop frame and a mobile frame with nothing in between: every width between 768px and 1024px becomes an improvisation, and the improvised versions are the ones users actually see. A responsive spec documents the rules that govern how layout, content, and interaction change as the viewport changes.
Operating procedure
Step 1: Gather inputs
- The existing breakpoint or grid system, if any. If the codebase uses a Tailwind config or similar, match those pixel values exactly - never introduce a parallel system.
- Device analytics: which viewport widths carry real traffic. Label guesses as guesses.
- Minimum supported width (default 320px) and whether touch, pointer, or both are in scope.
- The frames or pages being specified, and whether a token/component system already encodes any behavior.
Step 2: Define breakpoints explicitly
State every breakpoint with pixel values and a semantic name. Default convention when the product has none:
- mobile: 0-767px
- tablet: 768-1023px
- desktop: 1024-1439px
- wide: 1440px and above
Never use vague names like "small" without a pixel value.
Step 3: Document layout per breakpoint
For each breakpoint, record: column count and gutter width; container max-width and horizontal padding; which elements stack, collapse, or disappear; and any ordering changes (e.g. "CTA moves above image on mobile") - flag when visual order diverges from DOM order, because that has accessibility consequences. A table with breakpoints as rows and layout properties as columns works well.
Step 4: Decide fluid versus stepped, per element
Apply these decision rules instead of choosing by feel:
- Structural properties - column count, element order, show/hide, navigation pattern - are always stepped: they change at a breakpoint, never continuously.
- Continuous properties - type size, spacing, media height, container width - go fluid (percentage widths, clamp(), viewport units) when they would otherwise need three or more discrete values across the range; keep them stepped when one or two values suffice.
- Touch-target sizes are never fluid.
- Images: specify object-fit (cover vs. contain), aspect ratio at each breakpoint, and whether the focal point shifts.
Step 5: Set content priority
On mobile, not everything fits. Document: which elements hide below a breakpoint and the rationale (progressive disclosure, never arbitrary omission); which elements change behavior instead of disappearing (e.g. "horizontal tabs become a select dropdown below 768px"); mobile-only truncation rules; and the navigation pattern swap - desktop nav bar to hamburger or bottom tab bar - with the exact breakpoint where it happens.
Step 6: Specify touch targets and gestures
- Minimum 44x44px for any tappable element; if the visual size is smaller, add invisible padding.
- Minimum 8px between adjacent touch targets to prevent mis-taps.
- Swipe gestures: direction, threshold, triggered action, and conflicts with system gestures (e.g. iOS back swipe).
Step 7: Verify edge cases
- Landscape phone orientation: state whether it is treated as mobile or tablet.
- Very long strings in labels and headings: define the overflow rule so the layout cannot break.
- 320px: confirm the spec remains functional at the minimum supported width - check it explicitly, not by assumption.
Worked example
RESPONSIVE SPEC - Pricing page
Breakpoint Range Cols Gutter Container Nav
mobile 0-767px 4 16px fluid, 16px pad Hamburger
tablet 768-1023px 8 24px fluid, 24px pad Hamburger
desktop 1024-1439px 12 24px 960px max Horizontal bar
wide 1440px+ 12 32px 1200px max Horizontal bar
Element rules
- Pricing cards: 3-across desktop+, 2-across tablet, stacked mobile.
Recommended plan moves first on mobile (visual order != DOM order - noted).
- Hero heading: fluid, clamp(32px, 5vw, 61px). [3+ values needed -> fluid]
- CTA button: 240px fixed on desktop+; full-width mobile. [2 values -> stepped]
- Comparison table: horizontal scroll below 768px, first column sticky.
- FAQ accordion: unchanged at all widths (no rule needed).
Touch: all targets >=44x44px with >=8px gaps, verified at 375px and 320px.
Landscape phones: treated as mobile. Long plan names: truncate at 2 lines.
Deliverable
Produce a responsive specification containing: the breakpoint table with pixel values, the per-breakpoint layout table, a fluid-vs-stepped ruling for every significant element, content-priority and navigation-swap rules with rationale, touch-target confirmation, and the edge-case rulings (landscape, long strings, 320px).
Do NOT
- Do not deliver only static frames per breakpoint - the widths between frames are where products break.
- Do not invent breakpoints when the codebase already has them; two competing systems guarantee drift.
- Do not hide content on mobile without stating why; arbitrary omission is how mobile users lose features silently.
- Do not make everything fluid. Fluid structural layout (columns, ordering) is unimplementable; fluid belongs to continuous properties only.
- Do not skip the 320px check because "nobody uses those phones" - small viewports also appear in split-screen and embedded webviews.
Quality bar
- Every breakpoint has a pixel range; every significant element has an explicit fluid-or-stepped ruling.
- Every hidden element has a rationale; every behavior swap names its trigger breakpoint.
- Touch targets meet 44x44px with 8px separation on all touch viewports.
- The layout is verified functional at 320px.
Pair with redline-annotation for within-frame measurements and design-handoff-doc for the surrounding handoff package.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most design frontend skills give in ~1.3k tokens
Counted across 1,169 of the 1,878 authors here whose files we hold, read 2026-08-07
- Use CSS variables for color consistencyin 72 of 1169, across 23 files
- Commit to one bold aesthetic direction before codingin 72 of 1169, across 27 files
- Match implementation complexity to the aesthetic visionin 70 of 1169, across 20 files
- Add atmospheric background effects and texturesin 57 of 1169, across 9 files
- Use unexpected spatial compositions and layoutsin 56 of 1169, across 8 files
- Implement real working codein 55 of 1169, across 7 files
- Vary themes and aesthetics across different designsin 48 of 1169, across 7 files
- Launch chromium in headless modein 47 of 1169, across 4 files
- Close the browser when donein 47 of 1169, across 4 files
- Run provided scripts with help flag firstin 47 of 1169, across 4 files
- Wait for network idle statein 47 of 1169, across 4 files
- Use descriptive selectors for elementsin 47 of 1169, across 4 files
Said here and by no other author read
- match existing codebase breakpoint values exactly
- state every breakpoint with pixel values and semantic names
- record layout properties for each breakpoint
- make structural properties stepped
- make continuous properties fluid when needed
- justify all hidden mobile content
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.