[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CW6TYYJS3QTYV98VCMSMTM":3,"skill-same:01M6CW6TYYJS3QTYV98VCMSMTM":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":14,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6CW6TYYJS3QTYV98VCMSMTM","awwwards-design",null,"Create award-winning, memorable websites with advanced animations, creative interactions, and distinctive visual experiences. Use this skill when building sites that need to be exceptional—portfolio sites, agency showcases, product launches, or any project where \"wow factor\" matters.","hwzhxs\u002FOpenclaw","hwzhxs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8085279?v=4","01M6CW1PM9K3Z3MVYD0HJ806AT","Still Will","01M6CW1PRDJQ223QRXSZANCPPM",0,"MIT","https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37],"design","awwwards design","create","product","use","portfolio","creative","visual","project","2026-11-10 10:12:30",false,"---\nname: awwwards-design\ndescription: Create award-winning, memorable websites with advanced animations, creative interactions, and distinctive visual experiences. Use this skill when building sites that need to be exceptional—portfolio sites, agency showcases, product launches, or any project where \"wow factor\" matters.\nlicense: MIT\n---\n\n# Awwwards-Level Web Design\n\nThis skill guides creation of truly exceptional websites—the kind that win awards, get shared, and make people stop scrolling. These aren't just good websites; they're experiences.\n\n## Philosophy: What Makes a Site Unforgettable\n\nAward-winning sites share common traits that separate them from the millions of forgettable pages:\n\n### 1. Intentional Storytelling\nEvery scroll, every click, every hover tells part of a story. The site guides users through a narrative, not just a collection of sections. Content reveals progressively, creating anticipation and reward.\n\n### 2. Choreographed Motion\nAnimations aren't decoration—they're communication. Each movement has purpose: guiding attention, providing feedback, creating continuity, or building emotional resonance. The timing, easing, and sequencing are meticulously orchestrated.\n\n### 3. Sensory Richness\nThese sites engage multiple senses. Custom cursors create tactile feedback. Sound design (when appropriate) adds depth. Textures, gradients, and lighting effects create atmosphere. The experience feels *physical* despite being digital.\n\n### 4. Technical Craftsmanship\nSmooth 60fps animations. Fast load times despite rich visuals. Graceful degradation on slower devices. The engineering is invisible but essential.\n\n### 5. Breaking Conventions Intentionally\nAward-winning sites know the rules well enough to break them deliberately. Unconventional layouts, unexpected interactions, rule-breaking typography—but always in service of the experience, never random.\n\n---\n\n## The Awwwards Evaluation Criteria\n\nSites are judged on four dimensions:\n\n1. **Design** (8.5+ for SOTD): Visual aesthetics, composition, color, typography, imagery\n2. **Usability** (8.5+ for SOTD): Navigation, accessibility, responsiveness, intuitive UX\n3. **Creativity** (8.5+ for SOTD): Innovation, uniqueness, memorable moments\n4. **Content** (8.5+ for SOTD): Quality, storytelling, relevance, engagement\n\nTo win Site of the Day, you need excellence across ALL four. A beautiful site with poor usability won't win.\n\n---\n\n## Core Animation Techniques\n\n### 1. Scroll-Triggered Animations\n\nThe foundation of immersive web experiences. Elements animate in response to scroll position, creating a sense of discovery.\n\n**Key Patterns:**\n- **Reveal on Enter**: Elements fade\u002Fslide\u002Fscale into view as they enter the viewport\n- **Scrubbed Animations**: Animation progress tied directly to scroll position (not just triggered)\n- **Parallax Layers**: Background and foreground elements move at different speeds, creating depth\n- **Horizontal Scroll Sections**: Vertical scrolling translates to horizontal movement\n- **Pinned Sections**: Elements stay fixed while content scrolls through them\n\n**Implementation Stack:**\n```\nPrimary: GSAP + ScrollTrigger (industry standard)\nSmooth Scrolling: Lenis or GSAP ScrollSmoother\nReact: Framer Motion + useScroll hook\n```\n\n**Code Pattern (GSAP):**\n```javascript\ngsap.registerPlugin(ScrollTrigger);\n\n\u002F\u002F Basic reveal\ngsap.from(\".reveal-element\", {\n  opacity: 0,\n  y: 100,\n  duration: 1,\n  ease: \"power3.out\",\n  scrollTrigger: {\n    trigger: \".reveal-element\",\n    start: \"top 80%\",\n    end: \"top 20%\",\n    toggleActions: \"play none none reverse\"\n  }\n});\n\n\u002F\u002F Scrubbed animation (tied to scroll position)\ngsap.to(\".parallax-bg\", {\n  y: -200,\n  ease: \"none\",\n  scrollTrigger: {\n    trigger: \".parallax-section\",\n    start: \"top bottom\",\n    end: \"bottom top\",\n    scrub: true\n  }\n});\n```\n\n### 2. Text Splitting & Typography Animation\n\nAward-winning sites treat text as a design element, not just content. Individual characters, words, and lines become animatable units.\n\n**Key Patterns:**\n- **Character-by-character reveals**: Letters animate in sequentially\n- **Word stagger**: Words cascade in with varying delays\n- **Line-by-line reveals**: Each line slides or fades independently\n- **Scramble\u002Fdecode effects**: Text appears to decode or unscramble\n- **Kinetic typography**: Text that moves, rotates, or transforms with scroll\u002Finteraction\n\n**Implementation:**\n```\nGSAP SplitText (premium but powerful)\nSplitType (free alternative)\nSplitting.js (lightweight)\n```\n\n**Code Pattern:**\n```javascript\n\u002F\u002F Using SplitType + GSAP\nconst text = new SplitType('.hero-title', { types: 'chars, words' });\n\ngsap.from(text.chars, {\n  opacity: 0,\n  y: 50,\n  rotateX: -90,\n  stagger: 0.02,\n  duration: 0.8,\n  ease: \"back.out(1.7)\"\n});\n```\n\n**Typography Choices for Impact:**\n- Display fonts with character: Neue Machina, Monument Extended, PP Mori, Clash Display, Satoshi\n- Variable fonts for animation: Weight, width, and slant can animate smoothly\n- Extreme sizes: Hero text at 15-25vw creates immediate impact\n- Mixed weights and sizes within a single headline\n\n### 3. Micro-Interactions & Hover States\n\nThe details that create delight. Every interactive element should respond to user input in satisfying ways.\n\n**Key Patterns:**\n- **Magnetic buttons**: Elements that pull toward the cursor\n- **Reveal on hover**: Hidden content or effects that appear on interaction\n- **Morphing shapes**: Elements that transform shape on hover\n- **Ripple effects**: Click feedback that radiates from touch point\n- **State machines**: Complex multi-state animations (idle → hover → active → complete)\n\n**Implementation:**\n```\nRive (for complex state-based animations)\nLottie (After Effects → web)\nGSAP (programmatic control)\nCSS transitions (simple states)\n```\n\n**Code Pattern (Magnetic Effect):**\n```javascript\nconst magneticElements = document.querySelectorAll('.magnetic');\n\nmagneticElements.forEach(el => {\n  el.addEventListener('mousemove', (e) => {\n    const rect = el.getBoundingClientRect();\n    const x = e.clientX - rect.left - rect.width \u002F 2;\n    const y = e.clientY - rect.top - rect.height \u002F 2;\n    \n    gsap.to(el, {\n      x: x * 0.3,\n      y: y * 0.3,\n      duration: 0.3,\n      ease: \"power2.out\"\n    });\n  });\n  \n  el.addEventListener('mouseleave', () => {\n    gsap.to(el, {\n      x: 0,\n      y: 0,\n      duration: 0.5,\n      ease: \"elastic.out(1, 0.3)\"\n    });\n  });\n});\n```\n\n### 4. Page Transitions\n\nSeamless transitions between pages create a native-app feel and maintain immersion.\n\n**Key Patterns:**\n- **Crossfade with motion**: Old page fades while new slides in\n- **Shared element transitions**: Images or elements morph between pages\n- **Wipe\u002Freveal transitions**: Content sweeps across screen\n- **Zoom transitions**: Click target expands to fill screen\n- **Overlay transitions**: Colored layer sweeps over before revealing new content\n\n**Implementation:**\n```\nBarba.js + GSAP (multi-page sites)\nNext.js + Framer Motion (React apps)\nAstro + View Transitions API (modern approach)\n```\n\n### 5. Custom Cursors\n\nReplace the default cursor with something that reinforces the brand and adds interactivity.\n\n**Key Patterns:**\n- **Follower cursor**: A shape that follows with slight lag (lerping)\n- **Context-aware cursor**: Changes based on what it's hovering\n- **Magnetic cursor**: Snaps to interactive elements\n- **Blob cursor**: Morphing organic shape\n- **Text cursor**: Words that follow the pointer\n- **Trail effects**: Multiple elements following in sequence\n\n**Code Pattern:**\n```javascript\nconst cursor = document.querySelector('.cursor');\nlet mouseX = 0, mouseY = 0;\nlet cursorX = 0, cursorY = 0;\n\ndocument.addEventListener('mousemove', (e) => {\n  mouseX = e.clientX;\n  mouseY = e.clientY;\n});\n\n\u002F\u002F Smooth following with lerp\nfunction animate() {\n  cursorX += (mouseX - cursorX) * 0.1;\n  cursorY += (mouseY - cursorY) * 0.1;\n  \n  cursor.style.transform = `translate(${cursorX}px, ${cursorY}px)`;\n  requestAnimationFrame(animate);\n}\nanimate();\n\n\u002F\u002F Context changes\ndocument.querySelectorAll('a, button').forEach(el => {\n  el.addEventListener('mouseenter', () => cursor.classList.add('cursor--hover'));\n  el.addEventListener('mouseleave', () => cursor.classList.remove('cursor--hover'));\n});\n```\n\n### 6. Easing & Timing\n\nThe secret sauce. Proper easing transforms mechanical movement into organic motion.\n\n**Essential Easing Functions:**\n```\npower2.out \u002F power3.out — Natural deceleration (most common)\npower2.inOut — Smooth acceleration and deceleration\nback.out(1.7) — Slight overshoot, then settle (playful)\nelastic.out(1, 0.3) — Bouncy, energetic\nexpo.out — Dramatic fast-start, slow-end\ncirc.out — Quick initial movement\n```\n\n**Timing Principles:**\n- **Stagger delays**: 0.02-0.05s between sequential elements\n- **Hover transitions**: 0.2-0.4s (fast enough to feel responsive)\n- **Page transitions**: 0.6-1.2s (long enough to appreciate, not too slow)\n- **Scroll animations**: Duration tied to scroll distance, or 0.8-1.5s for triggered\n\n**The Golden Rule**: Fast in, slow out. Most movements should decelerate into their final position.\n\n---\n\n## Visual Techniques\n\n### Gradients & Color\n\n**Mesh Gradients**: Complex multi-point gradients that feel organic\n```css\nbackground: \n  radial-gradient(at 40% 20%, hsla(28,100%,74%,1) 0px, transparent 50%),\n  radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),\n  radial-gradient(at 0% 50%, hsla(355,85%,93%,1) 0px, transparent 50%);\n```\n\n**Animated Gradients**: Shifting colors that create movement\n```css\n@keyframes gradient-shift {\n  0% { background-position: 0% 50%; }\n  50% { background-position: 100% 50%; }\n  100% { background-position: 0% 50%; }\n}\n.animated-gradient {\n  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);\n  background-size: 400% 400%;\n  animation: gradient-shift 15s ease infinite;\n}\n```\n\n### Texture & Depth\n\n**Grain\u002FNoise Overlays**: Add organic texture\n```css\n.grain::after {\n  content: '';\n  position: fixed;\n  inset: 0;\n  background-image: url(\"data:image\u002Fsvg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'\u002F%3E%3C\u002Ffilter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'\u002F%3E%3C\u002Fsvg%3E\");\n  opacity: 0.03;\n  pointer-events: none;\n  z-index: 9999;\n}\n```\n\n**Glassmorphism**: Frosted glass effects\n```css\n.glass {\n  background: rgba(255, 255, 255, 0.1);\n  backdrop-filter: blur(10px);\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  border-radius: 16px;\n}\n```\n\n**Shadows for Depth**: Layered, soft shadows\n```css\n.elevated {\n  box-shadow: \n    0 1px 1px rgba(0,0,0,0.02),\n    0 2px 2px rgba(0,0,0,0.02),\n    0 4px 4px rgba(0,0,0,0.02),\n    0 8px 8px rgba(0,0,0,0.02),\n    0 16px 16px rgba(0,0,0,0.02);\n}\n```\n\n### Layout Breaking\n\n**Overlapping Elements**: Break the grid intentionally\n**Diagonal\u002FAngular Sections**: Clip-path for non-rectangular sections\n**Asymmetric Compositions**: Deliberate imbalance creates tension\n**Full-bleed Media**: Images\u002Fvideo that escape containers\n**Mixed Grid Systems**: Combine different column structures\n\n---\n\n## 3D & WebGL\n\nFor truly next-level sites, 3D elements create unforgettable experiences.\n\n**Implementation Stack:**\n```\nThree.js — Full 3D engine\nReact Three Fiber — Three.js in React\nSpline — No-code 3D design tool\nLottie 3D — Lightweight 3D animations\n```\n\n**Common Patterns:**\n- 3D product viewers with orbit controls\n- Particle systems responding to scroll\u002Fmouse\n- Shader effects (distortion, ripple, noise)\n- 3D text and typography\n- Environment scenes with camera movement\n\n**Performance Note**: 3D is expensive. Use sparingly, optimize aggressively, and always provide fallbacks.\n\n---\n\n## Technical Requirements\n\n### Performance Targets\n- **First Contentful Paint**: \u003C 1.5s\n- **Largest Contentful Paint**: \u003C 2.5s\n- **Total Blocking Time**: \u003C 200ms\n- **Animation frame rate**: Consistent 60fps\n\n### Optimization Strategies\n- Lazy load below-fold content\n- Preload critical assets\n- Use `will-change` sparingly and correctly\n- Debounce scroll handlers\n- Use `requestAnimationFrame` for JS animations\n- Prefer CSS transforms over layout-triggering properties\n- Compress and optimize all media\n\n### Accessibility\nAward-winning sites must be usable by everyone:\n- Respect `prefers-reduced-motion`\n- Maintain keyboard navigation\n- Ensure sufficient color contrast\n- Provide text alternatives for visual content\n- Test with screen readers\n\n```css\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n```\n\n---\n\n## Implementation Checklist\n\nBefore considering a site \"award-worthy,\" verify:\n\n### Animation\n- [ ] Scroll-triggered reveals with staggered timing\n- [ ] Smooth scroll (Lenis or equivalent)\n- [ ] Custom easing on all animations\n- [ ] Page\u002Fsection transitions\n- [ ] Hover states on all interactive elements\n- [ ] Loading animation\u002Fsequence\n\n### Visual\n- [ ] Distinctive typography (not Inter\u002FRoboto)\n- [ ] Custom cursor (if appropriate)\n- [ ] Texture\u002Fgrain overlay\n- [ ] Considered color palette with intention\n- [ ] Atmospheric backgrounds (gradients, effects)\n- [ ] Consistent visual language throughout\n\n### Technical\n- [ ] 60fps animation performance\n- [ ] Mobile responsive with adapted interactions\n- [ ] Reduced motion support\n- [ ] Fast initial load\n- [ ] No layout shift during load\n\n### Content\n- [ ] Clear narrative\u002Fstory structure\n- [ ] Purposeful content hierarchy\n- [ ] Engaging copywriting\n- [ ] High-quality imagery\u002Fmedia\n\n---\n\n## Reference Sites\n\nStudy these for inspiration (search on Awwwards):\n- **Immersive storytelling**: Apple product pages, Stripe\n- **Creative agency**: Resn, Active Theory, Locomotive\n- **Portfolio**: Bruno Simon, Aristide Benoist, Dennis Snellenberg\n- **Product**: Linear, Vercel, Raycast\n- **Editorial**: The Pudding, NYT Interactives\n\n---\n\n## When NOT to Use This Approach\n\nAward-winning design isn't always appropriate:\n- **E-commerce with conversion goals**: Simplicity often wins\n- **Information-heavy sites**: Clarity over creativity\n- **Accessibility-first contexts**: Heavy animation can be exclusionary\n- **Limited budget\u002Ftimeline**: This takes significant time to execute well\n\nUse these techniques when the goal is to create a memorable brand experience, showcase creative work, or make a statement. For utility-focused sites, the standard frontend-design skill may be more appropriate.\n\n---\n\nRemember: Award-winning sites aren't just technically impressive—they're emotionally resonant. Every animation, every interaction, every visual choice should serve the story you're telling. Technical skill without creative vision produces impressive-but-forgettable work. The goal is to make someone feel something.\n","# Awwwards-Level Web Design\n\nThis skill guides creation of truly exceptional websites—the kind that win awards, get shared, and make people stop scrolling. These aren't just good websites; they're experiences.\n\n## Philosophy: What Makes a Site Unforgettable\n\nAward-winning sites share common traits that separate them from the millions of forgettable pages:\n\n### 1. Intentional Storytelling\nEvery scroll, every click, every hover tells part of a story. The site guides users through a narrative, not just a collection of sections. Content reveals progressively, creating anticipation and reward.\n\n### 2. Choreographed Motion\nAnimations aren't decoration—they're communication. Each movement has purpose: guiding attention, providing feedback, creating continuity, or building emotional resonance. The timing, easing, and sequencing are meticulously orchestrated.\n\n### 3. Sensory Richness\nThese sites engage multiple senses. Custom cursors create tactile feedback. Sound design (when appropriate) adds depth. Textures, gradients, and lighting effects create atmosphere. The experience feels *physical* despite being digital.\n\n### 4. Technical Craftsmanship\nSmooth 60fps animations. Fast load times despite rich visuals. Graceful degradation on slower devices. The engineering is invisible but essential.\n\n### 5. Breaking Conventions Intentionally\nAward-winning sites know the rules well enough to break them deliberately. Unconventional layouts, unexpected interactions, rule-breaking typography—but always in service of the experience, never random.\n\n---\n\n## The Awwwards Evaluation Criteria\n\nSites are judged on four dimensions:\n\n1. **Design** (8.5+ for SOTD): Visual aesthetics, composition, color, typography, imagery\n2. **Usability** (8.5+ for SOTD): Navigation, accessibility, responsiveness, intuitive UX\n3. **Creativity** (8.5+ for SOTD): Innovation, uniqueness, memorable moments\n4. **Content** (8.5+ for SOTD): Quality, storytelling, relevance, engagement\n\nTo win Site of the Day, you need excellence across ALL four. A beautiful site with poor usability won't win.\n\n---\n\n## Core Animation Techniques\n\n### 1. Scroll-Triggered Animations\n\nThe foundation of immersive web experiences. Elements animate in response to scroll position, creating a sense of discovery.\n\n**Key Patterns:**\n- **Reveal on Enter**: Elements fade\u002Fslide\u002Fscale into view as they enter the viewport\n- **Scrubbed Animations**: Animation progress tied directly to scroll position (not just triggered)\n- **Parallax Layers**: Background and foreground elements move at different speeds, creating depth\n- **Horizontal Scroll Sections**: Vertical scrolling translates to horizontal movement\n- **Pinned Sections**: Elements stay fixed while content scrolls through them\n\n**Implementation Stack:**\n```\nPrimary: GSAP + ScrollTrigger (industry standard)\nSmooth Scrolling: Lenis or GSAP ScrollSmoother\nReact: Framer Motion + useScroll hook\n```\n\n**Code Pattern (GSAP):**\n```javascript\ngsap.registerPlugin(ScrollTrigger);\n\n\u002F\u002F Basic reveal\ngsap.from(\".reveal-element\", {\n  opacity: 0,\n  y: 100,\n  duration: 1,\n  ease: \"power3.out\",\n  scrollTrigger: {\n    trigger: \".reveal-element\",\n    start: \"top 80%\",\n    end: \"top 20%\",\n    toggleActions: \"play none none reverse\"\n  }\n});\n\n\u002F\u002F Scrubbed animation (tied to scroll position)\ngsap.to(\".parallax-bg\", {\n  y: -200,\n  ease: \"none\",\n  scrollTrigger: {\n    trigger: \".parallax-section\",\n    start: \"top bottom\",\n    end: \"bottom top\",\n    scrub: true\n  }\n});\n```\n\n### 2. Text Splitting & Typography Animation\n\nAward-winning sites treat text as a design element, not just content. Individual characters, words, and lines become animatable units.\n\n**Key Patterns:**\n- **Character-by-character reveals**: Letters animate in sequentially\n- **Word stagger**: Words cascade in with varying delays\n- **Line-by-line reveals**: Each line slides or fades independently\n- **Scramble\u002Fdecode effects**: Text appears to decode or unscramble\n- **Kinetic typography**: Text that moves, rotates, or transforms with scroll\u002Finteraction\n\n**Implementation:**\n```\nGSAP SplitText (premium but powerful)\nSplitType (free alternative)\nSplitting.js (lightweight)\n```\n\n**Code Pattern:**\n```javascript\n\u002F\u002F Using SplitType + GSAP\nconst text = new SplitType('.hero-title', { types: 'chars, words' });\n\ngsap.from(text.chars, {\n  opacity: 0,\n  y: 50,\n  rotateX: -90,\n  stagger: 0.02,\n  duration: 0.8,\n  ease: \"back.out(1.7)\"\n});\n```\n\n**Typography Choices for Impact:**\n- Display fonts with character: Neue Machina, Monument Extended, PP Mori, Clash Display, Satoshi\n- Variable fonts for animation: Weight, width, and slant can animate smoothly\n- Extreme sizes: Hero text at 15-25vw creates immediate impact\n- Mixed weights and sizes within a single headline\n\n### 3. Micro-Interactions & Hover States\n\nThe details that create delight. Every interactive element should respond to user input in satisfying ways.\n\n**Key Patterns:**\n- **Magnetic buttons**: Elements that pull toward the cursor\n- **Reveal on hover**: Hidden content or effects that appear on interaction\n- **Morphing shapes**: Elements that transform shape on hover\n- **Ripple effects**: Click feedback that radiates from touch point\n- **State machines**: Complex multi-state animations (idle → hover → active → complete)\n\n**Implementation:**\n```\nRive (for complex state-based animations)\nLottie (After Effects → web)\nGSAP (programmatic control)\nCSS transitions (simple states)\n```\n\n**Code Pattern (Magnetic Effect):**\n```javascript\nconst magneticElements = document.querySelectorAll('.magnetic');\n\nmagneticElements.forEach(el => {\n  el.addEventListener('mousemove', (e) => {\n    const rect = el.getBoundingClientRect();\n    const x = e.clientX - rect.left - rect.width \u002F 2;\n    const y = e.clientY - rect.top - rect.height \u002F 2;\n    \n    gsap.to(el, {\n      x: x * 0.3,\n      y: y * 0.3,\n      duration: 0.3,\n      ease: \"power2.out\"\n    });\n  });\n  \n  el.addEventListener('mouseleave', () => {\n    gsap.to(el, {\n      x: 0,\n      y: 0,\n      duration: 0.5,\n      ease: \"elastic.out(1, 0.3)\"\n    });\n  });\n});\n```\n\n### 4. Page Transitions\n\nSeamless transitions between pages create a native-app feel and maintain immersion.\n\n**Key Patterns:**\n- **Crossfade with motion**: Old page fades while new slides in\n- **Shared element transitions**: Images or elements morph between pages\n- **Wipe\u002Freveal transitions**: Content sweeps across screen\n- **Zoom transitions**: Click target expands to fill screen\n- **Overlay transitions**: Colored layer sweeps over before revealing new content\n\n**Implementation:**\n```\nBarba.js + GSAP (multi-page sites)\nNext.js + Framer Motion (React apps)\nAstro + View Transitions API (modern approach)\n```\n\n### 5. Custom Cursors\n\nReplace the default cursor with something that reinforces the brand and adds interactivity.\n\n**Key Patterns:**\n- **Follower cursor**: A shape that follows with slight lag (lerping)\n- **Context-aware cursor**: Changes based on what it's hovering\n- **Magnetic cursor**: Snaps to interactive elements\n- **Blob cursor**: Morphing organic shape\n- **Text cursor**: Words that follow the pointer\n- **Trail effects**: Multiple elements following in sequence\n\n**Code Pattern:**\n```javascript\nconst cursor = document.querySelector('.cursor');\nlet mouseX = 0, mouseY = 0;\nlet cursorX = 0, cursorY = 0;\n\ndocument.addEventListener('mousemove', (e) => {\n  mouseX = e.clientX;\n  mouseY = e.clientY;\n});\n\n\u002F\u002F Smooth following with lerp\nfunction animate() {\n  cursorX += (mouseX - cursorX) * 0.1;\n  cursorY += (mouseY - cursorY) * 0.1;\n  \n  cursor.style.transform = `translate(${cursorX}px, ${cursorY}px)`;\n  requestAnimationFrame(animate);\n}\nanimate();\n\n\u002F\u002F Context changes\ndocument.querySelectorAll('a, button').forEach(el => {\n  el.addEventListener('mouseenter', () => cursor.classList.add('cursor--hover'));\n  el.addEventListener('mouseleave', () => cursor.classList.remove('cursor--hover'));\n});\n```\n\n### 6. Easing & Timing\n\nThe secret sauce. Proper easing transforms mechanical movement into organic motion.\n\n**Essential Easing Functions:**\n```\npower2.out \u002F power3.out — Natural deceleration (most common)\npower2.inOut — Smooth acceleration and deceleration\nback.out(1.7) — Slight overshoot, then settle (playful)\nelastic.out(1, 0.3) — Bouncy, energetic\nexpo.out — Dramatic fast-start, slow-end\ncirc.out — Quick initial movement\n```\n\n**Timing Principles:**\n- **Stagger delays**: 0.02-0.05s between sequential elements\n- **Hover transitions**: 0.2-0.4s (fast enough to feel responsive)\n- **Page transitions**: 0.6-1.2s (long enough to appreciate, not too slow)\n- **Scroll animations**: Duration tied to scroll distance, or 0.8-1.5s for triggered\n\n**The Golden Rule**: Fast in, slow out. Most movements should decelerate into their final position.\n\n---\n\n## Visual Techniques\n\n### Gradients & Color\n\n**Mesh Gradients**: Complex multi-point gradients that feel organic\n```css\nbackground: \n  radial-gradient(at 40% 20%, hsla(28,100%,74%,1) 0px, transparent 50%),\n  radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),\n  radial-gradient(at 0% 50%, hsla(355,85%,93%,1) 0px, transparent 50%);\n```\n\n**Animated Gradients**: Shifting colors that create movement\n```css\n@keyframes gradient-shift {\n  0% { background-position: 0% 50%; }\n  50% { background-position: 100% 50%; }\n  100% { background-position: 0% 50%; }\n}\n.animated-gradient {\n  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);\n  background-size: 400% 400%;\n  animation: gradient-shift 15s ease infinite;\n}\n```\n\n### Texture & Depth\n\n**Grain\u002FNoise Overlays**: Add organic texture\n```css\n.grain::after {\n  content: '';\n  position: fixed;\n  inset: 0;\n  background-image: url(\"data:image\u002Fsvg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'\u002F%3E%3C\u002Ffilter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'\u002F%3E%3C\u002Fsvg%3E\");\n  opacity: 0.03;\n  pointer-events: none;\n  z-index: 9999;\n}\n```\n\n**Glassmorphism**: Frosted glass effects\n```css\n.glass {\n  background: rgba(255, 255, 255, 0.1);\n  backdrop-filter: blur(10px);\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  border-radius: 16px;\n}\n```\n\n**Shadows for Depth**: Layered, soft shadows\n```css\n.elevated {\n  box-shadow: \n    0 1px 1px rgba(0,0,0,0.02),\n    0 2px 2px rgba(0,0,0,0.02),\n    0 4px 4px rgba(0,0,0,0.02),\n    0 8px 8px rgba(0,0,0,0.02),\n    0 16px 16px rgba(0,0,0,0.02);\n}\n```\n\n### Layout Breaking\n\n**Overlapping Elements**: Break the grid intentionally\n**Diagonal\u002FAngular Sections**: Clip-path for non-rectangular sections\n**Asymmetric Compositions**: Deliberate imbalance creates tension\n**Full-bleed Media**: Images\u002Fvideo that escape containers\n**Mixed Grid Systems**: Combine different column structures\n\n---\n\n## 3D & WebGL\n\nFor truly next-level sites, 3D elements create unforgettable experiences.\n\n**Implementation Stack:**\n```\nThree.js — Full 3D engine\nReact Three Fiber — Three.js in React\nSpline — No-code 3D design tool\nLottie 3D — Lightweight 3D animations\n```\n\n**Common Patterns:**\n- 3D product viewers with orbit controls\n- Particle systems responding to scroll\u002Fmouse\n- Shader effects (distortion, ripple, noise)\n- 3D text and typography\n- Environment scenes with camera movement\n\n**Performance Note**: 3D is expensive. Use sparingly, optimize aggressively, and always provide fallbacks.\n\n---\n\n## Technical Requirements\n\n### Performance Targets\n- **First Contentful Paint**: \u003C 1.5s\n- **Largest Contentful Paint**: \u003C 2.5s\n- **Total Blocking Time**: \u003C 200ms\n- **Animation frame rate**: Consistent 60fps\n\n### Optimization Strategies\n- Lazy load below-fold content\n- Preload critical assets\n- Use `will-change` sparingly and correctly\n- Debounce scroll handlers\n- Use `requestAnimationFrame` for JS animations\n- Prefer CSS transforms over layout-triggering properties\n- Compress and optimize all media\n\n### Accessibility\nAward-winning sites must be usable by everyone:\n- Respect `prefers-reduced-motion`\n- Maintain keyboard navigation\n- Ensure sufficient color contrast\n- Provide text alternatives for visual content\n- Test with screen readers\n\n```css\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n```\n\n---\n\n## Implementation Checklist\n\nBefore considering a site \"award-worthy,\" verify:\n\n### Animation\n- [ ] Scroll-triggered reveals with staggered timing\n- [ ] Smooth scroll (Lenis or equivalent)\n- [ ] Custom easing on all animations\n- [ ] Page\u002Fsection transitions\n- [ ] Hover states on all interactive elements\n- [ ] Loading animation\u002Fsequence\n\n### Visual\n- [ ] Distinctive typography (not Inter\u002FRoboto)\n- [ ] Custom cursor (if appropriate)\n- [ ] Texture\u002Fgrain overlay\n- [ ] Considered color palette with intention\n- [ ] Atmospheric backgrounds (gradients, effects)\n- [ ] Consistent visual language throughout\n\n### Technical\n- [ ] 60fps animation performance\n- [ ] Mobile responsive with adapted interactions\n- [ ] Reduced motion support\n- [ ] Fast initial load\n- [ ] No layout shift during load\n\n### Content\n- [ ] Clear narrative\u002Fstory structure\n- [ ] Purposeful content hierarchy\n- [ ] Engaging copywriting\n- [ ] High-quality imagery\u002Fmedia\n\n---\n\n## Reference Sites\n\nStudy these for inspiration (search on Awwwards):\n- **Immersive storytelling**: Apple product pages, Stripe\n- **Creative agency**: Resn, Active Theory, Locomotive\n- **Portfolio**: Bruno Simon, Aristide Benoist, Dennis Snellenberg\n- **Product**: Linear, Vercel, Raycast\n- **Editorial**: The Pudding, NYT Interactives\n\n---\n\n## When NOT to Use This Approach\n\nAward-winning design isn't always appropriate:\n- **E-commerce with conversion goals**: Simplicity often wins\n- **Information-heavy sites**: Clarity over creativity\n- **Accessibility-first contexts**: Heavy animation can be exclusionary\n- **Limited budget\u002Ftimeline**: This takes significant time to execute well\n\nUse these techniques when the goal is to create a memorable brand experience, showcase creative work, or make a statement. For utility-focused sites, the standard frontend-design skill may be more appropriate.\n\n---\n\nRemember: Award-winning sites aren't just technically impressive—they're emotionally resonant. Every animation, every interaction, every visual choice should serve the story you're telling. Technical skill without creative vision produces impressive-but-forgettable work. The goal is to make someone feel something.\n",{"name":5,"license":15,"description":7},"main","972b0900aac2bc4c3ea1e62bca120401f4f0594b","workspace\u002Fskills\u002Fawwwards-design","https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw","https:\u002F\u002Fgithub.com\u002Fhwzhxs","2026-03-05 02:23:41",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add hwzhxs\u002FOpenclaw --skill awwwards-design",{"tool":55,"command":56},"bunx","bunx skills add hwzhxs\u002FOpenclaw --skill awwwards-design",{"tool":58,"command":59},"pnpm","pnpm dlx skills add hwzhxs\u002FOpenclaw --skill awwwards-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002FSKILL.md",true,[63,69,73,77],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"_meta.json","REFERENCE","参考文档",134,"https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002F_meta.json",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},".clawhub\u002Forigin.json",147,"https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002F.clawhub\u002Forigin.json",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"SNIPPETS.md",10724,"https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002FSNIPPETS.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"TYPOGRAPHY.md",5504,"https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fworkspace\u002Fskills\u002Fawwwards-design\u002FTYPOGRAPHY.md",[82],{"skillNo":83,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":88,"publishedAt":38},"01M6CW2193PWE5CB3R4C1KT390","https:\u002F\u002Fgithub.com\u002Fhwzhxs\u002FOpenclaw\u002Fblob\u002Fmain\u002Fagents\u002Fcreator\u002Fskills\u002Fawwwards-design\u002FSKILL.md",[86,87],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[29,30,31,32,33,34,35,36]]