Навыки ckm:ui-styling
🎨

ckm:ui-styling

Низкий риск ⚙️ Внешние команды⚡ Содержит скрипты📁 Доступ к файловой системе

UI Styling Toolkit — shadcn/ui, Tailwind CSS & Canvas Design

Устраните проблемы UI-разработки, объединив доступную библиотеку компонентов shadcn/ui с утилитарным стилизатором Tailwind CSS и системами визуального дизайна на основе canvas. Этот навык предоставляет исчерпывающую справочную документацию для 40+ компонентов shadcn/ui, шаблоны темной темы и оформления, рекомендации по доступности, утилиты адаптивного дизайна и Python-скрипты для автоматизации установки компонентов и генерации конфигурации Tailwind.

Поддерживает: Claude Codex Code(CC)
🥉 75 Бронза
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «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>
)
}
```

Аудит безопасности

Низкий риск
v1 • 5/26/2026

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.

44
Просканировано файлов
7,414
Проанализировано строк
5
находки
1
Всего аудитов
Проблемы низкого риска (2)
External command execution via subprocess.run
shadcn_add.py uses subprocess.run() to execute npx for installing shadcn/ui components. The commands are hardcoded to 'npx shadcn@latest add [components]' which is expected behavior for a component installer. A dry-run mode prevents actual execution. Risk is low because: (1) the command base is hardcoded, (2) it only adds shadcn/ui components, (3) dry-run flag is available, and (4) the skill is only invoked by AI assistants where the user has already consented to tool execution.
Script filesystem write operations
tailwind_config_gen.py writes configuration files to disk and reads from the filesystem. shadcn_add.py reads components.json config and writes component files via npx. These are intentional, documented features for legitimate project configuration.

Факторы риска

Проверено: claude

Оценка качества

68
Архитектура
100
Сопровождаемость
87
Контент
39
Сообщество
86
Безопасность
74
Соответствие спецификации

Что вы можете построить

Создание панелей администрирования

Быстрая сборка интерфейсов администратора с таблицами данных, меню навигации, формами с валидацией и адаптивными карточными макетами с использованием компонентов shadcn/ui и утилитарных классов Tailwind.

Внедрение дизайн-систем

Создание согласованных токенов дизайна в проекте путем генерации конфигурации Tailwind с собственными цветами, шрифтами, отступами и контрольными точками с последующим применением к темизированным компонентам shadcn/ui.

Создание доступных форм

Разработка готовых к продакшену форм с полной поддержкой доступности с использованием компонентов форм shadcn/ui, react-hook-form для валидации и ARIA-совместимых шаблонов для клавиатурной навигации и скринридеров.

Быстрое прототипирование UI

Быстрое прототипирование концепций интерфейса путем установки компонентов shadcn/ui по требованию, применения адаптивных макетов Tailwind и итерации визуального дизайна с помощью утилитарных классов без написания собственного CSS.

Визуальные бренд-материалы

Создание визуальных композиций на canvas, постеров и бренд-материалов с использованием шаблонов дизайн-системы canvas, с доступом к подобранным шрифтовым парам и рекомендациям по дизайн-философии.

Попробуйте эти промпты

Установка и использование компонентов shadcn/ui
Установи следующие компоненты shadcn/ui для моего проекта: [button, card, dialog, form, table]. Затем покажи полный пример их использования, объединив их в [страницу панели управления / панель настроек / представление данных] с правильным расположением и поддержкой темной темы.
Генерация пользовательской конфигурации Tailwind
Сгенерируй 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
Создай визуальную композицию на 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 для пользователей клавиатуры при реализации собственных обработчиков кликов на элементах, не являющихся кнопками

Часто задаваемые вопросы

Нужно ли что-то устанавливать перед использованием этого навыка?
Да. Этот навык предоставляет справочную документацию и скрипты автоматизации, но сами компоненты shadcn/ui необходимо установить в ваш проект. Вам потребуется: Node.js (для npx), проект на React/Next.js/Vite, и следует сначала выполнить `npx shadcn@latest init` для настройки конфигурации. Python-скрипты автоматизации требуют Python 3.x без внешних зависимостей.
Работает ли этот навык с фреймворками, отличными от React?
shadcn/ui в первую очередь предназначен для React-фреймворков (Next.js, Vite, Remix, Astro). Справочные материалы по Tailwind CSS и система canvas-дизайна не зависят от фреймворка. Генератор конфигурации поддерживает фреймворки React, Vue, Svelte и Next.js для путей к контенту.
Можно ли использовать скрипты автоматизации в производственном CI/CD?
Скрипты включают флаг --dry-run, который показывает, что будет выполнено, без внесения изменений. Установщик компонентов (shadcn_add.py) запускает npx, который загружает пакеты из npm. В производственных CI-средах вы можете зафиксировать версию shadcn или использовать офлайн-зеркала.
Что за шрифты включены в canvas-fonts и могу ли я использовать их на своем сайте?
Директория canvas-fonts/ содержит TTF-файлы шрифтов и их текстовые файлы лицензии SIL Open Font License (OFL). Эти шрифты распространяются по лицензии SIL OFL, которая допускает свободное использование, модификацию и распространение. Они предназначены для визуальных дизайн-композиций на canvas в рамках этого навыка.
Безопасно ли использовать этот навык с чувствительными проектами?
Да. Навык прошел аудит безопасности и получил оценку низкого риска. Единственные выполняемые внешние команды — это `npx shadcn@latest add` (установка компонентов) с жестко заданной командой. Все Python-скрипты имеют режимы сухого прогона. Не выполняется никаких операций с переменными окружения, сетевыми обратными вызовами или доступом к учетным данным. Обафусцированного кода не обнаружено.

Сведения для разработчиков

Автор

nextlevelbuilder

Лицензия

MIT

Ссылка

main

Структура файлов

📁 canvas-fonts/

📄 ArsenalSC-OFL.txt

📄 ArsenalSC-Regular.ttf

📄 BigShoulders-Bold.ttf

📄 BigShoulders-OFL.txt

📄 BigShoulders-Regular.ttf

📄 Boldonse-OFL.txt

📄 Boldonse-Regular.ttf

📄 BricolageGrotesque-Bold.ttf

📄 BricolageGrotesque-OFL.txt

📄 BricolageGrotesque-Regular.ttf

📄 CrimsonPro-Bold.ttf

📄 CrimsonPro-Italic.ttf

📄 CrimsonPro-OFL.txt

📄 CrimsonPro-Regular.ttf

📄 DMMono-OFL.txt

📄 DMMono-Regular.ttf

📄 EricaOne-OFL.txt

📄 EricaOne-Regular.ttf

📄 GeistMono-Bold.ttf

📄 GeistMono-OFL.txt

📄 GeistMono-Regular.ttf

📄 Gloock-OFL.txt

📄 Gloock-Regular.ttf

📄 IBMPlexMono-Bold.ttf

📄 IBMPlexMono-OFL.txt

📄 IBMPlexMono-Regular.ttf

📄 IBMPlexSerif-Bold.ttf

📄 IBMPlexSerif-BoldItalic.ttf

📄 IBMPlexSerif-Italic.ttf

📄 IBMPlexSerif-Regular.ttf

📄 InstrumentSans-Bold.ttf

📄 InstrumentSans-BoldItalic.ttf

📄 InstrumentSans-Italic.ttf

📄 InstrumentSans-OFL.txt

📄 InstrumentSans-Regular.ttf

📄 InstrumentSerif-Italic.ttf

📄 InstrumentSerif-Regular.ttf

📄 Italiana-OFL.txt

📄 Italiana-Regular.ttf

📄 JetBrainsMono-Bold.ttf

📄 JetBrainsMono-OFL.txt

📄 JetBrainsMono-Regular.ttf

📄 Jura-Light.ttf

📄 Jura-Medium.ttf

📄 Jura-OFL.txt

📄 LibreBaskerville-OFL.txt

📄 LibreBaskerville-Regular.ttf

📄 Lora-Bold.ttf

📄 Lora-BoldItalic.ttf

📄 Lora-Italic.ttf

📄 Lora-OFL.txt

📄 Lora-Regular.ttf

📄 NationalPark-Bold.ttf

📄 NationalPark-OFL.txt

📄 NationalPark-Regular.ttf

📄 NothingYouCouldDo-OFL.txt

📄 NothingYouCouldDo-Regular.ttf

📄 Outfit-Bold.ttf

📄 Outfit-OFL.txt

📄 Outfit-Regular.ttf

📄 PixelifySans-Medium.ttf

📄 PixelifySans-OFL.txt

📄 PoiretOne-OFL.txt

📄 PoiretOne-Regular.ttf

📄 RedHatMono-Bold.ttf

📄 RedHatMono-OFL.txt

📄 RedHatMono-Regular.ttf

📄 Silkscreen-OFL.txt

📄 Silkscreen-Regular.ttf

📄 SmoochSans-Medium.ttf

📄 SmoochSans-OFL.txt

📄 Tektur-Medium.ttf

📄 Tektur-OFL.txt

📄 Tektur-Regular.ttf

📄 WorkSans-Bold.ttf

📄 WorkSans-BoldItalic.ttf

📄 WorkSans-Italic.ttf

📄 WorkSans-OFL.txt

📄 WorkSans-Regular.ttf

📄 YoungSerif-OFL.txt

📄 YoungSerif-Regular.ttf

📁 references/

📄 canvas-design-system.md

📄 shadcn-accessibility.md

📄 shadcn-components.md

📄 shadcn-theming.md

📄 tailwind-customization.md

📄 tailwind-responsive.md

📄 tailwind-utilities.md

📁 scripts/

📁 tests/

📄 coverage-ui.json

📄 requirements.txt

📄 test_shadcn_add.py

📄 test_tailwind_config_gen.py

📄 requirements.txt

📄 shadcn_add.py

📄 tailwind_config_gen.py

📄 LICENSE.txt

📄 SKILL.md