leonxlnx/taste-skill1 file

Design Taste Frontend V1

The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which is a substantial rewrite. Use this v1 install name only if you need exact backward compatibility.

Specification
Skill ID
leonxlnx/taste-skill/design-taste-frontend-v1
Publisher
leonxlnx
Repository
taste-skill
Installs
2,343
Files
1
Synced
Sep 16, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

leonxlnx/taste-skill/design-taste-frontend-v1Installs these files
  • SKILL.md

What this skill tells the agent

High-Agency Frontend Skill

1. ACTIVE BASELINE CONFIGURATION

  • DESIGN_VARIANCE: 8 (1=Perfect Symmetry, 10=Artsy Chaos)
  • MOTION_INTENSITY: 6 (1=Static/No movement, 10=Cinematic/Magic Physics)
  • VISUAL_DENSITY: 4 (1=Art Gallery/Airy, 10=Pilot Cockpit/Packed Data)

AI Instruction: The standard baseline for all generations is strictly set to these values (8, 6, 4). Do not ask the user to edit this file. Otherwise, ALWAYS listen to the user: adapt these values dynamically based on what they explicitly request in their chat prompts. Use these baseline (or user-overridden) values as your global variables to drive the specific logic in Sections 3 through 7.

2. DEFAULT ARCHITECTURE & CONVENTIONS

Unless the user explicitly specifies a different stack, adhere to these structural constraints to maintain consistency:

  • DEPENDENCY VERIFICATION [MANDATORY]: Before importing ANY 3rd party library (e.g. framer-motion, lucide-react, zustand), you MUST check package.json. If the package is missing, you MUST output the installation command (e.g. npm install package-name) before providing the code. Never assume a library exists.
  • Framework & Interactivity: React or Next.js. Default to Server Components (RSC).
  • RSC SAFETY: Global state works ONLY in Client Components. In Next.js, wrap providers in a "use client" component.
  • INTERACTIVITY ISOLATION: If Sections 4 or 7 (Motion/Liquid Glass) are active, the specific interactive UI component MUST be extracted as an isolated leaf component with 'use client' at the very top. Server Components must exclusively render static layouts.
  • State Management: Use local useState/useReducer for isolated UI. Use global state strictly for deep prop-drilling avoidance.
  • Styling Policy: Use Tailwind CSS (v3/v4) for 90% of styling.
  • TAILWIND VERSION LOCK: Check package.json first. Do not use v4 syntax in v3 projects.
  • T4 CONFIG GUARD: For v4, do NOT use tailwindcss plugin in postcss.config.js. Use @tailwindcss/postcss or the Vite plugin.
  • ANTI-EMOJI POLICY [CRITICAL]: NEVER use emojis in code, markup, text content, or alt text. Replace symbols with high-quality icons (Radix, Phosphor) or clean SVG primitives. Emojis are BANNED.
  • Responsiveness & Spacing:
  • Standardize breakpoints (sm, md, lg, xl).
  • Contain page layouts using max-w-[1400px] mx-auto or max-w-7xl.
  • Viewport Stability [CRITICAL]: NEVER use h-screen for full-height Hero sections. ALWAYS use min-h-[100dvh] to prevent catastrophic layout jumping on mobile browsers (iOS Safari).
  • Grid over Flex-Math: NEVER use complex flexbox percentage math (w-[calc(33%-1rem)]). ALWAYS use CSS Grid (grid grid-cols-1 md:grid-cols-3 gap-6) for reliable structures.
  • Icons: You MUST use exactly @phosphor-icons/react or @radix-ui/react-icons as the import paths (check installed version). Standardize strokeWidth globally (e.g., exclusively use 1.5 or 2.0).

3. DESIGN ENGINEERING DIRECTIVES (Bias Correction)

LLMs have statistical biases toward specific UI cliché patterns. Proactively construct premium interfaces using these engineered rules:

Rule 1: Deterministic Typography

  • Display/Headlines: Default to text-4xl md:text-6xl tracking-tighter leading-none.
  • ANTI-SLOP: Discourage Inter for "Premium" or "Creative" vibes. Force unique character using Geist, Outfit, Cabinet Grotesk, or Satoshi.
  • TECHNICAL UI RULE: Serif fonts are strictly BANNED for Dashboard/Software UIs. For these contexts, use exclusively high-end Sans-Serif pairings (Geist + Geist Mono or Satoshi + JetBrains Mono).
  • Body/Paragraphs: Default to text-base text-gray-600 leading-relaxed max-w-[65ch].

Rule 2: Color Calibration

  • Constraint: Max 1 Accent Color. Saturation < 80%.
  • THE LILA BAN: The "AI Purple/Blue" aesthetic is strictly BANNED. No purple button glows, no neon gradients. Use absolute neutral bases (Zinc/Slate) with high-contrast, singular accents (e.g. Emerald, Electric Blue, or Deep Rose).
  • COLOR CONSISTENCY: Stick to one palette for the entire output. Do not fluctuate between warm and cool grays within the same project.

Rule 3: Layout Diversification

  • ANTI-CENTER BIAS: Centered Hero/H1 sections are strictly BANNED when DESIGN_VARIANCE > 4. Force "Split Screen" (50/50), "Left Aligned content/Right Aligned asset", or "Asymmetric White-space" structures.

Rule 4: Materiality, Shadows, and "Anti-Card Overuse"

  • DASHBOARD HARDENING: For VISUAL_DENSITY > 7, generic card containers are strictly BANNED. Use logic-grouping via border-t, divide-y, or purely negative space. Data metrics should breathe without being boxed in unless elevation (z-index) is functionally required.
  • Execution: Use cards ONLY when elevation communicates hierarchy. When a shadow is used, tint it to the background hue.

Rule 5: Interactive UI States

  • Mandatory Generation: LLMs naturally generate "static" successful states. You MUST implement full interaction cycles:
  • Loading: Skeletal loaders matching layout sizes (avoid generic circular spinners).
  • Empty States: Beautifully composed empty states indicating how to populate data.
  • Error States: Clear, inline error reporting (e.g., forms).
  • Tactile Feedback: On :active, use -translate-y-[1px] or scale-[0.98] to simulate a physical push indicating success/action.

Rule 6: Data & Form Patterns

  • Forms: Label MUST sit above input. Helper text is optional but should exist in markup. Error text below input. Use a standard gap-2 for input blocks.

4. CREATIVE PROACTIVITY (Anti-Slop Implementation)

To actively combat generic AI designs, systematically implement these high-end coding concepts as your baseline:

  • "Liquid Glass" Refraction: When glassmorphism is needed, go beyond backdrop-blur. Add a 1px inner border (border-white/10) and a subtle inner shadow (shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]) to simulate physical edge refraction.
  • Magnetic Micro-physics (If MOTION_INTENSITY > 5): Implement buttons that pull slightly toward the mouse cursor. CRITICAL: NEVER use React useState for magnetic hover or continuous animations. Use EXCLUSIVELY Framer Motion's useMotionValue and useTransform outside the React render cycle to prevent performance collapse on mobile.
  • Perpetual Micro-Interactions: When MOTION_INTENSITY > 5, embed continuous, infinite micro-animations (Pulse, Typewriter, Float, Shimmer, Carousel) in standard components (avatars, status dots, backgrounds). Apply premium Spring Physics (type: "spring", stiffness: 100, damping: 20) to all interactive elements—no linear easing.
  • Layout Transitions: Always utilize Framer Motion's layout and layoutId props for smooth re-ordering, resizing, and shared element transitions across state changes.
  • Staggered Orchestration: Do not mount lists or grids instantly. Use staggerChildren (Framer) or CSS cascade (animation-delay: calc(var(--index) * 100ms)) to create sequential waterfall reveals. CRITICAL: For staggerChildren, the Parent (variants) and Children MUST reside in the identical Client Component tree. If data is fetched asynchronously, pass the data as props into a centralized Parent Motion wrapper.

5. PERFORMANCE GUARDRAILS

  • DOM Cost: Apply grain/noise filters exclusively to fixed, pointer-event-none pseudo-elements (e.g., fixed inset-0 z-50 pointer-events-none) and NEVER to scrolling containers to prevent continuous GPU repaints and mobile performance degradation.
  • Hardware Acceleration: Never animate top, left, width, or height. Animate exclusively via transform and opacity.
  • Z-Index Restraint: NEVER spam arbitrary z-50 or z-10 unprompted. Use z-indexes strictly for systemic layer contexts (Sticky Navbars, Modals, Overlays).