ckm:ui-styling
UI Styling Toolkit — shadcn/ui, Tailwind CSS & Canvas Design
Устраните проблемы UI-разработки, объединив доступную библиотеку компонентов shadcn/ui с утилитарным стилизатором Tailwind CSS и системами визуального дизайна на основе canvas. Этот навык предоставляет исчерпывающую справочную документацию для 40+ компонентов shadcn/ui, шаблоны темной темы и оформления, рекомендации по доступности, утилиты адаптивного дизайна и Python-скрипты для автоматизации установки компонентов и генерации конфигурации Tailwind.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «ckm:ui-styling». Установи компоненты shadcn/ui button, card и dialog и покажи мне панель настроек на основе карточек
Ожидаемый результат:
```bash
npx shadcn@latest add button card dialog
```
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
export function SettingsPanel() {
return (
<div className="container mx-auto p-6 space-y-6">
<Card>
<CardHeader>
<CardTitle>Profile Settings</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<p className="text-sm text-muted-foreground">
Manage your account settings and preferences
</p>
<Dialog>
<DialogTrigger asChild>
<Button variant="outline">Edit Profile</Button>
</DialogTrigger>
<DialogContent>
<DialogHeader>
<DialogTitle>Edit Profile</DialogTitle>
</DialogHeader>
<div className="space-y-4 py-4">
<p className="text-sm text-muted-foreground">
Profile editing form content here
</p>
<Button className="w-full">Save Changes</Button>
</div>
</DialogContent>
</Dialog>
</CardContent>
</Card>
</div>
)
}
```
Использование «ckm:ui-styling». Создай адаптивный заголовок с темной темой и навигацией с использованием shadcn/ui
Ожидаемый результат:
```tsx
import { Button } from "@/components/ui/button"
import {
NavigationMenu,
NavigationMenuList,
NavigationMenuItem,
NavigationMenuLink,
} from "@/components/ui/navigation-menu"
import { Moon, Sun } from "lucide-react"
import { useTheme } from "next-themes"
export function Header() {
const { theme, setTheme } = useTheme()
return (
<header className="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
<div className="container flex h-16 items-center justify-between">
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuLink className="font-bold text-xl">
Logo
</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
<Button
variant="ghost"
size="icon"
onClick={() => setTheme(theme === "dark" ? "light" : "dark")}
>
<Sun className="h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
<Moon className="absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
</Button>
</div>
</header>
)
}
```
Аудит безопасности
Низкий рискThis skill is safe to publish. It provides UI component documentation and styling guidance. The only executable code is two Python utility scripts: shadcn_add.py (installs shadcn/ui components via npx subprocess) and tailwind_config_gen.py (generates Tailwind CSS config files). The subprocess.run() calls in shadcn_add.py use hardcoded command arguments (npx shadcn@latest add) with dry-run support, making them low-risk. All 770 static analysis findings were reviewed - the vast majority are false positives from font license files (SIL OFL text with URLs), SQLite coverage database binary data, and documentation markdown files containing code examples. No obfuscation, network callbacks, credential access, or dangerous code injection patterns were found.
Проблемы низкого риска (2)
Факторы риска
⚙️ Внешние команды (2)
⚡ Содержит скрипты (2)
📁 Доступ к файловой системе (2)
Оценка качества
Что вы можете построить
Создание панелей администрирования
Быстрая сборка интерфейсов администратора с таблицами данных, меню навигации, формами с валидацией и адаптивными карточными макетами с использованием компонентов shadcn/ui и утилитарных классов Tailwind.
Внедрение дизайн-систем
Создание согласованных токенов дизайна в проекте путем генерации конфигурации Tailwind с собственными цветами, шрифтами, отступами и контрольными точками с последующим применением к темизированным компонентам shadcn/ui.
Создание доступных форм
Разработка готовых к продакшену форм с полной поддержкой доступности с использованием компонентов форм shadcn/ui, react-hook-form для валидации и ARIA-совместимых шаблонов для клавиатурной навигации и скринридеров.
Быстрое прототипирование UI
Быстрое прототипирование концепций интерфейса путем установки компонентов shadcn/ui по требованию, применения адаптивных макетов Tailwind и итерации визуального дизайна с помощью утилитарных классов без написания собственного CSS.
Визуальные бренд-материалы
Создание визуальных композиций на canvas, постеров и бренд-материалов с использованием шаблонов дизайн-системы canvas, с доступом к подобранным шрифтовым парам и рекомендациям по дизайн-философии.
Попробуйте эти промпты
Установи следующие компоненты shadcn/ui для моего проекта: [button, card, dialog, form, table]. Затем покажи полный пример их использования, объединив их в [страницу панели управления / панель настроек / представление данных] с правильным расположением и поддержкой темной темы.
Сгенерируй tailwind.config.ts для моего проекта [Next.js / Vite / Astro] с: пользовательской цветовой палитрой [primary: blue, accent: purple], семейством шрифтов [Inter для sans, JetBrains Mono для mono], пользовательскими отступами [18: 4.5rem, 22: 5.5rem] и дополнительной контрольной точкой [3xl: 1920px]. Включи рекомендуемые плагины.
Создай адаптивный макет [панели управления / целевой страницы / панели настроек] с использованием компонентов shadcn/ui с: адаптивной сеткой по принципу mobile-first, переключателем темной темы, доступной навигацией с поддержкой клавиатуры и правильной семантической HTML-структурой.
Создай доступную форму [регистрации / обратной связи / оформления заказа] с использованием компонентов форм shadcn/ui с: валидацией полей через zod, обработкой состояний ошибок, состояниями загрузки при отправке, ARIA-метками для скринридеров, порядком табуляции с клавиатуры и управлением фокусом.
Создай визуальную композицию на canvas [постер / бренд-графику / иллюстрацию] с использованием дизайн-философии системы с: изысканной цветовой палитрой, типографической иерархией, пространственной композицией и визуальным воздействием музейного качества. Используй минимум текста.
Лучшие практики
- Собирайте сложные UI из простых, композируемых примитивов shadcn/ui вместо создания монолитных компонентов
- Используйте утилитарные классы Tailwind непосредственно в JSX; выделяйте переиспользуемые компоненты только когда один и тот же шаблон встречается 3+ раза
- Применяйте подход mobile-first: начинайте с базовых мобильных стилей, затем добавляйте адаптивные варианты (sm:, md:, lg:)
- Используйте встроенные возможности доступности Radix UI; всегда добавляйте видимые индикаторы фокуса и применяйте семантический HTML
- Поддерживайте согласованные токены дизайна: используйте шкалу отступов, цветовую палитру и систему типографики, определенные в tailwind.config
- Последовательно применяйте варианты dark: ко всем темизированным элементам, чтобы избежать частичного применения темной темы
- Используйте преимущества автоматической очистки CSS в Tailwind, избегая динамического конструирования имен классов
- Применяйте полную типобезопасность TypeScript с компонентами shadcn/ui для улучшения опыта разработки и раннего выявления ошибок
- Позволяйте визуальной композиции направлять внимание; осознанно используйте иерархию отступов, цвета и типографики
- Относитесь к UI как к ремеслу, где важна каждая деталь — от микро-взаимодействий до контрастности цветов
Избегать
- Динамическое конструирование имен классов Tailwind с помощью конкатенации строк (например, `bg-${color}-500`), что препятствует очистке CSS; используйте полные имена классов или опцию safelist
- Прямое переопределение исходных файлов компонентов shadcn/ui вместо использования системы темизации через CSS-переменные или слотов вариантов
- Вложение директив Tailwind @apply при выделении компонентов таким образом, что создаются конфликты специфичности
- Создание собственных реализаций модальных окон/диалогов, когда компоненты shadcn/ui Dialog или Drawer уже предоставляют доступные и протестированные оверлеи
- Реализация темной темы путем дублирования целых деревьев компонентов; используйте префикс варианта dark: для отдельных утилитарных классов
- Включение в проект файлов конфигурации Tailwind как .js, так и .ts (должен быть активен только один)
- Установка компонентов shadcn/ui без предварительной инициализации с помощью `npx shadcn@latest init` — требуется конфигурация components.json
- Использование canvas API для верстки и структуры вместо его предназначения: визуальные дизайн-композиции и графика
- Игнорирование стилей focus-visible для пользователей клавиатуры при реализации собственных обработчиков кликов на элементах, не являющихся кнопками
Часто задаваемые вопросы
Нужно ли что-то устанавливать перед использованием этого навыка?
Работает ли этот навык с фреймворками, отличными от React?
Можно ли использовать скрипты автоматизации в производственном CI/CD?
Что за шрифты включены в canvas-fonts и могу ли я использовать их на своем сайте?
Безопасно ли использовать этот навык с чувствительными проектами?
Сведения для разработчиков
Автор
nextlevelbuilderЛицензия
MIT
Репозиторий
https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/tree/main/.claude/skills/ui-styling/Ссылка
main
Структура файлов