К основному содержанию
скилл CX Codex

shadcn-layouts — скилл для Claude Code: вёрстка shadcn/Tailwind

Помогает агенту собрать раскладку на shadcn и Tailwind так, чтобы она заработала с первого раза, и разобраться с высотой, скроллом и flex/grid.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jwynia/agent-skills --skill shadcn-layouts -a claude-code
Открыть на GitHub

Что делает shadcn-layouts

Скилл описывает ментальные модели CSS, которых обычно не хватает агенту при генерации интерфейса. Ошибки тут не в синтаксисе: классы пишутся верно, а цепочка ограничений не выстроена. Отсюда и типичные симптомы — блоки схлопываются, h-full ничего не делает, скролл не появляется.

Внутри четыре модели. Высота наследуется сверху вниз: h-full — это 100% от вычисленной высоты родителя, поэтому цепочку надо тянуть до <html> или разрывать её через h-screen. Flex-дети по умолчанию не сжимаются ниже своего содержимого, и скроллящемуся элементу нужен min-h-0, а фиксированному — shrink-0. Сетка объявляется на родителе: без класса grid никакие grid-cols-* не сработают. Контейнеру скролла нужны явные размеры, иначе он не знает, когда прокручивать.

К этому приложены пять диагностических состояний с симптомами и правкой, готовые шаблоны — оболочка приложения на всю страницу, дашборд с шапкой, сетка карточек — и чек-лист перед генерацией. Скилл рассчитан на shadcn/ui, Tailwind CSS v3/v4, React и Next.js; для бэкенда и проектов без Tailwind он не подходит, а решения по дизайну советуют принимать до него.

Какие задачи решает

  • собрать оболочку приложения на всю высоту экрана
  • починить скролл внутри flex-колонки
  • разложить карточки в адаптивную сетку
  • найти, почему h-full схлопывает блок
  • проверить цепочку высот перед генерацией разметки

Примеры запросов агенту

  • создай раскладку shadcn для страницы с боковым меню и скроллящейся основной частью
  • скролл в main не работает, посмотри flex и высоты
  • сделай сетку карточек на shadcn: одна колонка на телефоне, три на десктопе

Как установить shadcn-layouts

1Через Skills CLI (Vercel)

npx skills add jwynia/agent-skills --skill shadcn-layouts -a claude-code

2Вручную: положить файлы

~/.claude/skills/shadcn-layouts/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/shadcn-layouts/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора77

task-breakdown Помогает разложить парализующую задачу на мелкие шаги, когда не получается начать. Опирается на стратегии для ADHD и аутизма. CX Codex +1 476установок economic-systems Помогает писателю собрать правдоподобную экономику вымышленного мира: валюты, торговые сети, дефицит ресурсов. Пригодится, когда экономика должна двигать сюжет, а не служить фоном. CX Codex +1 473установок security-scan Скилл прогоняет кодовую базу по OWASP Top 10, ищет захардкоженные ключи и опасные конфиги. Пригодится перед деплоем или ревью чужого репозитория. CX Codex +1 471установок revision Диагностический скилл для этапа редактуры после черновика: помогает разложить правки по уровням и понять, когда работа закончена. CX Codex +1 469установок context-retrospective Разбирает логи работы агента и показывает, каких знаний в контекстной сети не хватало и какие правила стоит поправить. CX Codex +1 448установок governance-systems Помогает придумать королевства, империи и федерации с внутренней сложностью и правдоподобными связями между ними. CX Codex +1 448установок voice-analysis Скилл разбирает тексты автора по восьми фазам и собирает voice guide, по которому ИИ пишет в его манере. CX Codex +1 445установок drafting Диагностирует, почему черновик не пишется, и вытаскивает текст на страницу. Полезен, когда план готов, а дело стоит. CX Codex +1 445установок

Похожие

shadcn pproenca Скилл с 58 правилами для shadcn/ui: подсказывает агенту, как правильно ставить компоненты, писать формы и не ломать доступность. CX Codex +1 724установок shadcn-component-review mattbx Проверяет готовые компоненты и раскладки на соответствие паттернам shadcn: отступы, семантические токены, состав примитивов и правила выбранного визуального стиля. CX Codex +1 635установок tailwind-v4-shadcn secondsky Скилл настраивает связку Tailwind CSS v4, shadcn/ui и React в проектах на Vite. Помогает избежать ошибок импорта и поломки CSS-переменных при переключении тем оформления. CX Codex +1 8 100установок aceternity-ui Claude Skills Maintainers Скилл подключает к агенту библиотеку Aceternity UI: больше 100 анимированных компонентов React для Next.js с Tailwind. Пригодится, когда нужен hero-блок, параллакс или 3D-эффект. CX Codex +1 1 500установок magic-ui magicuidesign Скилл magic-ui учит Claude Code работать с компонентами Magic UI в React и Next.js: выбирать анимации, ставить через shadcn-реестр и проверять доступность. CX Codex +1 1 200установок tailwind-theme-builder jezweb Скилл настраивает тему Tailwind v4 с shadcn/ui и тёмным режимом: ставит зависимости, связывает CSS-переменные через @theme inline, подключает переключатель темы. CX Codex +1 3 200установок

Рядом в теме «Фронтенд и UI»

Всё по теме «Фронтенд и UI» →

Вопросы о shadcn-layouts

Как установить shadcn-layouts в Claude?

Выполните npx skills add jwynia/agent-skills --skill shadcn-layouts -a claude-code. Файл скилла окажется по пути ~/.claude/skills/shadcn-layouts/SKILL.md.

Что делает shadcn-layouts?

Даёт агенту модели раскладки CSS, по которым он собирает компоненты shadcn и Tailwind, и помогает отлаживать проблемы с высотой, скроллом и сеткой.

С какими проектами он совместим?

С shadcn/ui, Tailwind CSS v3/v4, React и Next.js. Для бэкенда и проектов без Tailwind скилл не предназначен.

Исходный текст

SKILL.md · MIT
---
name: shadcn-layouts
description: "Generate correct shadcn/Tailwind layouts by applying CSS mental models. This skill should be used when the user asks to 'create a shadcn layout', 'fix layout issues', 'debug CSS height problems', 'make scrolling work', or has issues with Tailwind flex/grid. Keywords: shadcn, Tailwind, layout, CSS, flex, grid, height, scroll, overflow."
license: MIT
compatibility: Works with shadcn/ui, Tailwind CSS v3/v4, React, Next.js.
metadata:
  author: jwynia
  version: "1.0"
  type: utility
  mode: generative
  domain: development
---

# shadcn/Tailwind Layouts

Help generate shadcn/Tailwind components that render correctly the first time. Most agent-generated UI fails due to missing mental models about how CSS layout works—not syntax errors, but assumption gaps.

## When to Use This Skill

Use this skill when:
- Creating shadcn/Tailwind layouts
- Debugging height/scroll issues
- Fixing flex/grid problems
- Setting up full-page app shells

Do NOT use this skill when:
- Writing backend code
- Working on non-Tailwind CSS projects
- Designing (use frontend-design first)

## Core Principle

**CSS layout flows from constraints. Height flows down from explicit ancestors. Width flows up from content. Agents fail because they apply classes without understanding the constraint chain.**

## Critical Mental Models

### Model 1: Height Inheritance Chain

`h-full` means `height: 100%`. 100% of what? **100% of the parent's computed height.**

```
BROKEN (chain incomplete):
<html>                        <!-- no height -->
  <body>                      <!-- no height -->
    <div class="h-full">      <!-- 100% of nothing = 0 -->

WORKING (chain complete):
<html class="h-full">         <!-- 100% of viewport -->
  <body class="h-full">       <!-- 100% of html -->
    <div class="h-full">      <!-- 100% of body = works -->
```

**Rule:** Trace from element up to `<html>`. Every ancestor needs explicit height, OR use viewport units (`h-screen`) to break the chain.

### Model 2: Flex Overflow Gotcha

Flex children have implicit `min-height: auto`, preventing shrinking below content size.

```tsx
// BROKEN (won't scroll)
<div className="flex flex-col h-screen">
  <main className="flex-1 overflow-y-auto">  {/* Can't shrink! */}

// WORKING (scrolls correctly)
<div className="flex flex-col h-screen">
  <main className="flex-1 overflow-y-auto min-h-0">  {/* Can shrink */}
```

**Rule:** Flex children that scroll need `min-h-0`. Children that shouldn't shrink need `shrink-0`.

### Model 3: Grid Parent/Child Separation

Grid is defined on the **parent**. Children just occupy cells.

```tsx
// BROKEN
<div className="grid-cols-3">           {/* Missing 'grid'! */}

// WORKING
<div className="grid grid-cols-3">      {/* 'grid' enables grid-cols-* */}
```

**Rule:** `flex` or `grid` must be declared on parent before direction/template classes work.

### Model 4: Scroll Container Dimensions

Scroll containers need **explicit dimensions** to know when to scroll.

```tsx
// BROKEN (never scrolls)
<ScrollArea>  {/* No height constraint */}

// WORKING (flex-constrained)
<div className="flex flex-col h-screen">
  <ScrollArea className="flex-1 min-h-0">
```

## Diagnostic States

### SL1: Height Chain Broken
**Symptoms:** Elements collapse, `h-full` not working
**Fix:** Trace to html, add heights or use `h-screen`

### SL2: Flex Overflow Blocked
**Symptoms:** Scroll doesn't work, content overflows
**Fix:** Add `min-h-0` to flex children that scroll

### SL3: Grid Structure Wrong
**Symptoms:** Items stack vertically instead of columns
**Fix:** Ensure `grid grid-cols-*` on parent

### SL4: Styles Not Applying
**Symptoms:** Unstyled components, colors wrong
**Fix:** Check Tailwind content paths, CSS variables in globals.css

### SL5: Component Dependencies Missing
**Symptoms:** "Module not found", functionality broken
**Fix:** `npx shadcn add [component]`, install peer deps

## Common Layout Patterns

### Full-Page App Shell

```tsx
// layout.tsx
<html lang="en" className="h-full">
  <body className="h-full">{children}</body>
</html>

// page.tsx
<div className="flex h-full">
  <aside className="w-64 shrink-0 border-r overflow-y-auto">
    <nav>...</nav>
  </aside>
  <main className="flex-1 min-w-0 overflow-y-auto">
    {children}
  </main>
</div>
```

### Dashboard with Header

```tsx
<div className="flex flex-col h-screen">
  <header className="h-16 shrink-0 border-b">...</header>
  <div className="flex flex-1 min-h-0">
    <aside className="w-64 shrink-0 border-r overflow-y-auto">...</aside>
    <main className="flex-1 min-w-0 overflow-y-auto p-6">
      {children}
    </main>
  </div>
</div>
```

### Card Grid

```tsx
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
  {items.map(item => (
    <Card key={item.id}>
      <CardHeader><CardTitle>{item.title}</CardTitle></CardHeader>
      <CardContent>{item.content}</CardContent>
    </Card>
  ))}
</div>
```

## Anti-Patterns

### The Height Assumption
Using `h-full` without verifying ancestor chain.
**Fix:** Trace to html. Use `h-screen` to break chain.

### The Overflow Ignorance
Adding `overflow-y-auto` without `min-h-0` on flex children.
**Fix:** Flex children need `min-h-0` to shrink.

### The Import Guess
Guessing import paths like `shadcn/ui`.
**Fix:** Check `components.json` for alias. Usually `@/components/ui/*`.

### The Flat Compound
Flattening compound components (Dialog without DialogTrigger/DialogContent).
**Fix:** Maintain required nesting structure.

## Pre-Generation Checklist

- [ ] Import alias known (`@/components/ui/*`)
- [ ] html has `h-full`
- [ ] body has `h-full` or `min-h-full`
- [ ] Scroll containers have explicit height
- [ ] Flex scroll children have `min-h-0`
- [ ] Fixed elements have `shrink-0`

## Related Skills

- **frontend-design** - Design decisions before implementation
- **react-pwa** - PWA features for React apps

© jwynia · MIT · jwynia/agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой