UI Development Skill: ACP Design System
Overview
The UI Development Skill provides a comprehensive design system for Alauda Container Platform (ACP). It encodes the complete visual identity, design tokens, and implementation guidelines that ensure consistency across all ACP user interfaces.
This skill is designed to be used company-wide by:
- Frontend developers building new UI features
- Product designers maintaining visual consistency
- Full-stack engineers integrating design tokens into applications
- Teams adopting ACP design standards
Visual Identity
Color Philosophy
ACP uses a professional, cool-toned palette emphasizing clarity and information hierarchy:
- Primary Blues: Professional, trustworthy feeling (backgrounds, panels, info states)
- Success Greens: Positive, completion states (confirmations, successful operations)
- Process Teals: Active workflow states (investigations, pending operations)
- Neutral Grays: Hierarchy and separation (borders, dividers, subtle elements)
Color Palette
Light Mode (Default)
| Category |
Color |
Hex |
Usage |
| Backgrounds |
Main |
#ffffff |
Primary content areas |
|
Primary BG |
#f4f6f8 |
Top chrome, secondary panels |
|
Panel BG |
#eef4ff |
Left sidebars, guidance areas |
| Accents |
Info BG |
#e3f2fd |
Alert boxes, key information |
|
Info Border |
#90caf9 |
Info element borders |
| Success |
Success BG |
#d7f5e9 |
Success states, completion |
|
Success Border |
#4caf50 |
Success indicators |
| Process |
Process BG |
#e8f2ff |
Processing steps, workflows |
|
Process Border |
#2196f3 |
Process state indicators |
| Teal |
Teal BG |
#e0f2f1 |
Hypothesis/investigation states |
|
Teal Border |
#4db6ac |
Teal state indicators |
| Borders |
Primary |
#cbd7e0 |
Panel borders, main dividers |
|
Secondary |
#cbd5e1 |
Card separators, subtle lines |
Dark Mode
Dark mode variants maintain WCAG AA contrast ratios while preserving visual hierarchy:
| Category |
Color |
Hex |
Usage |
| Backgrounds |
Main |
#1a1a1a |
Primary content areas |
|
Primary BG |
#2d3748 |
Top chrome, secondary panels |
|
Panel BG |
#1e3a5f |
Left sidebars, guidance areas |
| Accents |
Info BG |
#1e3a8a |
Alert boxes |
|
Info Border |
#60a5fa |
Info element borders |
| Success |
Success BG |
#064e3b |
Success states |
|
Success Border |
#10b981 |
Success indicators |
| Process |
Process BG |
#1e40af |
Processing steps |
|
Process Border |
#3b82f6 |
Process indicators |
| Teal |
Teal BG |
#134e4a |
Hypothesis states |
|
Teal Border |
#14b8a6 |
Teal indicators |
| Borders |
Primary |
#4b5563 |
Panel borders |
|
Secondary |
#555d6f |
Card separators |
Spacing System
ACP uses a 10px base unit grid system:
4px (1 unit)
8px (2 units)
12px (3 units)
16px (4 units) - Standard padding/margin
20px (5 units)
24px (6 units) - Large spacing
32px (8 units) - Section spacing
48px (12 units)
64px (16 units) - Major section gaps
Typography
Font Stack (System Fonts)
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif;
Font Sizes
- Body: 14px / 1.5 line-height
- Small: 12px / 1.4 line-height
- Large: 16px / 1.6 line-height
- Heading 4: 18px / 1.4 line-height, 500 weight
- Heading 3: 20px / 1.3 line-height, 600 weight
- Heading 2: 24px / 1.2 line-height, 600 weight
- Heading 1: 32px / 1.1 line-height, 700 weight
Font Weights
- 300: Light
- 400: Regular (default)
- 500: Medium (interactive, accents)
- 600: Semi-bold (subheadings)
- 700: Bold (main headings)
Effects & Interactions
Border Radius
- Subtle: 4px (form inputs, small elements)
- Standard: 8px (cards, buttons)
- Large: 12px (panels, containers)
- Extra Large: 16px (major sections)
Shadows
- Subtle:
0 1px 2px rgba(0, 0, 0, 0.05)
- Medium:
0 4px 6px rgba(0, 0, 0, 0.1)
- Strong:
0 10px 15px rgba(0, 0, 0, 0.15)
Transitions
- Fast: 200ms (micro-interactions, hovers)
- Standard: 300ms (modal opens, page transitions)
- Slow: 500ms (complex animations)
Design Patterns
Card Pattern
Cards are the fundamental building block of ACP interfaces:
- White background (#ffffff light, #2d3748 dark)
- Subtle border: 1px solid (#cbd7e0 light, #4b5563 dark)
- Border radius: 8px
- Padding: 16px (4 units)
- Standard shadow
Variants:
- Alert Card: Blue background (#e3f2fd light) for informational content
- Success Card: Green background (#d7f5e9 light) for completion states
- Process Card: Teal background (#e0f2f1 light) for workflow states
Color Usage Guidelines
Info States (Blue)
- Use for informational alerts, monitor updates, guidance
- Blue encourages reading and attention without alarm
Success States (Green)
- Use for completion, confirmations, successful operations
- Green = "action completed successfully"
Process States (Teal)
- Use for investigation steps, workflow states, pending operations
- Teal indicates "something is being processed or analyzed"
Warning States (Orange/Amber)
- Reserved for warnings and cautions (not fully implemented yet)
- Use sparingly to indicate issues requiring attention
Error States (Red)
- Reserved for critical errors (not in current palette)
- Use for failures and critical alerts
Layout Patterns
Standard Layout
- Header/Chrome - Navigation and title bar (24px height typically)
- Left Sidebar - Guidance, prompts, navigation (280-320px wide)
- Content Area - Main content (flexible width)
- Right Panel (optional) - Details, sidebar (240-280px wide)
Responsive Behavior
- Mobile (< 768px): Stack vertically, hide sidebars or use drawer
- Tablet (768px - 1024px): Collapse sidebar to icons
- Desktop (> 1024px): Full layout
Component Patterns
Interactive States
Buttons/Controls
- Default: Base color with standard shadow
- Hover: 1 shade darker, medium shadow
- Active: 2 shades darker, strong shadow
- Disabled: Gray (#cbd7e0 light), no shadow, 50% opacity text
Form Inputs
- Default: White bg, subtle border
- Focus: Info border color, medium shadow
- Disabled: Gray bg, border, reduced opacity
- Error: Red border, error background tint
Data Display
Tables
- Header row: Primary background color
- Alternating rows: White and #f4f6f8
- Hover row: #eef4ff highlight
- Borders: Secondary color between rows
Status Indicators
- Success badge: Green background + white text
- Warning badge: Orange background + white text
- Error badge: Red background + white text
- Info badge: Blue background + white text
Localization
ACP interfaces support English and Simplified Chinese.
Guidelines:
- All text strings should use tokens for dynamic language switching
- Chinese text requires adjusted line heights (1.6-1.8) due to character complexity
- Consider text expansion in layouts (Chinese is more compact than English)
- Use font stacks that support Chinese characters properly
Accessibility (WCAG AA Compliance)
Color Contrast
All color combinations meet WCAG AA minimum 4.5:1 contrast ratio for text:
- Body text (14px): 4.5:1 minimum
- Large text (18px+): 3:1 minimum
- UI components: 3:1 minimum
Keyboard Navigation
- All interactive elements must be keyboard accessible
- Focus indicators must be visible (use info border color)
- Tab order should follow logical reading order
- Proper semantic HTML (
<button>, <a>, form elements)
Screen Readers
- Use semantic HTML structure
- Provide
alt text for meaningful images
- Use ARIA labels for complex interactions
- Proper heading hierarchy (
<h1> to <h6>)
Dark Mode Implementation
Usage Detection
// CSS Media Query (preferred)
@media (prefers-color-scheme: dark) {
/* dark mode styles */
}
// Or with CSS class (for manual toggle)
.dark { /* dark mode styles */ }
// Or in JavaScript
const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
Token Adaptation
When implementing dark mode:
- Use CSS custom properties for color swaps
- Maintain all contrast ratios
- Keep accent colors consistent with brand
- Test all color combinations for readability
- Ensure dark backgrounds don't cause eye strain
Integration Guides
With Next.js + Tailwind CSS
- Use
tailwind.config.js from /tokens/
- Extend with Tailwind's theme configuration
- Access colors via Tailwind classes:
bg-acp-blue-50, text-acp-green-600
- Dark mode via
dark: prefix: dark:bg-acp-blue-900
With CSS Variables
- Import
design-tokens.css in your main stylesheet
- Use variables:
background: var(--color-primary-bg)
- Override for dark mode in media query
- Variables are namespaced:
--color-*, --space-*, --font-*
With TypeScript
- Import from
design-tokens.ts: import { designTokens } from '@acp/tokens'
- Use in styled-components or CSS-in-JS:
color: designTokens.colors.primary.blue
- Type-safe token access with IntelliSense
- Easy refactoring across codebase
Common Usage Patterns
Semantic Color Names
Prefer semantic names over raw hex values:
- ✅
background-color: var(--color-success-bg);
- ❌
background-color: #d7f5e9;
Spacing Scales
Always use spacing tokens:
- ✅
padding: var(--space-4); (16px)
- ❌
padding: 16px;
Typography Pairs
Follow established typography hierarchy:
- ✅
<h2>Heading</h2> with Heading 2 style + <p>Body</p> with Body style
- ❌ Mixing font sizes randomly
Dark Mode Testing
Always test designs in both modes:
- Compare light mode to dark mode side-by-side
- Check all color contrasts in dark mode
- Verify text readability on dark backgrounds
- Test interactive states in both modes
File Structure
This skill provides several token export formats:
- TypeScript (
design-tokens.ts) - For Next.js/React projects
- CSS (
design-tokens.css) - For any CSS project
- JSON (
design-tokens.json) - For design tools and automation
- Tailwind Config (
tailwind.config.js) - For Tailwind CSS projects
- CSS Module (
colors.module.css) - For CSS Modules projects
Reference Documentation
Detailed documentation is available in the /references/ directory:
design-tokens.md - Complete token specifications
design-patterns.md - Visual pattern examples
guidelines.md - Design do's and don'ts
accessibility.md - WCAG compliance details
dark-mode.md - Dark mode implementation guide
Documentation & Guides
Quick guides available in the /docs/ directory:
quick-start.md - Getting started with tokens
token-usage.md - How to use different token formats
best-practices.md - Implementation best practices
visual-identity.md - ACP brand identity overview
faq.md - Common questions and answers
Getting Started
Choose your integration method:
- Next.js/React: Use
design-tokens.ts + Tailwind
- CSS/SCSS: Use
design-tokens.css + CSS variables
- Design Tools: Use
design-tokens.json
Import or reference tokens in your project
Apply tokens consistently throughout your UI
Test in both light and dark modes
Run design validator to check for consistency:
python3 scripts/design-validator.py audit --path=src --mode=dark
Support & Maintenance
For questions or to report design system issues, refer to the FAQ or contact the design systems team.
Design tokens are versioned - check design-tokens.json for the current version.
1---2name: ui-development-react3description: UI design system and visual identity tokens for Alauda Container Platform. Provides design tokens (TypeScript, CSS, JSON), dark mode support, and implementation guidelines for React and other frameworks.4---56# UI Development Skill: ACP Design System78## Overview910The **UI Development Skill** provides a comprehensive design system for Alauda Container Platform (ACP). It encodes the complete visual identity, design tokens, and implementation guidelines that ensure consistency across all ACP user interfaces.1112This skill is designed to be used company-wide by:13- Frontend developers building new UI features14- Product designers maintaining visual consistency15- Full-stack engineers integrating design tokens into applications16- Teams adopting ACP design standards1718## Visual Identity1920### Color Philosophy2122ACP uses a **professional, cool-toned palette** emphasizing clarity and information hierarchy:2324- **Primary Blues**: Professional, trustworthy feeling (backgrounds, panels, info states)25- **Success Greens**: Positive, completion states (confirmations, successful operations)26- **Process Teals**: Active workflow states (investigations, pending operations)27- **Neutral Grays**: Hierarchy and separation (borders, dividers, subtle elements)2829### Color Palette3031#### Light Mode (Default)3233| Category | Color | Hex | Usage |34|----------|-------|-----|-------|35| **Backgrounds** | Main | #ffffff | Primary content areas |36| | Primary BG | #f4f6f8 | Top chrome, secondary panels |37| | Panel BG | #eef4ff | Left sidebars, guidance areas |38| **Accents** | Info BG | #e3f2fd | Alert boxes, key information |39| | Info Border | #90caf9 | Info element borders |40| **Success** | Success BG | #d7f5e9 | Success states, completion |41| | Success Border | #4caf50 | Success indicators |42| **Process** | Process BG | #e8f2ff | Processing steps, workflows |43| | Process Border | #2196f3 | Process state indicators |44| **Teal** | Teal BG | #e0f2f1 | Hypothesis/investigation states |45| | Teal Border | #4db6ac | Teal state indicators |46| **Borders** | Primary | #cbd7e0 | Panel borders, main dividers |47| | Secondary | #cbd5e1 | Card separators, subtle lines |4849#### Dark Mode5051Dark mode variants maintain WCAG AA contrast ratios while preserving visual hierarchy:5253| Category | Color | Hex | Usage |54|----------|-------|-----|-------|55| **Backgrounds** | Main | #1a1a1a | Primary content areas |56| | Primary BG | #2d3748 | Top chrome, secondary panels |57| | Panel BG | #1e3a5f | Left sidebars, guidance areas |58| **Accents** | Info BG | #1e3a8a | Alert boxes |59| | Info Border | #60a5fa | Info element borders |60| **Success** | Success BG | #064e3b | Success states |61| | Success Border | #10b981 | Success indicators |62| **Process** | Process BG | #1e40af | Processing steps |63| | Process Border | #3b82f6 | Process indicators |64| **Teal** | Teal BG | #134e4a | Hypothesis states |65| | Teal Border | #14b8a6 | Teal indicators |66| **Borders** | Primary | #4b5563 | Panel borders |67| | Secondary | #555d6f | Card separators |6869### Spacing System7071ACP uses a **10px base unit grid system**:7273```744px (1 unit)758px (2 units)7612px (3 units)7716px (4 units) - Standard padding/margin7820px (5 units)7924px (6 units) - Large spacing8032px (8 units) - Section spacing8148px (12 units)8264px (16 units) - Major section gaps83```8485### Typography8687**Font Stack (System Fonts)**88```89font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,90 "Helvetica Neue", Arial, sans-serif;91```9293**Font Sizes**94- **Body**: 14px / 1.5 line-height95- **Small**: 12px / 1.4 line-height96- **Large**: 16px / 1.6 line-height97- **Heading 4**: 18px / 1.4 line-height, 500 weight98- **Heading 3**: 20px / 1.3 line-height, 600 weight99- **Heading 2**: 24px / 1.2 line-height, 600 weight100- **Heading 1**: 32px / 1.1 line-height, 700 weight101102**Font Weights**103- 300: Light104- 400: Regular (default)105- 500: Medium (interactive, accents)106- 600: Semi-bold (subheadings)107- 700: Bold (main headings)108109### Effects & Interactions110111**Border Radius**112- Subtle: 4px (form inputs, small elements)113- Standard: 8px (cards, buttons)114- Large: 12px (panels, containers)115- Extra Large: 16px (major sections)116117**Shadows**118- Subtle: `0 1px 2px rgba(0, 0, 0, 0.05)`119- Medium: `0 4px 6px rgba(0, 0, 0, 0.1)`120- Strong: `0 10px 15px rgba(0, 0, 0, 0.15)`121122**Transitions**123- Fast: 200ms (micro-interactions, hovers)124- Standard: 300ms (modal opens, page transitions)125- Slow: 500ms (complex animations)126127## Design Patterns128129### Card Pattern130Cards are the fundamental building block of ACP interfaces:131- White background (#ffffff light, #2d3748 dark)132- Subtle border: 1px solid (#cbd7e0 light, #4b5563 dark)133- Border radius: 8px134- Padding: 16px (4 units)135- Standard shadow136137**Variants:**138- **Alert Card**: Blue background (#e3f2fd light) for informational content139- **Success Card**: Green background (#d7f5e9 light) for completion states140- **Process Card**: Teal background (#e0f2f1 light) for workflow states141142### Color Usage Guidelines143144**Info States (Blue)**145- Use for informational alerts, monitor updates, guidance146- Blue encourages reading and attention without alarm147148**Success States (Green)**149- Use for completion, confirmations, successful operations150- Green = "action completed successfully"151152**Process States (Teal)**153- Use for investigation steps, workflow states, pending operations154- Teal indicates "something is being processed or analyzed"155156**Warning States (Orange/Amber)**157- Reserved for warnings and cautions (not fully implemented yet)158- Use sparingly to indicate issues requiring attention159160**Error States (Red)**161- Reserved for critical errors (not in current palette)162- Use for failures and critical alerts163164### Layout Patterns165166**Standard Layout**1671. **Header/Chrome** - Navigation and title bar (24px height typically)1682. **Left Sidebar** - Guidance, prompts, navigation (280-320px wide)1693. **Content Area** - Main content (flexible width)1704. **Right Panel** (optional) - Details, sidebar (240-280px wide)171172**Responsive Behavior**173- Mobile (< 768px): Stack vertically, hide sidebars or use drawer174- Tablet (768px - 1024px): Collapse sidebar to icons175- Desktop (> 1024px): Full layout176177### Component Patterns178179#### Interactive States180181**Buttons/Controls**182- Default: Base color with standard shadow183- Hover: 1 shade darker, medium shadow184- Active: 2 shades darker, strong shadow185- Disabled: Gray (#cbd7e0 light), no shadow, 50% opacity text186187**Form Inputs**188- Default: White bg, subtle border189- Focus: Info border color, medium shadow190- Disabled: Gray bg, border, reduced opacity191- Error: Red border, error background tint192193#### Data Display194195**Tables**196- Header row: Primary background color197- Alternating rows: White and #f4f6f8198- Hover row: #eef4ff highlight199- Borders: Secondary color between rows200201**Status Indicators**202- Success badge: Green background + white text203- Warning badge: Orange background + white text204- Error badge: Red background + white text205- Info badge: Blue background + white text206207## Localization208209ACP interfaces support **English and Simplified Chinese**.210211**Guidelines:**212- All text strings should use tokens for dynamic language switching213- Chinese text requires adjusted line heights (1.6-1.8) due to character complexity214- Consider text expansion in layouts (Chinese is more compact than English)215- Use font stacks that support Chinese characters properly216217## Accessibility (WCAG AA Compliance)218219### Color Contrast220221All color combinations meet **WCAG AA minimum 4.5:1 contrast ratio** for text:222- Body text (14px): 4.5:1 minimum223- Large text (18px+): 3:1 minimum224- UI components: 3:1 minimum225226### Keyboard Navigation227228- All interactive elements must be keyboard accessible229- Focus indicators must be visible (use info border color)230- Tab order should follow logical reading order231- Proper semantic HTML (`<button>`, `<a>`, form elements)232233### Screen Readers234235- Use semantic HTML structure236- Provide `alt` text for meaningful images237- Use ARIA labels for complex interactions238- Proper heading hierarchy (`<h1>` to `<h6>`)239240## Dark Mode Implementation241242### Usage Detection243244```javascript245// CSS Media Query (preferred)246@media (prefers-color-scheme: dark) {247 /* dark mode styles */248}249250// Or with CSS class (for manual toggle)251.dark { /* dark mode styles */ }252253// Or in JavaScript254const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;255```256257### Token Adaptation258259When implementing dark mode:2601. Use CSS custom properties for color swaps2612. Maintain all contrast ratios2623. Keep accent colors consistent with brand2634. Test all color combinations for readability2645. Ensure dark backgrounds don't cause eye strain265266## Integration Guides267268### With Next.js + Tailwind CSS2692701. Use `tailwind.config.js` from `/tokens/`2712. Extend with Tailwind's theme configuration2723. Access colors via Tailwind classes: `bg-acp-blue-50`, `text-acp-green-600`2734. Dark mode via `dark:` prefix: `dark:bg-acp-blue-900`274275### With CSS Variables2762771. Import `design-tokens.css` in your main stylesheet2782. Use variables: `background: var(--color-primary-bg)`2793. Override for dark mode in media query2804. Variables are namespaced: `--color-*`, `--space-*`, `--font-*`281282### With TypeScript2832841. Import from `design-tokens.ts`: `import { designTokens } from '@acp/tokens'`2852. Use in styled-components or CSS-in-JS: `color: designTokens.colors.primary.blue`2863. Type-safe token access with IntelliSense2874. Easy refactoring across codebase288289## Common Usage Patterns290291### Semantic Color Names292293Prefer semantic names over raw hex values:294- ✅ `background-color: var(--color-success-bg);`295- ❌ `background-color: #d7f5e9;`296297### Spacing Scales298299Always use spacing tokens:300- ✅ `padding: var(--space-4);` (16px)301- ❌ `padding: 16px;`302303### Typography Pairs304305Follow established typography hierarchy:306- ✅ `<h2>Heading</h2>` with Heading 2 style + `<p>Body</p>` with Body style307- ❌ Mixing font sizes randomly308309### Dark Mode Testing310311Always test designs in both modes:312- Compare light mode to dark mode side-by-side313- Check all color contrasts in dark mode314- Verify text readability on dark backgrounds315- Test interactive states in both modes316317## File Structure318319This skill provides several token export formats:320321- **TypeScript** (`design-tokens.ts`) - For Next.js/React projects322- **CSS** (`design-tokens.css`) - For any CSS project323- **JSON** (`design-tokens.json`) - For design tools and automation324- **Tailwind Config** (`tailwind.config.js`) - For Tailwind CSS projects325- **CSS Module** (`colors.module.css`) - For CSS Modules projects326327## Reference Documentation328329Detailed documentation is available in the `/references/` directory:330331- `design-tokens.md` - Complete token specifications332- `design-patterns.md` - Visual pattern examples333- `guidelines.md` - Design do's and don'ts334- `accessibility.md` - WCAG compliance details335- `dark-mode.md` - Dark mode implementation guide336337## Documentation & Guides338339Quick guides available in the `/docs/` directory:340341- `quick-start.md` - Getting started with tokens342- `token-usage.md` - How to use different token formats343- `best-practices.md` - Implementation best practices344- `visual-identity.md` - ACP brand identity overview345- `faq.md` - Common questions and answers346347## Getting Started3483491. **Choose your integration method**:350 - Next.js/React: Use `design-tokens.ts` + Tailwind351 - CSS/SCSS: Use `design-tokens.css` + CSS variables352 - Design Tools: Use `design-tokens.json`3533542. **Import or reference tokens** in your project3553563. **Apply tokens consistently** throughout your UI3573584. **Test in both light and dark modes**3593605. **Run design validator** to check for consistency:361 ```bash362 python3 scripts/design-validator.py audit --path=src --mode=dark363 ```364365## Support & Maintenance366367For questions or to report design system issues, refer to the FAQ or contact the design systems team.368369Design tokens are versioned - check `design-tokens.json` for the current version.