ui-design-system
Enforce modern dashboard UI patterns with pill-shaped design, professional colour scheme, and typography standards. Use when building or reviewing UI components for the web application.
$ Installieren
git clone https://github.com/sgcarstrends/sgcarstrends /tmp/sgcarstrends && cp -r /tmp/sgcarstrends/apps/web/.claude/skills/ui-design-system ~/.claude/skills/sgcarstrends// tip: Run this command in your terminal to install the skill
SKILL.md
name: ui-design-system description: Enforce modern dashboard UI patterns with pill-shaped design, professional colour scheme, and typography standards. Use when building or reviewing UI components for the web application.
UI Design System Skill
This skill enforces consistent UI patterns across the SG Cars Trends web application, ensuring a modern, professional dashboard design.
When to Activate
- Building new dashboard components or pages
- Reviewing existing UI for consistency
- Implementing navigation, cards, buttons, or metrics displays
- Applying colour scheme or typography
- Creating new features that require UI components
- Migrating or refactoring existing components
Design Principles
- No sidebar - Horizontal pill navigation only
- Pill-shaped elements - Use
rounded-fullfor interactive elements - Large rounded cards - Use
rounded-2xlorrounded-3xl - Professional automotive aesthetic - Navy Blue primary, clean typography
- Generous whitespace - Grid-based layouts with
gap-6orgap-8
Colour Palette (GitHub Issue #406)
| Role | Colour | Hex | Tailwind Class |
|---|---|---|---|
| Primary | Navy Blue | #191970 | bg-primary, text-primary |
| Secondary | Slate Gray | #708090 | bg-secondary, text-secondary |
| Accent | Cyan | #00FFFF | bg-accent, text-accent |
| Background | Powder Blue | #B0E0E6 | bg-muted |
| Text | Dark Slate Gray | #2F4F4F | text-foreground |
Semantic Colour Usage
text-primary/bg-primary- Brand elements, primary buttonstext-foreground- Body text (Dark Slate Gray)text-default-900- Strong emphasis (H4 headings)text-default-600- Secondary text (TextSm)text-muted-foreground- Captions, metadata
Opacity Scale
text-foreground/60- Secondary texttext-foreground/40- Muted texttext-white- Only for image overlays
Component Patterns
Navigation (Horizontal Pill Tabs)
<div className="flex items-center gap-2 rounded-full border p-1">
<Button className="rounded-full" color="primary">Dashboard</Button>
<Button className="rounded-full" variant="light">Calendar</Button>
<Button className="rounded-full" variant="light">Projects</Button>
</div>
Cards
import { Card, CardHeader, CardBody } from "@heroui/card";
import Typography from "@web/components/typography";
<Card className="rounded-2xl shadow-sm">
<CardHeader className="flex flex-col items-start gap-2">
<Typography.H4>Card Title</Typography.H4>
<Typography.TextSm>Description text</Typography.TextSm>
</CardHeader>
<CardBody>{/* Content */}</CardBody>
</Card>
Buttons
- Primary:
<Button className="rounded-full" color="primary">Action</Button> - Secondary:
<Button className="rounded-full" variant="bordered">Cancel</Button> - Icon:
<Button className="rounded-full" isIconOnly><Icon /></Button>
Status Badges
<Chip className="rounded-full" color="success" size="sm">
<span className="mr-1">â</span> Done
</Chip>
<Chip className="rounded-full" color="warning" size="sm">
<span className="mr-1">â</span> Waiting
</Chip>
<Chip className="rounded-full" color="danger" size="sm">
<span className="mr-1">â</span> Failed
</Chip>
Metrics Display
<div className="flex flex-col gap-1">
<Typography.Caption>Total Registrations</Typography.Caption>
<div className="flex items-baseline gap-2">
<span className="font-bold text-3xl">46,500</span>
<Chip className="rounded-full" color="success" size="sm">+2.5%</Chip>
</div>
</div>
Typography Rules
Always use Typography components from @web/components/typography:
| Component | Usage | Styles |
|---|---|---|
Typography.H1 | Page titles | font-semibold text-4xl text-foreground |
Typography.H2 | Section titles | font-semibold text-3xl text-foreground |
Typography.H3 | Subsection titles | font-medium text-2xl text-foreground |
Typography.H4 | Card titles | font-medium text-xl text-default-900 |
Typography.TextLg | Lead paragraphs | text-lg text-foreground |
Typography.Text | Body text | text-base text-foreground |
Typography.TextSm | Secondary text | text-sm text-default-600 |
Typography.Label | Form labels | font-medium text-sm text-foreground |
Typography.Caption | Metadata | text-xs text-muted-foreground |
Enforcement Rules
- â
Always use
Typography.H4for CardHeader titles - â
Always use
Typography.TextSmfor CardHeader descriptions - â
Use
Typography.H2for section headings - â Avoid raw
<h1>,<h2>,<h3>,<h4>tags outside MDX content - â ïž Exception: Raw tags allowed for MDX blog content and image overlays
Layout Guidelines
Spacing
- Use
flex flex-col gap-*for vertical spacing (notspace-y-*) - Standard gaps:
gap-2,gap-4,gap-6,gap-8 - Avoid
margin-topfor sibling spacing
Grid Layouts
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<Card className="rounded-2xl">{/* ... */}</Card>
<Card className="rounded-2xl">{/* ... */}</Card>
<Card className="rounded-2xl">{/* ... */}</Card>
</div>
Anti-Patterns (What NOT to Do)
Navigation
- â Vertical sidebar navigation
- â Square/rectangular tabs
- â Dropdown-only navigation
Cards
- â Sharp corners (
rounded-none,rounded-sm) - â Heavy shadows (
shadow-lg,shadow-xl) - â Raw
<h3>tags in CardHeader
Buttons
- â Square buttons (
rounded-none,rounded-md) - â Hardcoded colours (
bg-blue-500) - â Missing hover states
Colours
- â Hardcoded hex values in components
- â
text-whiteoutside image overlays - â Inconsistent opacity values
Spacing
- â
space-y-*utilities - â
mt-*for sibling spacing - â Odd gap values (
gap-3,gap-5,gap-7)
Tools Used
- Read: Examine existing component implementations
- Grep: Find similar patterns in codebase
- Context7 MCP: Fetch latest HeroUI documentation
mcp__context7__resolve-library-id- Find library IDmcp__context7__get-library-docs- Get component docs
Accessibility Requirements (WCAG AA)
- Normal text: Minimum 4.5:1 contrast ratio
- Large text: Minimum 3:1 contrast ratio
- Interactive elements: Minimum 3:1 for focus indicators
- Information must not be conveyed by colour alone
- All interactive elements must be keyboard accessible
Related Documentation
apps/web/CLAUDE.md- Full UI guidelines- GitHub Issue #406 - Colour scheme specification
- HeroUI documentation - Component API reference
Repository

sgcarstrends
Author
sgcarstrends/sgcarstrends/apps/web/.claude/skills/ui-design-system
13
Stars
1
Forks
Updated1w ago
Added1w ago