Dashboard Design Agent Skill
Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.
The Skill
Full content, every format. Copy it, download it, or install with one command.
---
description: Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.
homepage: https://yepapi.com/skills/dashboard-design
metadata:
tags: [dashboard, layout, kpi, tables]
---
# Dashboard Design
## Rules
- Sidebar + main content layout: fixed sidebar (w-64), fluid main area with padding
- Sidebar navigation: icon + label links, active state highlight, collapsible on mobile
- KPI cards row at top: 3-4 cards in a responsive grid — metric name, value, trend (up/down %), sparkline optional
- Data tables: sortable columns, filterable by search/status, paginated (10-25 rows default)
- Use `@tanstack/react-table` for headless table logic — pair with shadcn/ui Table components
- Responsive: sidebar collapses to hamburger menu at `md` breakpoint, cards stack to 1-2 columns
- Loading states: skeleton placeholders matching card/table shapes — never layout shift
- Date range picker for filtering dashboard data — default to last 30 days
## Layout Structure
```
┌──────────┬────────────────────────────┐
│ Sidebar │ Header / Breadcrumbs │
│ ├────────────────────────────┤
│ Nav │ KPI Cards (3-4 grid) │
│ Links ├────────────────────────────┤
│ │ Charts / Graphs │
│ ├────────────────────────────┤
│ │ Data Table │
└──────────┴────────────────────────────┘
```
## Patterns
```tsx
// KPI Card
function KPICard({ title, value, change }: { title: string; value: string; change: number }) {
return (
<Card>
<CardHeader className="pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">{title}</CardTitle>
</CardHeader>
<CardContent>
<div className="text-2xl font-bold">{value}</div>
<p className={cn("text-xs", change >= 0 ? "text-green-600" : "text-red-600")}>
{change >= 0 ? "+" : ""}{change}% from last period
</p>
</CardContent>
</Card>
);
}
```
## Avoid
- Fixed-width main content — always use fluid layout that fills available space
- Tables without pagination — large datasets kill performance and usability
- Missing loading/empty states — always show skeletons or "No data" messaging
- Sidebar that cannot collapse — mobile users need the full viewport width
- Loading spinners for partial page updates — use skeletons for specific sections
- Cramming too many KPIs — highlight 3-5 critical metrics, put rest in expandable sections
- Custom sidebar from scratch — use shadcn's sidebar component
- Empty states without actions — always include a CTA ("No campaigns yet. Create your first →")Install
Why Use the Dashboard Design Skill?
Without this skill, your AI guesses at dashboard design patterns. It might hallucinate deprecated APIs, use outdated conventions, or miss best practices entirely. With it, your AI follows a proven ruleset — every suggestion aligns with current standards.
Drop this skill into your project and your AI instantly knows the rules. Better code suggestions, fewer errors, faster shipping.
Try These Prompts
These prompts work better with the Dashboard Design skill installed. Your AI knows the context and writes code that fits.
"Build a responsive dashboard with sidebar navigation, KPI cards, and data tables"
"Create a dashboard layout with collapsible sidebar, breadcrumbs, and tab navigation"
"Design a metrics dashboard with sortable tables, sparkline charts, and filter controls"
Works Great With
Dashboard Design skill — FAQ
It provides layout grids, KPI card patterns, data tables with sorting and filtering, and sidebar navigation. Your AI builds professional dashboards with consistent component patterns.
Run `npx skills add YepAPI/skills --skill dashboard-design` in your project root. This copies the skill file into your repo where your AI coding tool can read it automatically.
The skill covers sidebar navigation, KPI cards, data tables with sorting and filtering, breadcrumbs, and tab layouts. It provides responsive breakpoints so dashboards work on tablets and mobile.