uiux
dlupiak/claude-session-dashboard/.claude/skills/uiux/SKILL.md
Dashboard design system — colors, typography, spacing, components, and visual patterns for the session dashboard UI.
Skill66 starsChanged 7 months ago
What's in it
- Dashboard Design System
- Theme
- Tailwind Theme
- Colors
- Data Visualization Colors
- Component Patterns
- Layout
- Header & Navigation
- Favicon
- Typography
- Visual Rules
---
name: uiux
description: Dashboard design system — colors, typography, spacing, components, and visual patterns for the session dashboard UI.
user-invocable: false
---
# Dashboard Design System
## Theme
Dark theme dashboard with warm gray tones and terracotta brand accent, optimized for developer tooling and data visualization.
## Tailwind Theme
Uses Tailwind CSS v4 with CSS-first config (`@import 'tailwindcss'` in `app.css`).
Custom `@theme` block overrides default cool grays with warm grays and adds a `brand-*` terracotta accent scale.
### Colors
#### Warm Gray Scale (overrides Tailwind defaults)
| Token | Hex | Usage |
|-------|-----|-------|
| `gray-950` | `#141413` | Body/page background |
| `gray-900` | `#1c1c1a` | Card/panel background (with `/50` opacity) |
| `gray-800` | `#2a2926` | Borders, dividers |
| `gray-700` | `#3d3b36` | Subtle fills, inactive bars |
| `gray-600` | `#565349` | Disabled states |
| `gray-500` | `#7a7668` | Muted text, timestamps, labels |
| `gray-400` | `#a39e90` | Secondary text, descriptions |
| `gray-300` | `#cdc8b8` | Headings, panel titles |
| `gray-100` | `#eae6dc` | Primary text |
| `white` | | Emphasis text, hero numbers |
#### Brand Accent (terracotta)
| Token | Hex | Usage |
|-------|-----|-------|
| `brand-300` | `#f0b8a0` | Light accent text |
| `brand-400` | `#e09070` | Links, input tokens, active elements |
| `brand-500` | `#d97757` | Primary accent, tab indicators, logo highlight |
| `brand-600` | `#c4643f` | Buttons, toggles |
| `brand-700` | `#a8512e` | Dark accent |
#### Semantic Colors (unchanged)
| Token | Usage |
|-------|-------|
| `emerald-400` | Success / output tokens |
| `amber-400` / `amber-500` | Warning / cache tokens |
| `purple-400` / `purple-500` | Cache creation, system overhead |
| `red-400` | Error messages, limits |
### Data Visualization Colors
| Category | Color |
|----------|-------|
| Primary / Messages | `brand-500` (`#d97757`) |
| Input tokens | `brand-400` (`#e09070`) |
| Output tokens | `emerald-400` |
| Cache read | `amber-400` |
| Cache creation | `purple-400` |
| System overhead | `purple-500` |
| Free space | `gray-700` |
#### Chart COLORS Array
```ts
const COLORS = ['#d97757', '#8b5cf6', '#10b981', '#f59e0b', '#ef4444', '#b07cc5']
```
#### Heatmap Intensity Scale
```ts
const INTENSITY_COLORS = ['#2a2926', '#3d2a1e', '#a8512eb3', '#d97757cc', '#e09070']
```
#### Tooltip Styling
```ts
{ backgroundColor: '#1c1c1a', border: '1px solid #3d3b36' }
```
#### Grid/Tick Colors
- Grid stroke: `#2a2926`
- Tick fill: `#7a7668`
## Component Patterns
| Component | Classes |
|-----------|---------|
| Panel/Card | `rounded-xl border border-gray-800 bg-gray-900/50 p-4` |
| Panel title | `text-sm font-semibold text-gray-300` |
| Hero number | `text-2xl font-bold text-white` |
| Subtitle | `text-[10px] text-gray-500` |
| Label | `text-xs text-gray-400` |
| Mono value | `text-xs font-mono text-gray-300` |
| Badge | `rounded bg-gray-800 px-1.5 py-0.5 text-[10px] font-mono text-gray-400` |
| Bar track | `h-2 rounded-full bg-gray-800 overflow-hidden` |
| Link | `text-sm text-brand-400 hover:underline` |
| Muted link | `text-xs text-gray-500 hover:text-gray-300` |
| Active button | `bg-brand-600 text-white hover:bg-brand-500` |
| Focus ring | `focus:border-brand-500 focus:ring-brand-500` |
| Active tab | `border-brand-500 text-white` |
| Toggle on | `bg-brand-600` |
## Layout
- 2-column grid at `md:` breakpoint for stat panels
- Full-width panels for timeline, agents, tasks
- Consistent `gap-4` between grid items
- `mt-6` between major page sections
- `space-y-2` for list items within panels
## Header & Navigation
- Logo: `<span className="text-brand-500">Claude</span> Dashboard`
- Nav icons: inline SVG icons (16x16) instead of ASCII characters
- Footer: GitHub + npm icon links with `text-gray-500 hover:text-gray-300`
## Favicon
- SVG terminal prompt icon at `public/favicon.svg`
- Uses brand color `#d97757`
- Meta theme-color: `#141413` (matches `gray-950`)
## Typography
- Font: system monospace for values, default sans for labels
- Never use font weights heavier than `font-bold`
- Use `font-mono` for numeric values, IDs, model names
- Token counts formatted with K/M suffixes (e.g., `29.5K`, `8.3M`)
## Visual Rules
1. **Dark-first** -- all backgrounds are dark warm gray, text is light
2. **Subtle borders** -- `border-gray-800` only, no shadows
3. **Rounded panels** -- `rounded-xl` for cards, `rounded-full` for bars/badges
4. **Opacity for bars** -- colored bar segments use `opacity-60`
5. **Compact density** -- small text sizes (`text-xs`, `text-[10px]`), tight spacing
6. **Recharts styling** -- dark tooltips (`bg-gray-800`), no grid lines, subtle reference lines
7. **Brand accent** -- use `brand-*` (terracotta) instead of `blue-*` for all interactive/accent elements
More agent context in dlupiak/claude-session-dashboard
17 other files this repository gives its agents.
CLAUDE.md
Skill
- analyze-skills.claude/skills/analyze-skills/SKILL.md
- dashboard.claude/skills/dashboard/SKILL.md
- feature.claude/skills/feature/SKILL.md
- fix-ci.claude/skills/fix-ci/SKILL.md
- fix-issue.claude/skills/fix-issue/SKILL.md
- investigate.claude/skills/investigate/SKILL.md
- open-issue.claude/skills/open-issue/SKILL.md
- playwright-cli.claude/skills/playwright-cli/SKILL.md
- quality-check.claude/skills/quality-check/SKILL.md
- react-rules.claude/skills/react-rules/SKILL.md
- review.claude/skills/review/SKILL.md
- sdlc.claude/skills/sdlc/SKILL.md
- ship.claude/skills/ship/SKILL.md
- tanstack-start.claude/skills/tanstack-start/SKILL.md
- testing.claude/skills/testing/SKILL.md
- typescript-rules.claude/skills/typescript-rules/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

