responsive-layout-builder — скилл для Claude Code: установка
Скилл задаёт правила и готовые шаблоны для мобильной адаптивной вёрстки на CSS Grid, Flexbox, Tailwind и Container Queries в ассистентах Claude Code, Cursor и Copilot.
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a claude-codeЧто делает responsive-layout-builder
Скилл учит ИИ собирать адаптивные интерфейсы по принципу mobile-first. Внутри собраны готовые шаблоны разметки: Holy Grail, сетки карточек с автоподбором колонок через minmax, шапка со свойством sticky, адаптивный hero-блок, кластеры Masonry на CSS-колонках и сворачиваемый сайдбар.
В инструкциях разграничены зоны применения Flexbox и CSS Grid. Flexbox закреплён за панелями навигации и центрированием элементов, а Grid — за страницами, двухмерными сетками и перекрывающимися блоками. Скилл также содержит правила для флюидной типографики через функцию clamp() и контрольный чек-лист проверки экранов от 320px до 1280px+.
Контейнерные запросы в коде Tailwind опираются на синтаксис версии 3.2 и выше, поэтому на устаревших сборках фреймворка эти классы вызовут ошибку сборщика.
Какие задачи решает
- спроектировать адаптивную сетку карточек с динамической шириной колонок
- настроить макет страницы с фиксированным сайдбаром и прокруткой контента
- применить контейнерные запросы для адаптации отдельных компонентов
- подобрать правильный инструмент между Flexbox и CSS Grid для интерфейса
Примеры запросов агенту
- Сверстай сетку карточек товаров с помощью Tailwind, чтобы ширина колонок подстраивалась через auto-fill и minmax.
- Построй Holy Grail макет с фиксированным хэдером и сайдбаром, скрывающимся на экранах меньше 768px.
- Сделай адаптивный баннер hero-секции с флюидным заголовком через функцию clamp().
Как установить responsive-layout-builder
1Через Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a claude-code2Вручную: положить файлы
~/.claude/skills/responsive-layout-builder/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/responsive-layout-builder/
1Через Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a codex2Вручную: положить файлы
.agents/skills/responsive-layout-builder/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a cursor2Вручную: положить файлы
.cursor/skills/responsive-layout-builder/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install OneWave-AI/claude-skills responsive-layout-builder2Вручную: положить файлы
.github/skills/responsive-layout-builder/SKILL.md1Через Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a gemini-cli2Командой платформы
gemini skills install https://github.com/OneWave-AI/claude-skills --path responsive-layout-builderВручную: положить файлы
.devin/skills/responsive-layout-builder/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о responsive-layout-builder
Как установить responsive-layout-builder в Claude Code?
Выполните команду npx skills add OneWave-AI/claude-skills --skill responsive-layout-builder -a claude-code. Также можно сохранить файл вручную по пути ~/.claude/skills/responsive-layout-builder/SKILL.md.
Что делает responsive-layout-builder?
Он предоставляет кодинг-ассистенту готовые шаблоны и правила адаптивной вёрстки на CSS Grid, Flexbox, Tailwind и container queries. Модель применяет mobile-first подход и сразу подбирает подходящую структуру разметки.
В каких случаях скилл выбирает CSS Grid вместо Flexbox?
Инструкция направляет модель использовать CSS Grid для каркасов страниц, сеток карточек, двухмерных структур и перекрывающихся блоков. Flexbox остаётся для навигационных полос, выравнивания внутри карточек и центрирования.
Исходный текст
SKILL.md · MIT
---
name: responsive-layout-builder
description: Build responsive layouts with CSS Grid, Flexbox, and container queries. Use when creating responsive designs, fixing layout issues, or building mobile-first layouts.
---
# Responsive Layout Builder
## Instructions
When building responsive layouts:
1. **Identify the layout pattern** (grid, sidebar, cards, etc.)
2. **Start mobile-first**
3. **Use appropriate CSS technique** (Grid vs Flexbox)
4. **Add breakpoints** for larger screens
5. **Test across viewports**
## Breakpoints
```css
/* Tailwind defaults */
sm: 640px /* Small devices */
md: 768px /* Tablets */
lg: 1024px /* Laptops */
xl: 1280px /* Desktops */
2xl: 1536px /* Large screens */
/* Custom CSS */
@media (min-width: 640px) { }
@media (min-width: 768px) { }
@media (min-width: 1024px) { }
```
## Common Layout Patterns
### 1. Holy Grail Layout
```tsx
// Tailwind CSS
<div className="min-h-screen flex flex-col">
<header className="h-16 bg-white border-b">Header</header>
<div className="flex-1 flex">
<aside className="hidden md:block w-64 bg-gray-50 border-r">
Sidebar
</aside>
<main className="flex-1 p-6">
Main Content
</main>
</div>
<footer className="h-16 bg-white border-t">Footer</footer>
</div>
```
```css
/* Plain CSS */
.layout {
display: grid;
grid-template-rows: auto 1fr auto;
grid-template-columns: 1fr;
min-height: 100vh;
}
@media (min-width: 768px) {
.layout {
grid-template-columns: 250px 1fr;
}
.header, .footer {
grid-column: 1 / -1;
}
}
```
### 2. Responsive Card Grid
```tsx
// Tailwind - Auto-fit cards
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
{items.map(item => (
<Card key={item.id} {...item} />
))}
</div>
// Auto-fill with minimum width
<div className="grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-6">
{items.map(item => (
<Card key={item.id} {...item} />
))}
</div>
```
```css
/* Plain CSS */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
}
```
### 3. Sidebar Layout
```tsx
// Fixed sidebar, scrollable content
<div className="flex h-screen">
<aside className="w-64 flex-shrink-0 overflow-y-auto border-r bg-gray-50">
<nav className="p-4">Sidebar Nav</nav>
</aside>
<main className="flex-1 overflow-y-auto">
<div className="p-6">Main Content</div>
</main>
</div>
// Collapsible sidebar
<div className="flex h-screen">
<aside className={cn(
"flex-shrink-0 overflow-y-auto border-r bg-gray-50 transition-all",
isOpen ? "w-64" : "w-16"
)}>
<nav className="p-4">...</nav>
</aside>
<main className="flex-1 overflow-y-auto p-6">...</main>
</div>
```
### 4. Hero Section
```tsx
<section className="relative min-h-[60vh] flex items-center justify-center px-4">
{/* Background */}
<div className="absolute inset-0 bg-gradient-to-br from-blue-600 to-purple-700" />
{/* Content */}
<div className="relative z-10 max-w-4xl mx-auto text-center text-white">
<h1 className="text-4xl md:text-5xl lg:text-6xl font-bold">
Headline Here
</h1>
<p className="mt-6 text-lg md:text-xl opacity-90 max-w-2xl mx-auto">
Subheadline text goes here with more details.
</p>
<div className="mt-8 flex flex-col sm:flex-row gap-4 justify-center">
<button className="px-8 py-3 bg-white text-blue-600 rounded-lg font-semibold">
Primary CTA
</button>
<button className="px-8 py-3 border-2 border-white rounded-lg font-semibold">
Secondary CTA
</button>
</div>
</div>
</section>
```
### 5. Masonry Grid
```tsx
// CSS Columns approach
<div className="columns-1 sm:columns-2 lg:columns-3 gap-6 space-y-6">
{items.map(item => (
<div key={item.id} className="break-inside-avoid">
<Card {...item} />
</div>
))}
</div>
```
### 6. Sticky Header
```tsx
<header className="sticky top-0 z-50 bg-white/80 backdrop-blur-md border-b">
<nav className="max-w-7xl mx-auto px-4 h-16 flex items-center justify-between">
<Logo />
<NavLinks className="hidden md:flex" />
<MobileMenuButton className="md:hidden" />
</nav>
</header>
```
## Container Queries (Modern)
```css
/* Define container */
.card-container {
container-type: inline-size;
}
/* Query the container */
@container (min-width: 400px) {
.card {
display: flex;
flex-direction: row;
}
}
```
```tsx
// Tailwind v3.2+
<div className="@container">
<div className="flex flex-col @md:flex-row">
<img className="w-full @md:w-48" />
<div className="p-4">Content</div>
</div>
</div>
```
## Flexbox vs Grid Decision
| Use Flexbox | Use Grid |
|-------------|----------|
| Navigation bars | Page layouts |
| Card content alignment | Card grids |
| Centering content | Complex 2D layouts |
| Space distribution | Overlapping elements |
| Unknown item count | Defined structure |
## Responsive Typography
```tsx
// Fluid typography with clamp
<h1 className="text-[clamp(2rem,5vw,4rem)]">
Responsive Heading
</h1>
// Tailwind responsive
<h1 className="text-2xl sm:text-3xl md:text-4xl lg:text-5xl">
Responsive Heading
</h1>
```
## Testing Checklist
- [ ] 320px (small phones)
- [ ] 375px (iPhone)
- [ ] 768px (tablet portrait)
- [ ] 1024px (tablet landscape / laptop)
- [ ] 1280px+ (desktop)
- [ ] Test with actual content (not lorem ipsum)
- [ ] Test with long/short content variations
© OneWave-AI · MIT · OneWave-AI/claude-skills