Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
One-time setup that gathers your project's design context and saves it to CLAUDE.md for future sessions.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
reference/delight.md
1> **Additional context needed**: what's appropriate for the domain (playful vs professional vs quirky vs elegant).23Find the moments where personality and unexpected polish would turn a functional interface into one users remember and tell other people about. Add only where the moment earns it; delight everywhere reads as noise.45---67## Register89Brand: delight can be distributed across copy voice, section transitions, discovery rewards, seasonal touches, personality across the whole surface.1011Product: delight at specific moments, not pages. Completion, first-time actions, error recovery, milestone crossings. Reliability and consistency carry the rest of the experience; delight pushed everywhere reads as noise.1213---1415## Assess Delight Opportunities1617Identify where delight would enhance (not distract from) the experience:18191. **Find natural delight moments**:20- **Success states**: Completed actions (save, send, publish)21- **Empty states**: First-time experiences, onboarding22- **Loading states**: Waiting periods that could be entertaining23- **Achievements**: Milestones, streaks, completions24- **Interactions**: Hover states, clicks, drags25- **Errors**: Softening frustrating moments26- **Easter eggs**: Hidden discoveries for curious users27282. **Understand the context**:29- What's the brand personality? (Playful? Professional? Quirky? Elegant?)30- Who's the audience? (Tech-savvy? Creative? Corporate?)31- What's the emotional context? (Accomplishment? Exploration? Frustration?)32- What's appropriate? (Banking app ≠ gaming app)33343. **Define delight strategy**:35- **Subtle sophistication**: Refined micro-interactions (luxury brands)36- **Playful personality**: Whimsical illustrations and copy (consumer apps)37- **Helpful surprises**: Anticipating needs before users ask (productivity tools)38- **Sensory richness**: Satisfying sounds, smooth animations (creative tools)3940If any of these are unclear from the codebase, STOP and use Codex's structured user-input/question tool when available; if unavailable, ask directly in chat to clarify what you cannot infer.4142**CRITICAL**: Delight should enhance usability, never obscure it. If users notice the delight more than accomplishing their goal, you've gone too far.4344## Delight Principles4546Follow these guidelines:4748### Delight Amplifies, Never Blocks49- Delight moments should be quick (< 1 second)50- Never delay core functionality for delight51- Make delight skippable or subtle52- Respect user's time and task focus5354### Surprise and Discovery55- Hide delightful details for users to discover56- Reward exploration and curiosity57- Don't announce every delight moment58- Let users share discoveries with others5960### Appropriate to Context61- Match delight to emotional moment (celebrate success, empathize with errors)62- Respect the user's state (don't be playful during critical errors)63- Match brand personality and audience expectations64- Cultural sensitivity (what's delightful varies by culture)6566### Compound Over Time67- Delight should remain fresh with repeated use68- Vary responses (not same animation every time)69- Reveal deeper layers with continued use70- Build anticipation through patterns7172## Delight Techniques7374Add personality and joy through these methods:7576### Micro-interactions & Animation7778**Button delight**:79```css80/* Satisfying button press */81.button {82transition: transform 0.1s, box-shadow 0.1s;83}84.button:active {85transform: translateY(2px);86box-shadow: 0 2px 4px rgba(0,0,0,0.2);87}8889/* Ripple effect on click */90/* Smooth lift on hover */91.button:hover {92transform: translateY(-2px);93transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1); /* ease-out-quart */94}95```9697**Loading delight**:98- Playful loading animations (not just spinners)99- Personality in loading messages (write product-specific ones, not generic AI filler)100- Progress indication with encouraging messages101- Skeleton screens with subtle animations102103**Success animations**:104- Checkmark draw animation105- Confetti burst for major achievements106- Gentle scale + fade for confirmation107- Satisfying sound effects (subtle)108109**Hover surprises**:110- Icons that animate on hover111- Color shifts or glow effects112- Tooltip reveals with personality113- Cursor changes (custom cursors for branded experiences)114115### Personality in Copy116117**Playful error messages**:118```119"Error 404"120"This page is playing hide and seek. (And winning)"121122"Connection failed"123"Looks like the internet took a coffee break. Want to retry?"124```125126**Encouraging empty states**:127```128"No projects"129"Your canvas awaits. Create something amazing."130131"No messages"132"Inbox zero! You're crushing it today."133```134135**Playful labels & tooltips**:136```137"Delete"138"Send to void" (for playful brand)139140"Help"141"Rescue me" (tooltip)142```143144**IMPORTANT**: Match copy personality to brand. Banks shouldn't be wacky, but they can be warm.145146### Illustrations & Visual Personality147148**Custom illustrations**:149- Empty state illustrations (not stock icons)150- Error state illustrations (friendly monsters, quirky characters)151- Loading state illustrations (animated characters)152- Success state illustrations (celebrations)153154**Icon personality**:155- Custom icon set matching brand personality156- Animated icons (subtle motion on hover/click)157- Illustrative icons (more detailed than generic)158- Consistent style across all icons159160**Background effects**:161- Subtle particle effects162- Gradient mesh backgrounds163- Geometric patterns164- Parallax depth165- Time-of-day themes (morning vs night)166167### Satisfying Interactions168169**Drag and drop delight**:170- Lift effect on drag (shadow, scale)171- Snap animation when dropped172- Satisfying placement sound173- Undo toast ("Dropped in wrong place? [Undo]")174175**Toggle switches**:176- Smooth slide with spring physics177- Color transition178- Haptic feedback on mobile179- Optional sound effect180181**Progress & achievements**:182- Streak counters with celebratory milestones183- Progress bars that "celebrate" at 100%184- Badge unlocks with animation185- Playful stats ("You're on fire! 5 days in a row")186187**Form interactions**:188- Input fields that animate on focus189- Checkboxes with a satisfying scale pulse when checked190- Success state that celebrates valid input191- Auto-grow textareas192193### Sound Design194195**Subtle audio cues** (when appropriate):196- Notification sounds (distinctive but not annoying)197- Success sounds (satisfying "ding")198- Error sounds (empathetic, not harsh)199- Typing sounds for chat/messaging200- Ambient background audio (very subtle)201202**IMPORTANT**:203- Respect system sound settings204- Provide mute option205- Keep volumes quiet (subtle cues, not alarms)206- Don't play on every interaction (sound fatigue is real)207208### Easter Eggs & Hidden Delights209210**Discovery rewards**:211- Konami code unlocks special theme212- Hidden keyboard shortcuts (Cmd+K for special features)213- Hover reveals on logos or illustrations214- Alt text jokes on images (for screen reader users too!)215- Console messages for developers ("Like what you see? We're hiring!")216217**Seasonal touches**:218- Holiday themes (subtle, tasteful)219- Seasonal color shifts220- Weather-based variations221- Time-based changes (dark at night, light during day)222223**Contextual personality**:224- Different messages based on time of day225- Responses to specific user actions226- Randomized variations (not same every time)227- Progressive reveals with continued use228229### Loading & Waiting States230231**Make waiting engaging**:232- Interesting loading messages that rotate233- Progress bars with personality234- Mini-games during long loads235- Fun facts or tips while waiting236- Countdown with encouraging messages237238```239Loading messages: write ones specific to your product, not generic AI filler:240- "Crunching your latest numbers..."241- "Syncing with your team's changes..."242- "Preparing your dashboard..."243- "Checking for updates since yesterday..."244```245246**WARNING**: Avoid cliched loading messages like "Herding pixels", "Teaching robots to dance", "Consulting the magic 8-ball", "Counting backwards from infinity". These are AI-slop copy, instantly recognizable as machine-generated. Write messages that are specific to what your product actually does.247248### Celebration Moments249250**Success celebrations**:251- Confetti for major milestones252- Animated checkmarks for completions253- Progress bar celebrations at 100%254- "Achievement unlocked" style notifications255- Personalized messages ("You published your 10th article!")256257**Milestone recognition**:258- First-time actions get special treatment259- Streak tracking and celebration260- Progress toward goals261- Anniversary celebrations262263## Implementation Patterns264265**Animation libraries**:266- Framer Motion (React)267- GSAP (universal)268- Lottie (After Effects animations)269- Canvas confetti (party effects)270271**Sound libraries**:272- Howler.js (audio management)273- Use-sound (React hook)274275**Physics libraries**:276- React Spring (spring physics)277- Popmotion (animation primitives)278279**IMPORTANT**: File size matters. Compress images, optimize animations, lazy load delight features.280281**NEVER**:282- Delay core functionality for delight283- Force users through delightful moments (make skippable)284- Use delight to hide poor UX285- Overdo it (less is more)286- Ignore accessibility (animate responsibly, provide alternatives)287- Make every interaction delightful (special moments should be special)288- Sacrifice performance for delight289- Be inappropriate for context (read the room)290291## Verify Delight Quality292293Test that delight actually delights:294295- **User reactions**: Do users smile? Share screenshots?296- **Doesn't annoy**: Still pleasant after 100th time?297- **Doesn't block**: Can users opt out or skip?298- **Performant**: No jank, no slowdown299- **Appropriate**: Matches brand and context300- **Accessible**: Works with reduced motion, screen readers301302When the moments feel earned, hand off to `$impeccable polish` for the final pass.303