AgentSkillsCN

design-system

The Puppy Day 的视觉设计系统——颜色、排版、间距、阴影及狗狗主题的 UI 模式。在创建或修改 UI 组件、布局或样式时自动触发。触发条件包括涉及颜色、字体、间距、视觉设计或品牌一致性的任务。

SKILL.md
--- frontmatter
name: design-system
description: The Puppy Day visual design system — colors, typography, spacing, shadows, and dog-themed UI patterns. Auto-invoke when creating or modifying UI components, layouts, or styling. Triggers on tasks involving colors, fonts, spacing, visual design, or brand consistency.
metadata:
  author: thepuppyday
  version: "1.0.0"

The Puppy Day Design System

Complete visual design reference for maintaining brand consistency across the application.

When to Apply

Reference this design system when:

  • Creating new UI components or pages
  • Choosing colors, fonts, or spacing values
  • Implementing animations or transitions
  • Adding dog-themed decorative elements
  • Reviewing UI for brand consistency

Design Philosophy

Clean & Elegant Professional — Refined, warm, and trustworthy. A professional pet care service that emphasizes cleanliness, expertise, and customer care. NOT childish or over-the-top playful.

Color Palette

Primary Colors

TokenHexUsage
background#F8EEE5Page background (warm cream)
primary#434E54Buttons, primary text (charcoal)
primaryHover#363F44Hover states
secondary#EAE0D5Secondary elements (lighter cream)
accent#4ECDC4Playful accents (sky blue)

Text Colors

TokenHexCSS Class
textPrimary#434E54text-base-content
textSecondary#6B7280text-gray-500

Card Colors

TokenHexUsage
cardBackground#FFFFFFStandard cards
cardAlt#FFFBF7Alternate warm white

Utility Colors

TokenHexUsage
info#74B9FFInformation states
success#6BCB77Success states
warning#FFB347Warning states
error#FF6B6BError states

DaisyUI Theme Variables

Located in src/app/globals.css:

css
[data-theme="light"] {
  --p: 67 78 84;           /* Primary: Charcoal */
  --pf: 54 63 68;          /* Primary Focus */
  --s: 234 224 213;        /* Secondary: Cream */
  --a: 78 205 196;         /* Accent: Sky Blue */
  --n: 67 78 84;           /* Neutral: Charcoal */
  --b1: 248 238 229;       /* Base: Warm cream */
  --b2: 234 224 213;       /* Base-200 */
  --b3: 220 210 199;       /* Base-300 */
  --rounded-box: 1rem;
  --rounded-btn: 0.5rem;
}

Use DaisyUI semantic classes (e.g., bg-primary, text-base-content, bg-base-200) rather than raw hex values.

Typography

ElementFontWeightCSS
Headings (h1-h6)Nunito700 (bold)font-heading
Body textInter400 (regular)font-body
Fallbacksystem-ui, -apple-system, sans-serif

Shadows

Use soft, blurred shadows. NEVER use harsh/dark shadows.

ClassUsage
shadow-smCards, subtle elevation
shadow-mdInteractive elements, hover states
shadow-lgModals, popovers, dropdowns

Border Radius

ClassSizeUsage
rounded-lg0.5remDefault for cards, inputs
rounded-xl0.75remLarger containers, sections
rounded-full50%Pills, badges, avatars

Borders

Minimal borders. Prefer shadow over border for elevation.

code
border-0        // Default: no border
border          // When needed: 1px
border-gray-200 // Light gray when border is required

Spacing

Use Tailwind spacing scale consistently:

code
p-4, p-6, p-8       // Padding
gap-4, gap-6         // Flex/Grid gaps
space-y-4, space-x-4 // Stack spacing

Transitions

code
transition-all duration-200 ease-in-out   // Button hover
transition-opacity duration-300            // Fade effects

Dog-Themed UI Elements

Complement the professional aesthetic with playful touches:

ElementUsageImplementation
Paw printsSuccess/loading statesLucide PawPrint icon or custom SVG
Dog silhouettesEmpty statesIllustration or icon
Bone iconsLoyalty/rewards featuresLucide Bone icon
Bouncy animationsConfirmationsFramer Motion spring animation

Tone: Warm, inviting, joyful — NOT childish. Dog elements should be subtle accents, not dominant.

Icons

Use Lucide React exclusively. Import from lucide-react:

typescript
import { PawPrint, Calendar, User, Settings } from 'lucide-react';

Admin-Specific

Use AdminButton component (src/components/admin/ui/AdminButton.tsx) for all admin panel buttons. It provides:

  • Consistent styling with the design system
  • Built-in loading state with isLoading prop
  • aria-busy accessibility support
  • Variant support: primary, secondary, danger, ghost

Reference

Full design system documentation: docs/architecture/ARCHITECTURE.md (Global Design System section, lines 190-310)