Design and build production-grade UI components for Docyrus React applications using preferred component libraries. Use when creating dashboards, forms, data tables, layouts, or any UI elements. Triggers on tasks involving component selection, UI design, dashboard creation, layout design, shadcn, diceui, animate-ui, docyrus-ui, reui components, or requests to build user interfaces.
Resources
1Install
npx skillscat add docyrus/agent-skills/docyrus-app-ui-design Install via the SkillsCat registry.
Docyrus App UI Design
Build polished, accessible UI components for Docyrus React applications using a curated set of 127+ pre-built components from shadcn, diceui, animate-ui, docyrus-ui, and reui libraries.
Component Library Preferences
Primary component libraries (in order of preference):
- shadcn — 43 core components (buttons, forms, dialogs, tables, charts)
- diceui — 42 advanced components (data grids, kanban, file upload, color picker)
- animate-ui — 21 animated components (sidebar, dialogs, cards, menus)
- docyrus — 19 Docyrus-specific components (data grid, form fields, value renderers)
- reui — 2 utility components (file upload, sortable)
Total available: 127 components
Critical Design Rules
- Always check preferred components first — Before implementing any new component, search the preferred components reference to find an existing match.
- Use AwesomeCard for dashboards — Unless the user specifically requests a different card design, use
@docyrus/ui-awesome-cardfor dashboard stat cards and metrics. - Use animate-ui Sidebar for layouts — Unless the user requests a different layout, use
@animate-ui/sidebarfor app navigation. - Prefer Recharts for charting — Use Recharts as the first choice for all data visualization needs. shadcn Chart components are built on Recharts.
- Icon library preference order:
- First choice: hugeicons
- Second choice: fontawesome light
- Third choice: lucide-icons
Quick Start Patterns
Dashboard with AwesomeCard
import { AwesomeCard } from '@/components/ui/awesome-card'
import { HugeIcon } from '@/components/ui/icons'
<AwesomeCard
title="Total Revenue"
value="$124,500"
icon={<HugeIcon name="dollar-circle" />}
trend={{ value: 12.5, direction: 'up' }}
/>App Layout with animate-ui Sidebar
import { Sidebar, SidebarContent, SidebarHeader } from '@/components/ui/sidebar'
<Sidebar>
<SidebarHeader>
<AppLogo />
</SidebarHeader>
<SidebarContent>
<NavItems />
</SidebarContent>
</Sidebar>Data Table with diceui
import { DataTable } from '@/components/ui/data-table'
<DataTable
columns={columns}
data={projects}
enableFiltering
enableSorting
enablePagination
/>Charts with shadcn + Recharts
import { ChartContainer, ChartTooltip } from '@/components/ui/chart'
import { LineChart, Line, XAxis, YAxis } from 'recharts'
<ChartContainer>
<LineChart data={chartData}>
<XAxis dataKey="month" />
<YAxis />
<ChartTooltip />
<Line type="monotone" dataKey="revenue" />
</LineChart>
</ChartContainer>Component Selection Strategy
When the user requests a UI component:
- Search the reference — Check
references/preferred-components-catalog.mdfor existing components by name, category, or functionality - Match by use case — If multiple options exist, prefer:
- shadcn for basic/common components
- diceui for advanced/specialized components
- animate-ui for components requiring animation/transitions
- docyrus for Docyrus-specific data handling
- Install the component — Use the registry install command from the catalog
- Reference the docs — Point to the component's doc file for detailed usage
Installation Pattern
All components follow the shadcn registry pattern:
# shadcn components
pnpm dlx shadcn@latest add button
# diceui components
pnpm dlx shadcn@latest add @diceui/data-table
# animate-ui components
pnpm dlx shadcn@latest add @animate-ui/sidebar
# docyrus components
pnpm dlx shadcn@latest add @docyrus/ui-awesome-card
# reui components
pnpm dlx shadcn@latest add @reui/file-upload-defaultCommon Use Cases
| Use Case | Preferred Component | Library |
|---|---|---|
| Dashboard cards | AwesomeCard | docyrus |
| App navigation | Sidebar | animate-ui |
| Data tables | DataTable | diceui |
| Editable grids | Data Grid | docyrus |
| Forms | Form Fields | docyrus |
| File upload | File Upload | diceui |
| Charts | Chart + Recharts | shadcn |
| Dialogs | Responsive Dialog | diceui |
| Date picker | Date Time Picker | docyrus |
| Color picker | Color Picker | diceui |
| Kanban board | Kanban | diceui |
| Timeline | Timeline | diceui |
| Rating | Rating | diceui |
References
Read these files for detailed component information:
references/preferred-components-catalog.md— Complete catalog of all 127 components with descriptions, install commands, and doc pathsreferences/component-selection-guide.md— Decision trees and guidelines for choosing the right component for each use casereferences/icon-usage-guide.md— Icon library integration patterns and usage examples for hugeicons, fontawesome, and lucide
Integration with docyrus-app-dev
This skill works alongside docyrus-app-dev for full-stack app development:
- docyrus-app-dev handles data fetching, collections, queries, auth
- docyrus-app-ui-design handles component selection, UI design, layout
When building a feature:
- Use
docyrus-app-devto set up data queries and mutations - Use
docyrus-app-ui-designto select and implement UI components - Combine them for complete, polished features