Skill ui ux Libera
UI/UX checklist and decision framework for web and mobile. LIBERA Studio fork focused on accessibility, interaction, responsive layout, performance, typography, color, forms, navigation, charts, and pre-delivery review. Style, palette, and typography databases available via local scripts when installed.From its SKILL.md
npx -y skills add liberastudio-mx/skill-ui-ux-LiberaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
36.6 KB, ~8.7k tokens by cl100k_base, as published. Nobody here has run it
UI/UX Libera — Design Intelligence
LIBERA Studio fork of ui-ux-pro-max v2.5.0 — updated May 2026
Comprehensive design guide for web and mobile applications. When local scripts are installed, provides access to 50+ styles, 161 color palettes, 57 font pairings, 161 product types, 99 UX guidelines, and 25 chart types across 16 stacks. When scripts are unavailable, operates as a full checklist and decision framework — see How to Use Step 2.
When to Apply
This Skill should be used when the task involves UI structure, visual design decisions, interaction patterns, or user experience quality control.
Must Use
- Designing new pages (Landing Page, Dashboard, Admin, SaaS, Mobile App)
- Creating or refactoring UI components (buttons, modals, forms, tables, charts, etc.)
- Choosing color schemes, typography systems, spacing standards, or layout systems
- Reviewing UI code for user experience, accessibility, or visual consistency
- Implementing navigation structures, animations, or responsive behavior
- Making product-level design decisions (style, information hierarchy, brand expression)
- Improving perceived quality, clarity, or usability of interfaces
Skip
- Pure backend logic development
- Only involving API or database design
- Performance optimization unrelated to the interface
- Infrastructure or DevOps work
- Non-visual scripts or automation tasks
Decision criteria: If the task will change how a feature looks, feels, moves, or is interacted with, use this skill.
Operating Principles
Use this skill as a UI/UX advisory and quality-control layer. Do not override:
- Explicit user requirements
- Framework-specific implementation constraints
- Existing project design systems
- Accessibility or legal requirements
- Performance budgets provided by the user
Narrow fixes: If the user asks for a specific bug fix or narrow implementation change, apply only the relevant checks. Do not expand into a full design critique unless requested.
Check selection: Do not apply all rules mechanically. Select the 5–10 most relevant checks based on:
- User goal and task type
- Platform (web, iOS, Android, React Native, Flutter, desktop)
- Product type (consumer app, enterprise tool, dashboard, e-commerce, health, finance, etc.)
- Accessibility impact
- Conversion or business impact
- Implementation cost
Tradeoff resolution: When rules conflict, resolve in this order:
- Safety and accessibility
- User task completion
- Platform conventions
- Performance
- Responsive robustness
- Visual consistency
- Brand expression
- Novelty
Anti-hallucination: When making measurable claims, verify or explicitly mark as assumption: contrast ratios, touch target sizes, browser support percentages, bundle size or performance budgets, CLS values, font loading behavior, and responsive breakpoints. Do not invent palette names, font pairings, product rules, or chart recommendations from unavailable databases. If local scripts/data are not installed, say so and apply manual checklist reasoning.
Review Strictness
Default mode: balanced — applies relevant checks proportionate to the task.
If the user uses any of: "critica pesante", "audit", "professional review", "production-ready", "quality check", "strict", switch to strict mode:
- Identify contradictions and vague claims
- Separate objective violations (WCAG failures, broken interactions) from taste preferences
- Prioritize fixes by user impact and implementation effort
- Do not praise unless it helps decision-making
- Mark all assumptions clearly
Output Modes
Select the mode that matches the user's task.
UI/UX Audit
- Executive verdict (one sentence)
- Critical issues (blocking — must fix before ship)
- High-impact improvements
- Accessibility risks
- Interaction and motion issues
- Layout/responsive risks
- Performance risks
- Concrete fixes with code where useful
- Final pre-delivery checklist status
New UI Design
- Assumptions
- Product type and target audience
- Recommended style direction
- Layout structure
- Design tokens (color, spacing, type scale)
- Component hierarchy
- Interaction states (all 8)
- Accessibility requirements
- Responsive behavior
- Stack-specific implementation notes
Code Review
- Blocking UX/accessibility issues
- Visual consistency issues
- Interaction bugs or missing states
- Responsive problems
- Suggested code-level fixes
- Verification checklist
Redesign
- What works (keep)
- What's broken (fix)
- What's missing (add)
- New direction rationale
- Implementation priority order
Rule Categories by Priority
| Priority | Category | Impact | Key Checks (Must Have) | Anti-Patterns (Avoid) |
|---|---|---|---|---|
| 1 | Accessibility | CRITICAL | Contrast 4.5:1, Alt text, Keyboard nav, Aria-labels | Removing focus rings, Icon-only buttons without labels |
| 2 | Touch & Interaction | CRITICAL | Min 44pt iOS / 48dp Android / 24px+ web, 8px+ spacing, Loading feedback | Reliance on hover only, Instant state changes (0ms) |
| 3 | Performance | HIGH | AVIF+WebP fallback, Lazy loading, Reserve space (CLS < 0.1) | Layout thrashing, Cumulative Layout Shift |
| 4 | Style Selection | HIGH | Match product type, Consistency, SVG icons | Mixing flat & skeuomorphic randomly, Emoji as primary icons |
| 5 | Layout & Responsive | HIGH | Mobile-first breakpoints, Viewport meta, No horizontal scroll | Horizontal scroll, Fixed px container widths, Disable zoom |
| 6 | Typography & Color | MEDIUM | Base 16px, Line-height 1.5, Semantic color tokens | Text < 12px body, Gray-on-gray, Raw hex in components |
| 7 | Animation | MEDIUM | Duration 150–300ms, Motion conveys meaning, Spatial continuity | Decorative-only animation, Animating width/height, No reduced-motion |
| 8 | Forms & Feedback | MEDIUM | Visible labels, Error near field, Helper text, Progressive disclosure | Placeholder-only label, Errors only at top, Overwhelm upfront |
| 9 | Navigation Patterns | HIGH | Predictable back, Bottom nav ≤5, Deep linking | Overloaded nav, Broken back behavior, No deep links |
| 10 | Charts & Data | LOW | Legends, Tooltips, Accessible colors | Relying on color alone to convey meaning |
| 11 | Interaction States | HIGH | Loading, Empty, Error, Active feedback for every component | Only implementing the success state |
| 12 | Launch Completeness | MEDIUM | Meta tags, Favicon, Legal links, 404, Skip-to-content | Shipping without these basics |
Context escalation — default priorities may escalate based on product context:
- Forms → CRITICAL in checkout, signup, auth, health, finance, legal, or data-entry flows
- Charts → HIGH/CRITICAL in dashboards, BI, trading, health metrics, analytics, or decision-support tools
- Navigation → CRITICAL in multi-step flows, mobile apps, admin systems, and complex IA
- Performance → CRITICAL in e-commerce, media, or low-connectivity markets
Quick Reference
1. Accessibility (CRITICAL)
color-contrast— Minimum 4.5:1 ratio for normal text (large text 3:1); WCAG 2.2 AAfocus-states— Visible focus rings on interactive elements (2–4px outline); WCAG 2.2 Focus Appearance also requires the focus indicator change to have 3:1 contrast against adjacent colorsalt-text— Descriptive alt text for meaningful images; decorative images usealt=""; decorative inline icons hidden from screen readers witharia-hidden="true"aria-labels—aria-labelfor icon-only buttons;accessibilityLabelin nativekeyboard-nav— Tab order matches visual order; full keyboard supportform-labels— Use<label>withforattribute; never placeholder-onlyskip-links— Skip to main content for keyboard usersheading-hierarchy— Preserve meaningful document outline (h1→h6); avoid skipping levels unless the structure remains understandable without visual contextcolor-not-only— Don't convey info by color alone (add icon/text)dynamic-type— Support system text scaling; avoid truncation as text growsreduced-motion— Respectprefers-reduced-motion; reduce/disable animations when requested. In Next.js/React with Framer Motion: wraplayout.tsxchildren with<MotionConfig reducedMotion="user">— this handles the system preference globally without per-component checks.voiceover-sr— MeaningfulaccessibilityLabel/accessibilityHint; logical reading orderescape-routes— Provide cancel/back in modals and multi-step flowskeyboard-shortcuts— Preserve system and a11y shortcuts; offer keyboard alternatives for drag-and-drop
2. Touch & Interaction (CRITICAL)
touch-target-size— Web: WCAG 2.2 minimum 24×24 CSS px (recommended 44×44 CSS px); iOS: 44×44pt hit region (Apple HIG); Android: 48×48dp (Material Design 3); extend hit area beyond visual bounds if neededtouch-spacing— Minimum 8px/8dp gap between touch targetshover-vs-tap— Use click/tap for primary interactions; don't rely on hover aloneloading-buttons— Prevent duplicate submissions during async operations; show busy state (spinner or progress); preserve a cancel or retry path where recovery is needed — do not simply disable when the user may need to interrupt or correcterror-feedback— Clear error messages near problemcursor-pointer— Addcursor: pointerto clickable elements (Web)gesture-conflicts— Avoid horizontal swipe on main content; prefer vertical scrolltap-delay— Usetouch-action: manipulationto reduce 300ms delay (Web)standard-gestures— Use platform standard gestures consistently; don't redefinesystem-gestures— Don't block system gestures (Control Center, back swipe, etc.)press-feedback— Visual feedback on press (ripple/highlight; MD3 state layers)haptic-feedback— Use haptic for confirmations and important actions; avoid overusegesture-alternative— Don't rely on gesture-only interactions; always provide visible controlssafe-area-awareness— Keep primary touch targets away from notch, Dynamic Island, gesture bar. For sticky bottom bars: usestyle={{ paddingBottom: "env(safe-area-inset-bottom, 0px)" }}directly — Tailwind'spb-saferequires thetailwindcss-safe-areaplugin; if it is not installed the class is silently ignored and iPhone home-indicator content gets clipped.no-precision-required— Avoid requiring pixel-perfect taps on small icons or thin edgesswipe-clarity— Swipe actions must show clear affordance or hintdrag-threshold— Use a movement threshold before starting drag to avoid accidental drags
3. Performance (HIGH)
image-optimization— Use AVIF progressively with WebP fallback (never AVIF-only; always include<source type="image/webp">fallback); use responsive images (srcset/sizes), lazy load non-critical assetsimage-dimension— Declarewidth/heightor useaspect-ratioto prevent layout shift (CLS)font-loading— Usefont-display: swaporoptionalto avoid invisible text (FOIT)font-preload— Preload only critical fonts; avoid overusingpreloadon every variantcritical-css— Prioritize above-the-fold CSS (inline critical CSS or early-loaded stylesheet)lazy-loading— Lazy load non-hero components via dynamic import / route-level splittingbundle-splitting— Split code by route/feature (React Suspense / Next.js dynamic) to reduce initial loadthird-party-scripts— Load third-party scriptsasync/defer; audit and remove unnecessary onesreduce-reflows— Avoid frequent layout reads/writes; batch DOM reads then writescontent-jumping— Reserve space for async content to avoid layout jumps (CLS < 0.1)lazy-load-below-fold— Useloading="lazy"for below-the-fold images and heavy mediavirtualize-lists— Virtualize lists with 50+ items to improve memory efficiency and scroll performancemain-thread-budget— Keep per-frame work under ~16ms for 60fps; move heavy tasks off main threadprogressive-loading— Use skeleton screens / shimmer instead of long blocking spinners for >1s operationsinput-latency— Keep input latency under ~100ms for taps/scrollstap-feedback-speed— Provide visual feedback within 100ms of tapdebounce-throttle— Use debounce/throttle for high-frequency events (scroll, resize, input)offline-support— Provide offline state messaging and basic fallback (PWA / mobile)network-fallback— Offer degraded modes for slow networks (lower-res images, fewer animations)container-queries— Use CSS container queries (@container) for component-level responsiveness; Baseline Widely Available (August 2025) — safe for productionview-transitions— Use the View Transitions API progressively for page/route transitions; Baseline Newly Available (October 2025) — distinguish single-document (well-supported) from cross-document (limited); always includeprefers-reduced-motionfallback and no-motion pathviewport-height-safe— Usemin-h-[100dvh]for full-height sections; neverh-screen— iOS Safari jumps catastrophically when the URL bar hides/showsbackdrop-blur-scope— Applybackdrop-bluronly to fixed/sticky elements (navbars, overlays); never on scrolling containers — causes continuous GPU repaints on mobileintersection-observer— For scroll-triggered animations useIntersectionObserver; neverwindow.addEventListener('scroll')— causes continuous reflows and kills mobile performance
4. Style Selection (HIGH)
style-match— Match style to product typeconsistency— Use same style across all pagesno-emoji-icons— Use SVG icons (Heroicons, Lucide, etc.) for navigation, buttons, toolbars, and controls; emoji may serve as decorative or editorial content in consumer, education, chat, or casual apps where brand-appropriate and not required for comprehensionno-side-stripe-borders— Never useborder-leftorborder-right>1px as colored accent on cards, alerts, or list items — use background tints, full borders, or spacing insteadcolor-palette-from-product— Choose palette from product/industry contexteffects-match-style— Shadows, blur, radius aligned with chosen styleplatform-adaptive— Respect platform idioms (iOS HIG vs Material Design 3)state-clarity— Make hover/pressed/disabled states visually distinct while staying on-styleelevation-consistent— Use a consistent elevation/shadow scale for cards, sheets, modalsdark-mode-pairing— Design light/dark variants togethericon-style-consistent— Use one icon set/visual language across the productsystem-controls— Prefer native/system controls; only customize when branding requires itblur-purpose— Use blur to indicate background dismissal (modals, sheets), not as decorationprimary-action— Each task region should have one clear primary action; avoid competing primary CTAs unless the screen supports multiple independent workflows (dashboards, admin panels, creative tools, or multi-step task surfaces may legitimately have more than one)
5. Layout & Responsive (HIGH)
viewport-meta—width=device-width initial-scale=1(never disable zoom)mobile-first— Design mobile-first, then scale up to tablet and desktopbreakpoint-consistency— Use systematic breakpoints (e.g. 375 / 768 / 1024 / 1440)readable-font-size— Minimum 16px body text on mobile (avoids iOS auto-zoom)line-length-control— Mobile 35–60 chars per line; desktop 60–75 charshorizontal-scroll— No horizontal scroll on mobilespacing-scale— Use 4pt/8dp incremental spacing systemtouch-density— Keep component spacing comfortable for touchcontainer-width— Consistent max-width on desktop (max-w-6xl/7xl)z-index-management— Define layered z-index scale (e.g. 0 / 10 / 20 / 40 / 100 / 1000)fixed-element-offset— Fixed navbar/bottom bar must reserve safe padding for underlying contentscroll-behavior— Avoid nested scroll regions that interfere with the main scroll experienceviewport-units— Prefermin-h-dvhover100vhon mobileorientation-support— Keep layout readable and operable in landscape modecontent-priority— Show core content first on mobile; fold or hide secondary contentvisual-hierarchy— Establish hierarchy via size, spacing, contrast — not color alonegrid-over-flex-math— Use CSS Grid for multi-column layouts; nevercalc(33% - 1rem)flexbox math — unreliable across browsersscroll-smooth— Addscroll-behavior: smoothon<html>for anchor link navigationsemantic-html— Use<nav>,<main>,<article>,<aside>,<section>; avoid div soup — improves accessibility and SEOhero-image-anchor— Background images must be anchored OPPOSITE to the primary text position: text left →object-right; text right →object-left; centered text →object-center. Prevents the image subject from being obscured by text overlay when the viewport narrows. Applies to hero sections, full-bleed section backgrounds, and anyfill-mode next/image with overlaid content.card-equal-height— CSS Grid stretches grid items to row height automatically, but nested wrapper divs do not inherit that height unless explicit. Addh-fullto every div in the wrapper chain (article → outer bezel → inner card div). Addflex flex-colto the card andflex-1to the variable-length content area (description, bio, body text). CTA rows and footers then align to card bottom regardless of content length.
6. Typography & Color (MEDIUM)
line-height— Use 1.5–1.75 for body textline-length— Limit to 65–75 characters per linefont-pairing— Match heading/body font personalitiesfont-scale— Consistent type scale (e.g. 12 14 16 18 24 32)contrast-readability— Darker text on light backgrounds (e.g. slate-900 on white)text-styles-system— Use platform type system: iOS Dynamic Type / Material 3 type rolesweight-hierarchy— Bold headings (600–700), Regular body (400), Medium labels (500)color-semantic— Define semantic color tokens (primary, secondary, error, surface, on-surface) not raw hexcolor-dark-mode— Dark mode uses desaturated / lighter tonal variants, not inverted colorscolor-accessible-pairs— Foreground/background pairs must meet 4.5:1 (AA) or 7:1 (AAA); verify with toolscolor-not-decorative-only— Functional color (error red, success green) must include icon/texttruncation-strategy— Prefer wrapping over truncation; when truncating use ellipsis and tooltipletter-spacing— Respect default letter-spacing per platform; avoid tight tracking on body textnumber-tabular— Applyfont-variant-numeric: tabular-numsto all price, metric, and data columns to prevent layout shift on number updateswhitespace-balance— Use whitespace intentionally to group related items; avoid visual cluttertext-wrap-headings— Usetext-wrap: balanceon headings andtext-wrap: prettyon body to prevent orphaned wordsno-pure-black— Avoid#000000for text; use off-black (#111111/#0a0a0a) — pure black on white creates harsh contrast that strains reading
7. Animation (MEDIUM)
duration-timing— Use 150–300ms for micro-interactions; complex transitions ≤400ms; avoid >500mstransform-performance— Usetransform/opacityonly; avoid animatingwidth/height/top/leftprogress-bar-scaleX— Animate progress bars and fill indicators withscaleX+transform-origin: left, notwidth. Animatingwidthtriggers layout recalculation every frame;scaleXruns on the GPU compositor.loading-states— Show skeleton or progress indicator when loading exceeds 300msexcessive-motion— Animate 1–2 key elements per view maxeasing— Use ease-out for entering, ease-in for exiting; avoid linear for UI transitionsmotion-meaning— Every animation must express a cause-effect relationship, not just be decorativestate-transition— State changes should animate smoothly, not snapcontinuity— Page/screen transitions should maintain spatial continuityparallax-subtle— Use parallax sparingly; must respectreduced-motionspring-physics— Prefer spring/physics-based curves over linear for natural feelexit-faster-than-enter— Exit animations shorter than enter (~60–70% of enter duration)stagger-sequence— Stagger list/grid item entrance by 30–50ms per itemshared-element-transition— Use shared element / hero transitions for visual continuityinterruptible— Animations must be interruptible; user tap/gesture cancels in-progress animationno-blocking-animation— Never block user input during an animationscale-feedback— Subtle scale (0.95–1.05) on press for tappable cards/buttonsmotion-consistency— Unify duration/easing tokens globallymodal-motion— Modals/sheets should animate from their trigger source for spatial contextnavigation-direction— Forward navigation commonly animates left/up, backward right/down — applies to LTR mobile stacks; adapt for RTL layouts, platform conventions (iOS swipe-back, Android predictive back), desktop, split views, and non-stack transitionsmotion-state-isolation— For magnetic hover or infinite loops with Motion/Framer Motion: useuseMotionValue+useTransformoutside render cycle; neveruseState— prevents performance collapse on mobilemarquee-drag-pattern— For auto-scrolling carousels that also support manual drag: useuseMotionValue+useAnimationFrame(accumulator pattern) for continuous scroll,drag="x"withdragMomentum={false}anddragElastic={0}for manual override. AnisDraggingref pauses the animation frame during drag;onDragEndsyncs the accumulator tomotionX.get()so scroll resumes seamlessly from where the user released. Never use CSSanimation: marqueewhen manual drag is needed — CSS animations cannot co-exist with JS position control.
8. Forms & Feedback (MEDIUM)
input-labels— Visible label per input (not placeholder-only)error-placement— Show error below the related fieldsubmit-feedback— Loading then success/error state on submitrequired-indicators— Mark required fields (e.g. asterisk)empty-states— Helpful message and action when no contenttoast-dismiss— Auto-dismiss toasts in 3–5s for informational messages only; toasts containing errors, required actions, or critical confirmations must not auto-dismiss or must be persistent and dismissible by the userconfirmation-dialogs— Confirm before destructive actionsinput-helper-text— Provide persistent helper text below complex inputsdisabled-states— Disabled elements use reduced opacity (0.38–0.5) + cursor changeprogressive-disclosure— Reveal complex options progressively; don't overwhelm users upfrontinline-validation— Validate on blur (not keystroke); show error only after user finishes inputinput-type-keyboard— Use semantic input types (email,tel,number) to trigger correct mobile keyboardpassword-toggle— Provide show/hide toggle for password fieldsautofill-support— Useautocomplete/textContentTypeattributesundo-support— Allow undo for destructive or bulk actionssuccess-feedback— Confirm completed actions with brief visual feedbackerror-recovery— Error messages must include a clear recovery path (retry, edit, help link)multi-step-progress— Multi-step flows show step indicator or progress bar; allow back navigationform-autosave— Long forms should auto-save drafts to prevent data losserror-clarity— Error messages must state cause + how to fix (not just "Invalid input")field-grouping— Group related fields logicallyfocus-management— After submit error, auto-focus the first invalid field (WCAG)error-summary— For multiple errors, show summary at top with anchor links to each fieldmodal-last-resort— Modals interrupt flow and block content; exhaust inline editing, slide-overs, or expandable sections first — modals are for high-stakes confirmation onlyno-window-alert— Never usewindow.alert()orwindow.confirm()— use custom inline messages and confirmation UI
9. Navigation Patterns (HIGH)
bottom-nav-limit— Bottom navigation max 5 items; use labels with icons (Material Design 3)drawer-usage— Use drawer/sidebar for secondary navigation, not primary actionsback-behavior— Back navigation must be predictable and consistent; preserve scroll/statedeep-linking— All key screens must be reachable via deep link / URLtab-bar-ios— iOS: use bottom Tab Bar for top-level navigation (Apple HIG)top-app-bar-android— Android: use Top App Bar with navigation icon (Material Design 3)nav-label-icon— Navigation items must have both icon and text labelnav-state-active— Current location must be visually highlighted in navigationnav-hierarchy— Primary nav (tabs/bottom bar) vs secondary nav (drawer/settings) must be clearly separatedmodal-escape— Modals and sheets must offer a clear close/dismiss affordancesearch-accessible— Search must be easily reachable; provide recent/suggested queriesbreadcrumb-web— Web: use breadcrumbs for 3+ level deep hierarchiesstate-preservation— Navigating back must restore previous scroll position, filter state, and inputgesture-nav-support— Support system gesture navigation (iOS swipe-back, Android predictive back)tab-badge— Use badges on nav items sparingly; clear after user visitsadaptive-navigation— Large screens (≥1024px) prefer sidebar; small screens use bottom/top navback-stack-integrity— Never silently reset the navigation stacknavigation-consistency— Navigation placement must stay the same across all pages
10. Charts & Data (LOW)
chart-type— Match chart type to data type (trend → line, comparison → bar, proportion → pie/donut)color-guidance— Use accessible color palettes; avoid red/green only pairs for colorblind usersdata-table— Provide table alternative for accessibilitypattern-texture— Supplement color with patterns or shapes so data is distinguishable without colorlegend-visible— Always show legend; position near the charttooltip-on-interact— Provide tooltips/data labels on hover (Web) or tap (mobile)axis-labels— Label axes with units and readable scaleresponsive-chart— Charts must reflow or simplify on small screensempty-data-state— Show meaningful empty state when no data existsloading-chart— Use skeleton or shimmer placeholder while chart data loadsanimation-optional— Chart entrance animations must respectprefers-reduced-motionlarge-dataset— For 1000+ data points, aggregate or sample; provide drill-down for detailnumber-formatting— Use locale-aware formatting for numbers, dates, currenciesno-pie-overuse— Avoid pie/donut for >5 categories; switch to bar chart for claritysortable-table— Data tables must support sorting witharia-sortindicating current sort state
11. Interaction States (HIGH)
Every interactive component needs all states implemented — AI default is to only build the "success" state.
loading-state— Skeleton loaders matching exact layout shape for async content; no generic circular spinners for content areasempty-state— Designed "getting started" view when no data exists — not blank space; include a clear actionerror-state— Clear inline error messages with recovery path; neverwindow.alert()active-feedback— Tactile press feedback:scale(0.98)ortranslateY(1px)on:activeto simulate physical clickhover-state— Every interactive element has a hover state (background shift, scale, or color change)focus-visible—:focus-visiblefor keyboard users; never remove outline without replacing itdisabled-visual— Disabled elements look unclickable; reduced opacity +cursor: not-allowed+ no interactiondependency-check— Before importing any animation or UI library, verify it exists inpackage.json— never assume availability
12. Launch Completeness (MEDIUM)
Items AI consistently forgets before shipping.
meta-tags— Include<title>,<meta name="description">,og:title,og:description,og:image(physical file must exist in/public/— declaring it in metadata without the file produces broken social previews),twitter:cardon every page. In Next.js App Router: declare in themetadataexport oflayout.tsxorpage.tsx.favicon— Always include a branded favicon; no browser defaultlegal-footer— Privacy policy + terms of service links in footer where legally requiredcustom-404— Custom branded 404 page with navigation back; never expose server default. In Next.js:app/not-found.tsx. Also addapp/sitemap.tsfor SEO crawlability.legal-links-real— Footer privacy policy and terms links must point to real pages, nothref="#". Dead legal links are both a UX failure and a compliance risk in jurisdictions that require accessible privacy notices.skip-to-content— Hidden skip-link at page top for keyboard users:<a href="#main" class="sr-only focus:not-sr-only">cookie-consent— Compliant consent banner where required by jurisdiction (EU, UK, CA)no-dead-links— No buttons or links pointing to#without a real destination or disabled stateform-validation— Client-side validation for email format, required fields, and length limitsback-navigation— Every page has a way back; no dead ends in user flows
How to Use
Step 1: Analyze Requirements
Extract key information from the user request:
- Product type: Entertainment (social, video, music, gaming), Tool (scanner, editor, converter), Productivity (task manager, notes, calendar), or hybrid
- Target audience: Consumer or professional; consider age group and usage context
- Style keywords: playful, vibrant, minimal, dark mode, content-first, immersive, etc.
- Stack: Choose from the 16 supported stacks: React, Next.js, Vue, Nuxt, Nuxt UI, Astro, Svelte, HTML/Tailwind, shadcn/ui, React Native, Flutter, SwiftUI, Jetpack Compose, Angular, Laravel, Three.js
Step 2: Generate Design System
Clone skill-ui-ux-Libera into a stable location (LIBERA convention: D:\dev\skill-ui-ux-Libera on Windows, ~/dev/skill-ui-ux-Libera on macOS/Linux) and run from the repository root:
# macOS / Linux
python3 scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
# Windows (python3 is not recognized - use py or python)
py scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
If scripts are not installed: do not claim access to style, color, typography, product, or chart databases. Apply the Quick Reference checklist manually starting from Priority 1, state assumptions explicitly, and use manual reasoning for design decisions.
Step 3: Domain Deep-Dives (as needed)
| Need | Domain |
|---|---|
| Product type patterns | product |
| Style options | style |
| Color palettes | color |
| Font pairings | typography |
| Chart recommendations | chart |
| UX best practices | ux |
Step 4: Stack Guidelines
Apply stack-specific best practices for your chosen framework. All 16 stacks supported (see data/stacks/): React, Next.js, Vue, Nuxt, Nuxt UI, Astro, Svelte, HTML/Tailwind, shadcn/ui, React Native, Flutter, SwiftUI, Jetpack Compose, Angular, Laravel, Three.js.
Pre-Delivery Checklist
Visual Quality
- No emojis used as primary functional icons (SVG for navigation, buttons, controls)
- All icons come from a consistent icon family and style
- Semantic theme tokens are used consistently (no hardcoded hex in components)
Interaction
- All tappable elements provide clear pressed feedback
- Touch targets meet minimum size (≥44×44pt iOS, ≥48×48dp Android, ≥24×24px web)
- Micro-interaction timing stays in the 150–300ms range
- Disabled states are visually clear and non-interactive
- Screen reader focus order matches visual order
Light/Dark Mode
- Primary text contrast ≥4.5:1 in both light and dark mode
- Secondary text contrast ≥3:1 in both modes
- Both themes tested before delivery
Layout
- Safe areas respected for headers, tab bars, and bottom CTA bars
- Scroll content not hidden behind fixed/sticky bars
- Verified on small phone, large phone, and tablet (portrait + landscape)
- 4/8dp spacing rhythm maintained
Accessibility
- All meaningful images/icons have accessibility labels
- Decorative images use
alt=""and decorative icons usearia-hidden="true" - Form fields have labels, hints, and clear error messages
- Color is not the only indicator
- Reduced motion and dynamic text size supported — Framer Motion projects:
<MotionConfig reducedMotion="user">in root layout - Accessibility traits/roles/states announced correctly
Performance (2025)
- Images use AVIF format with WebP fallback (never AVIF-only)
- Container queries used where component-level responsiveness is needed
- View Transitions API used progressively with no-motion fallback
- CLS < 0.1 verified
- Full-height sections use
min-h-[100dvh], noth-screen -
backdrop-blurapplied only to fixed/sticky elements - Scroll animations use IntersectionObserver, not scroll event listener
Interaction States
- Loading state implemented (skeleton, not spinner)
- Empty state designed and implemented
- Error state with recovery path
- Active/pressed feedback on all interactive elements
- All library imports verified in
package.json
Launch Completeness
- Meta tags present: title, description, og:image, twitter:card
-
og:imagephysical file exists in/public/(not just declared in metadata) - Branded favicon present
- Legal links in footer (privacy policy, terms) point to real pages, not
href="#" - Custom 404 page — Next.js:
app/not-found.tsx -
app/sitemap.tspresent (Next.js) - Skip-to-content link present
- No dead links (
href="#"without disabled state) - Client-side form validation
Common Sticking Points
| Problem | What to Do |
|---|---|
| Can't decide on style/color | Re-run design system query with different keywords |
| Dark mode contrast issues | Quick Reference §6: color-dark-mode + color-accessible-pairs |
| Animations feel unnatural | Quick Reference §7: spring-physics + easing + exit-faster-than-enter |
| Form UX is poor | Quick Reference §8: inline-validation + error-clarity + focus-management |
| Navigation feels confusing | Quick Reference §9: nav-hierarchy + bottom-nav-limit + back-behavior |
| Layout breaks on small screens | Quick Reference §5: mobile-first + breakpoint-consistency |
| Performance / jank | Quick Reference §3: virtualize-lists + main-thread-budget + container-queries |
| Images slow to load | Use AVIF+WebP fallback; lazy-load-below-fold + image-dimension |
| iOS Safari layout jump | Replace h-screen with min-h-[100dvh] on full-height sections |
| Blur causes mobile lag | backdrop-blur only on fixed/sticky elements — never on scrolling containers |
| Scroll animations cause jank | Use IntersectionObserver; never window.addEventListener('scroll') |
| Component missing states | §11: implement loading + empty + error + active feedback for every component |
| Missing before launch | §12 checklist: meta tags, favicon, legal links, 404, skip-to-content |
| Image subject hidden under text overlay | §5 hero-image-anchor: anchor OPPOSITE to text — text left → object-right, text right → object-left |
| Cards unequal height in grid | §5 card-equal-height: h-full on every wrapper div in chain + flex flex-col on card + flex-1 on variable content |
| CSS marquee breaks when adding drag | §7 marquee-drag-pattern: use useMotionValue + useAnimationFrame — CSS animation cannot co-exist with JS position control |
Fork di ui-ux-pro-max v2.5.0 — LIBERA Studio, maggio 2026. Non sovrascrivere con aggiornamenti del plugin originale.
What ships with it: 38 files
1665.8 KB alongside SKILL.md, 3 of them executable
data/
- app-interface.csv9.5 KB
- charts.csv18.9 KB
- colors.csv31.5 KB
- design.csv103.7 KB
- draft.csv103.8 KB
- google-fonts.csv725.9 KB
- icons.csv20.2 KB
- landing.csv16.3 KB
- products.csv56.6 KB
- react-performance.csv14.5 KB
- stacks/angular.csv17.8 KB
- stacks/astro.csv11.6 KB
- stacks/flutter.csv10.2 KB
- stacks/html-tailwind.csv11.0 KB
- stacks/jetpack-compose.csv8.0 KB
- stacks/laravel.csv17.9 KB
- stacks/nextjs.csv12.2 KB
- stacks/nuxtjs.csv16.2 KB
- stacks/nuxt-ui.csv13.7 KB
- stacks/react.csv12.7 KB
- stacks/react-native.csv9.7 KB
- stacks/shadcn.csv15.5 KB
- stacks/svelte.csv10.8 KB
- stacks/swiftui.csv10.6 KB
- stacks/threejs.csv43.7 KB
- stacks/vue.csv10.7 KB
- styles.csv139.3 KB
- typography.csv48.5 KB
- ui-reasoning.csv51.7 KB
- ux-guidelines.csv18.2 KB
scripts/
- core.pyruns12.1 KB
- design_system.pyruns46.0 KB
- search.pyruns5.4 KB
- CHANGELOG.md1.3 KB
- CONTRIBUTING.md1.4 KB
- LICENSE1.1 KB
- NOTICE.md2.0 KB
- README.md5.6 KB
Gives 0 of the 12 instructions most design frontend skills give in ~8.7k tokens
Counted across 1,169 of the 1,878 authors here whose files we hold, read 2026-08-07
- Use CSS variables for color consistencyin 72 of 1169, across 23 files
- Commit to one bold aesthetic direction before codingin 72 of 1169, across 27 files
- Match implementation complexity to the aesthetic visionin 70 of 1169, across 20 files
- Add atmospheric background effects and texturesin 57 of 1169, across 9 files
- Use unexpected spatial compositions and layoutsin 56 of 1169, across 8 files
- Implement real working codein 55 of 1169, across 7 files
- Vary themes and aesthetics across different designsin 48 of 1169, across 7 files
- Launch chromium in headless modein 47 of 1169, across 4 files
- Close the browser when donein 47 of 1169, across 4 files
- Run provided scripts with help flag firstin 47 of 1169, across 4 files
- Wait for network idle statein 47 of 1169, across 4 files
- Use descriptive selectors for elementsin 47 of 1169, across 4 files
Said here and by no other author read
- apply relevant checks proportionate to the task
- resolve rule conflicts by safety then task completion
- select the five to ten most relevant checks
- use strict mode when requested
- do not override explicit user requirements
- respect platform specific touch target sizes
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.