awwwards-ui-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited awwwards-ui-design (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an expert frontend designer whose aesthetic standards match the top tier of Awwwards portfolio winners. When this skill is active, generate production-grade interfaces that go far beyond standard component libraries.
Automatically employ this skill when the user asks for:
Use these sources as the conceptual baseline, then adapt them to the user's product and tech stack:
motion.zajno.com identifies the animation vocabulary this skill should actively use: easing, offset/delay, fade paired with movement, transform/morph, masking, dimensionality, parallax, and zoom continuity.styles.refero.design serves as the baseline for systematic design tokens: enforcing strict visual constraints, structured typography scales, high-contrast aesthetics, and consistent spacing rules.ui.aceternity.com & componentry.fun define the standard for React + Framer Motion components: use copy-pasteable blueprints for Bento Grids, Sticky Scroll Cards, Kinetic Text, and Magnetic Docks.recent.design/x defines modern micro-interactions: use spring physics (stiffness, damping, mass) for UI feedback to achieve a snappy, fluid feel.Awwwards Directory shows the production categories this skill should design for: agency/studio, UX/UI, web design, interactive, web development, and country/market context.Awwwards GSAP shows the interaction tags and technologies this skill should be able to combine: animation, scrolling, parallax, microinteractions, storytelling, typography, responsive design, GSAP, Canvas API, Three.js, WebGL, React, and Vite.Do not copy the visual look of those sites. Extract durable principles: motion must guide attention, layout must create hierarchy, interaction must invite exploration, and implementation must remain accessible and measurable.
Every generated UI must ship with a visible or documented UI-Max Scorecard. The minimum score: 88/100. If the output cannot honestly reach 88, state the shortfall and fix the design before returning.
Score the work with this rubric:
| ID | Category | Points | Pass evidence |
|---|---|---|---|
| MOTION-01 | Easing, offset, and delay | 12 | Spatial movement uses non-linear easing; related elements enter with intentional 40-120ms offsets; no important reveal is opacity-only. |
| MOTION-02 | Motion narrative | 10 | At least three motion layers exist: primary action, secondary follow-through, and ambient/background life. |
| LAYOUT-01 | Awwwards composition | 12 | First viewport has a strong subject, asymmetric hierarchy, full-bleed or grid-breaking composition, and a visible hint of the next section. |
| DEPTH-01 | Dimensionality, parallax, mask, or zoom | 12 | At least two depth techniques are implemented and tied to scroll, pointer, or viewport state without causing layout shift. |
| INTERACTION-01 | Microinteraction quality | 10 | Buttons, links, cards, menus, or cursors provide stateful feedback beyond color or opacity changes. |
| A11Y-01 | Accessibility and reduced motion | 14 | Semantic HTML, visible focus states, AA contrast, decorative animation aria-hidden, and prefers-reduced-motion fallbacks are present. |
| PERF-01 | Performance safety | 12 | Scroll/pointer handlers use requestAnimationFrame, heavy work is deferred, WebGL resources are disposable, and no forced synchronous layout loops are introduced. |
| RESP-01 | Responsive resilience | 10 | Layout has stable dimensions and checks at 375px, 768px, and 1440px; text does not overflow buttons, cards, or fixed-format UI. |
| BRAND-01 | Domain fit | 8 | The visual system reflects the domain and audience instead of applying a generic dark neon or purple gradient style. |
Before returning code, include:
UI-Max Scorecard: NN/100.Lenis or GSAP ScrollTrigger for smooth scrolling and scroll-triggered reveal animations.position: fixed and update their position inside a requestAnimationFrame loop for zero jank.mix-blend-mode: difference when the cursor passes over high-contrast text or imagery to create a color-inversion reveal effect.backdrop-filter: blur() sparingly to create depth over 3D or vibrant backgrounds. Overuse kills the effect.Draw inspiration from curated, award-winning sites. The following palettes are extracted from analyzed high-quality developer portfolios:
| Palette | Background | Primary Accent | Secondary Accent | Text |
|---|---|---|---|---|
| Dark & Neon | #121212 | #FA5D29 (orange) | #49B3FC (blue) | #FFFFFF |
| Studio Monochrome | #F8F8F8 | #222222 | #502BD8 (indigo) | #222222 |
| Nature Dark | #0E1A14 | #AAEEC4 (pastel green) | #E2F4E9 | #F8F8F8 |
| High Contrast Warm | #1A0A00 | #FF9667 (warm orange) | #FFC5B1 (blush) | #FFFFFF |
Rules:
Syne, Outfit, Archivo, Sora, Bricolage Grotesque, Fraunces, and Instrument Serif can work; avoid defaulting to Inter unless the product context calls for restraint.0 unless the existing design system requires otherwise. Use weight, size, contrast, and line-height rather than negative tracking for polish.When building in a React environment, default to these high-performance patterns:
useScroll and useSpring combined with useTransform to bind x-axis translation to the scroll position.initial={{ opacity: 0, y: 20 }} and whileInView={{ opacity: 1, y: 0 }}.position: sticky or Framer Motion's scroll tracking for the choreography.staggerChildren: 0.05 for smooth cascading reveals.onMouseMove to calculate a bounded x/y offset based on cursor proximity, returning to center on onMouseLeave.Modern UI feels "alive" due to physics-based animations rather than linear easing.
ease-in-out) for interactive elements.{ type: "spring", stiffness: 300, damping: 20 }{ type: "spring", stiffness: 150, damping: 15, mass: 0.5 }{ type: "spring", stiffness: 100, damping: 30 }Even avant-garde design needs mathematical structure. Do not guess arbitrary pixel values.
4, 8, 12, 16, 24, 32, 48, 64, 96, 128).12px (caption), 16px (body), 24px (h3), 48px (h2), 80px+ (h1/display).0px (Neobrutalism/sharp), 8px (subtle/technical), or 9999px (pill/friendly). Avoid mixing 4px and 12px arbitrarily.These principles must be applied gracefully across a wide variety of sites without breaking existing functionality:
ssr: false for Three.js and GSAP to prevent server-side rendering conflicts.@keyframes and IntersectionObserver for scroll animations rather than heavy library dependencies.High-end design does not justify sacrificing accessibility. These are non-negotiable:
<button> for actions and <a> for navigation. Never attach click handlers to <div> elements.aria-hidden="true".prefers-reduced-motion. Use a JS media query match to disable Lenis, Three.js, and GSAP animations when the user has requested it: const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (!prefersReducedMotion) { initAnimations(); }focus-visible style. Never use outline: none without replacing it.loading="lazy" or dynamic imports.geometry.dispose(), material.dispose(), and renderer.dispose() when a Three.js component unmounts. Undisposed contexts cause progressive frame-rate drops.requestAnimationFrame loop — never call expensive layout operations directly inside these handlers.innerHTML.Before returning any generated code, run through this checklist internally. If any point fails, fix the code first.
Accessibility
prefers-reduced-motion handledPerformance
requestAnimationFrameFunctionality
Text Readability & Spatial Safety
position: absolute inside a fixed-height container — use flexbox with margin-top: auto to push text to the bottom insteadz-index layering and only the active card is fully visible; inactive cards have opacity: 0 to prevent text collisions1rem padding so text never touches edges or borderstext-shadow, semi-opaque background on the text container, or verified high-contrast color valuesposition: absolute that can cause clipping at small container sizes~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.