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

shadcn · pymodel — скилл для Claude Code: правила shadcn/ui

Скилл с набором правил для работы с shadcn/ui: архитектура компонентов, доступность, темы, формы и таблицы. Пригодится, когда агент пишет или правит UI на React.

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

Что делает shadcn

Скилл задаёт агенту порядок работы с shadcn/ui. Сначала он смотрит, на чём собраны компоненты в проекте — на Radix UI или Base UI, потому что у них разные API композиции. Для новых проектов по умолчанию идёт Base UI. Установка и обновление компонентов идут через актуальный CLI версии 4, который умеет разрешать namespaced-регистры.

Правила разбиты на восемь категорий по приоритету. Критичные — архитектура компонентов и сохранение доступности: агенту запрещено ломать ARIA-атрибуты Radix, фокус-трап в модалках и клавиатурную навигацию. Дальше идут стили и темы на CSS-переменных, паттерны форм с React Hook Form и Zod, отображение данных через TanStack Table и виртуализацию списков, композиция, производительность и управление состоянием. У каждого правила свой префикс вроде arch- или ally-, и на каждое есть файл в references/.

Проверьте, какая библиотека примитивов уже стоит у вас в проекте, до того как агент начнёт править компоненты: советы для Radix и Base UI не взаимозаменяемы, и слепое следование одному набору сломает другой. Скилл распространяется по лицензии MIT.

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

  • разобраться, на Radix или Base UI собраны компоненты проекта
  • сохранить ARIA-атрибуты и фокус-трап при правке модалок
  • собрать форму на React Hook Form с валидацией через Zod
  • вывести большую таблицу с сортировкой и фильтрами
  • добавить тёмную тему на CSS-переменных

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

  • добавь новый компонент Dialog по правилам shadcn из скилла
  • проверь мои компоненты на доступность и подскажи, что поправить
  • сделай форму с валидацией на React Hook Form и Zod

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

1Через Skills CLI (Vercel)

npx skills add PyModel/react-frontend-skills --skill shadcn -a claude-code

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

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

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

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

Вопросы о shadcn

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

Выполните npx skills add PyModel/react-frontend-skills --skill shadcn -a claude-code. Файл скилла окажется в ~/.claude/skills/shadcn/SKILL.md.

Что делает скилл shadcn?

Даёт агенту набор правил по shadcn/ui: архитектура компонентов, доступность, темы, формы, таблицы, композиция, производительность и состояние. Агент сверяется с ними, когда пишет или правит UI.

Чем отличаются правила для Radix UI и Base UI?

У этих библиотек разные API композиции, поэтому скилл сначала просит проверить, что стоит в проекте. Для новых проектов по умолчанию используется Base UI.

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

SKILL.md · MIT
---
name: shadcn
description: shadcn/ui components on Radix or Base UI.
---

# shadcn/ui Community Best Practices

Current best-practices guide for shadcn/ui applications. Before applying primitive-specific guidance, inspect whether the checked-in components use Radix UI or Base UI; current shadcn supports both (Base UI is the default for new projects) and their composition APIs differ. Component installs and upgrades go through the current CLI (v4), which resolves namespaced registries.

## When to Apply

Reference these guidelines when:
- Writing new shadcn/ui components or composing primitives
- Implementing forms with React Hook Form and Zod validation
- Building data tables or handling large dataset displays
- Customizing themes or adding dark mode support
- Reviewing code for accessibility compliance

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Component Architecture | CRITICAL | `arch-` |
| 2 | Accessibility Preservation | CRITICAL | `ally-` |
| 3 | Styling & Theming | HIGH | `style-` |
| 4 | Form Patterns | HIGH | `form-` |
| 5 | Data Display | MEDIUM-HIGH | `data-` |
| 6 | Component Composition | MEDIUM | `comp-` |
| 7 | Performance Optimization | MEDIUM | `perf-` |
| 8 | State Management | LOW-MEDIUM | `state-` |

## Quick Reference

### 1. Component Architecture (CRITICAL)

- [`arch-use-asChild-for-custom-triggers`](references/arch-use-asChild-for-custom-triggers.md) - Use the generated primitive's composition API
- [`arch-current-cli-registry`](references/arch-current-cli-registry.md) - Use the current CLI for component lifecycle (v4, registries, MCP)
- [`arch-unified-radix-package`](references/arch-unified-radix-package.md) - Import primitives from the unified radix-ui package
- [`arch-preserve-radix-primitive-structure`](references/arch-preserve-radix-primitive-structure.md) - Maintain Radix compound component hierarchy
- [`arch-extend-variants-with-cva`](references/arch-extend-variants-with-cva.md) - Use Class Variance Authority for type-safe variants
- [`arch-use-cn-for-class-merging`](references/arch-use-cn-for-class-merging.md) - Use cn() utility for safe Tailwind class merging
- [`arch-forward-refs-for-composable-components`](references/arch-forward-refs-for-composable-components.md) - Forward refs for form and focus integration
- [`arch-isolate-component-variants`](references/arch-isolate-component-variants.md) - Separate base styles from variant-specific styles

### 2. Accessibility Preservation (CRITICAL)

- [`ally-preserve-aria-attributes`](references/ally-preserve-aria-attributes.md) - Keep Radix ARIA attributes intact
- [`ally-provide-sr-only-labels`](references/ally-provide-sr-only-labels.md) - Add screen reader labels for icon buttons
- [`ally-maintain-focus-management`](references/ally-maintain-focus-management.md) - Preserve focus trapping in modals
- [`ally-preserve-keyboard-navigation`](references/ally-preserve-keyboard-navigation.md) - Keep WAI-ARIA keyboard patterns
- [`ally-ensure-color-contrast`](references/ally-ensure-color-contrast.md) - Maintain WCAG color contrast ratios

### 3. Styling & Theming (HIGH)

- [`style-use-css-variables-for-theming`](references/style-use-css-variables-for-theming.md) - Use CSS variables for theme colors
- [`style-avoid-important-overrides`](references/style-avoid-important-overrides.md) - Prefer variants and class composition over important overrides
- [`style-use-tailwind-theme-extend`](references/style-use-tailwind-theme-extend.md) - Define Tailwind v4 theme tokens in CSS
- [`style-consistent-spacing-scale`](references/style-consistent-spacing-scale.md) - Use consistent Tailwind spacing scale
- [`style-responsive-design-patterns`](references/style-responsive-design-patterns.md) - Apply mobile-first responsive design
- [`style-dark-mode-support`](references/style-dark-mode-support.md) - Support dark mode with CSS variables

### 4. Form Patterns (HIGH)

- [`form-use-react-hook-form-integration`](references/form-use-react-hook-form-integration.md) - Integrate with React Hook Form
- [`form-use-zod-for-schema-validation`](references/form-use-zod-for-schema-validation.md) - Use Zod for type-safe validation
- [`form-show-validation-errors-correctly`](references/form-show-validation-errors-correctly.md) - Show errors at appropriate times
- [`form-handle-async-validation`](references/form-handle-async-validation.md) - Debounce async validation calls
- [`form-reset-form-state-correctly`](references/form-reset-form-state-correctly.md) - Reset form state after submission

### 5. Data Display (MEDIUM-HIGH)

- [`data-use-tanstack-table-for-complex-tables`](references/data-use-tanstack-table-for-complex-tables.md) - Use TanStack Table for sorting/filtering
- [`data-virtualize-large-lists`](references/data-virtualize-large-lists.md) - Virtualize lists with 100+ items
- [`data-use-skeleton-loading-states`](references/data-use-skeleton-loading-states.md) - Use Skeleton for loading states
- [`data-paginate-server-side`](references/data-paginate-server-side.md) - Paginate large datasets server-side
- [`data-empty-states-with-guidance`](references/data-empty-states-with-guidance.md) - Provide actionable empty states

### 6. Component Composition (MEDIUM)

- [`comp-compose-with-compound-components`](references/comp-compose-with-compound-components.md) - Use compound component patterns
- [`comp-use-drawer-for-mobile-modals`](references/comp-use-drawer-for-mobile-modals.md) - Use Drawer on mobile devices
- [`comp-combine-command-with-popover`](references/comp-combine-command-with-popover.md) - Create searchable selects with Command
- [`comp-nest-dialogs-correctly`](references/comp-nest-dialogs-correctly.md) - Manage nested dialog focus correctly
- [`comp-create-reusable-form-fields`](references/comp-create-reusable-form-fields.md) - Extract reusable form field components
- [`comp-use-slot-pattern-for-flexibility`](references/comp-use-slot-pattern-for-flexibility.md) - Use slot pattern for flexible content

### 7. Performance Optimization (MEDIUM)

- [`perf-lazy-load-heavy-components`](references/perf-lazy-load-heavy-components.md) - Lazy load components over 50KB
- [`perf-memoize-expensive-renders`](references/perf-memoize-expensive-renders.md) - Memoize list items and expensive components
- [`perf-optimize-icon-imports`](references/perf-optimize-icon-imports.md) - Use direct imports for Lucide icons
- [`perf-avoid-unnecessary-rerenders-in-forms`](references/perf-avoid-unnecessary-rerenders-in-forms.md) - Isolate form field watching
- [`perf-debounce-search-inputs`](references/perf-debounce-search-inputs.md) - Debounce search and filter inputs

### 8. State Management (LOW-MEDIUM)

- [`state-prefer-uncontrolled-for-simple-inputs`](references/state-prefer-uncontrolled-for-simple-inputs.md) - Use uncontrolled for simple forms
- [`state-lift-state-to-appropriate-level`](references/state-lift-state-to-appropriate-level.md) - Lift state to lowest common ancestor
- [`state-use-controlled-dialog-state`](references/state-use-controlled-dialog-state.md) - Control dialogs for programmatic access
- [`state-colocate-state-with-components`](references/state-colocate-state-with-components.md) - Keep state close to where it's used

## How to Use

Run in the project root first:

```bash
npx -y @pymodel/react-frontend-skills detect  # installed vs. targeted versions
```

Read `references/<rule-id>.md` for each rule above that matches the task: why it matters, then incorrect vs. correct code.

© PyModel · MIT · PyModel/react-frontend-skills

Похожие скиллы

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

Сначала — shadcn от других авторов.

shadcn shadcn-ui Скилл ведёт агента по работе с shadcn/ui: добавляет компоненты, ищет в реестрах, чинит верстку и собирает дизайн-систему по вашему описанию. CX Codex +1 123 300установок shadcn typeui.sh Задаёт агенту правила дизайн-системы в стиле shadcn/ui: токены, типографику, состояния компонентов и критерии доступности. CX Codex +1 2 500установок shadcn официальный Vercel Labs Скилл помогает Codex работать с компонентами shadcn/ui: выбрать их, добавить в проект и настроить тему. Пригодится при сборке интерфейса на React с Tailwind CSS. CX Codex GP ChatGPT 72установок shadcn pedronauck Задаёт правила сборки интерфейсов на shadcn/ui и Radix UI. Помогает агенту сохранять поддержку тем оформления и доступность экранов. CX Codex +1 369установок shadcn pproenca Скилл с 58 правилами для shadcn/ui: подсказывает агенту, как правильно ставить компоненты, писать формы и не ломать доступность. CX Codex +1 724установок shadcn-component-review mattbx Проверяет готовые компоненты и раскладки на соответствие паттернам shadcn: отступы, семантические токены, состав примитивов и правила выбранного визуального стиля. CX Codex +1 635установок shadcn-ui giuseppe-trisciuoglio Скилл подсказывает агенту, как ставить и настраивать компоненты shadcn/ui: кнопки, диалоги, таблицы, формы с React Hook Form и Zod. CX Codex +1 22 400установок shadcn-layouts jwynia Помогает агенту собрать раскладку на shadcn и Tailwind так, чтобы она заработала с первого раза, и разобраться с высотой, скроллом и flex/grid. CX Codex +1 457установок ui-design-system samhvw8 Скилл для сборки и разбора React-интерфейсов на TailwindCSS, Radix UI и shadcn/ui. Пригодится, когда компоненты уже расползлись и нужен порядок. CX Codex +1 3 200установок radix-ui-design-system sickn33 Скилл помогает создавать дизайн-системы и доступные интерфейсные компоненты на базе примитивов Radix UI без готовых стилей. CX Codex +1 1 300установок avoid-ai-design ungspirit Скилл находит в вёрстке следы генерации нейросетью и переписывает её вокруг одной выбранной дизайн-идеи. Пригодится, когда фронтенд после Claude или Codex выглядит как у всех. CX Codex +1 641установок

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

zod Справочник из 46 правил для валидации схем и вывода типов в Zod 4. Помогает писать надёжные схемы, обрабатывать ошибки и находить устаревший синтаксис в TypeScript. CX Codex +1 476установок typescript Скилл с 44 правилами по типам, tsconfig и async-коду. Пригодится, когда агент правит конфиг компилятора или разбирает сложные дженерики. CX Codex +1 520установок playwright Скилл для Playwright в Next.js: 45 правил по 8 категориям — от архитектуры тестов до отладки в CI. Пригодится, когда тесты падают через раз. CX Codex +1 485установок ui-design Свод правил фронтенд-дизайна из 42 пунктов в 8 категориях. Помогает настроить доступность по WCAG, вёрстку и показатели Core Web Vitals. CX Codex +1 513установок tailwind Скилл с 42 правилами по Tailwind CSS v4: сборка, генерация CSS, размер бандла, темизация. Пригодится при миграции и настройке. CX Codex +1 512установок nextjs Скилл с 42 правилами по кэшированию, маршрутизации и серверным компонентам Next.js 16 App Router. Помогает агенту писать код по актуальным практикам. CX Codex +1 479установок feature-arch Скилл задаёт правила папок и границ модулей в React-проекте: 42 правила по 8 категориям, от структуры каталогов до имён файлов. CX Codex +1 473установок vercel-react-best-practices Скилл с 70 правилами оптимизации React и Next.js от Vercel. Пригодится при написании компонентов, рефакторинге и разборе проблем с производительностью. CX Codex +1 448установок

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

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