design-taste-frontend by leonxlnx/taste-skill
npx skills add https://github.com/leonxlnx/taste-skill --skill design-taste-frontendAI 指令: 所有生成的基线标准严格设置为这些值 (8, 6, 4)。不要要求用户编辑此文件。否则,始终听从用户:根据他们在聊天提示中明确请求的内容动态调整这些值。使用这些基线(或用户覆盖的)值作为你的全局变量,来驱动第 3 到第 7 节中的具体逻辑。
除非用户明确指定不同的技术栈,否则请遵守以下结构约束以保持一致性:
framer-motion、lucide-react、zustand)之前,你必须检查 package.json。如果缺少该包,你必须在提供代码之前输出安装命令(例如 npm install package-name)。绝不假设库已存在。广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
RSC"use client" 组件中。'use client'。服务器组件必须仅渲染静态布局。useState/useReducer。严格为避免深层属性传递而使用全局状态。package.json。不要在 v3 项目中使用 v4 语法。postcss.config.js 中使用 tailwindcss 插件。使用 @tailwindcss/postcss 或 Vite 插件。sm, md, lg, xl)。max-w-[1400px] mx-auto 或 max-w-7xl 来包含页面布局。h-screen。始终使用 min-h-[100dvh],以防止移动浏览器(iOS Safari)上灾难性的布局跳动。w-[calc(33%-1rem)])。始终使用 CSS 网格 (grid grid-cols-1 md:grid-cols-3 gap-6) 来构建可靠的结构。@phosphor-icons/react 或 @radix-ui/react-icons 作为导入路径(检查已安装版本)。全局标准化 strokeWidth(例如,统一使用 1.5 或 2.0)。LLM 对特定的 UI 陈词滥调模式存在统计偏差。使用这些工程规则主动构建优质界面:
规则 1:确定性排版
text-4xl md:text-6xl tracking-tighter leading-none。
Inter。强制使用 Geist、Outfit、Cabinet Grotesk 或 Satoshi 来体现独特个性。Geist + Geist Mono 或 Satoshi + JetBrains Mono)。text-base text-gray-600 leading-relaxed max-w-[65ch]。规则 2:色彩校准
规则 3:布局多样化
LAYOUT_VARIANCE > 4 时,居中的 Hero/H1 区域严格禁止。强制使用"分屏"(50/50)、"左对齐内容/右对齐资源"或"不对称留白"结构。规则 4:质感、阴影与"反卡片滥用"
VISUAL_DENSITY > 7,通用卡片容器严格禁止。通过 border-t、divide-y 或纯粹的负空间进行逻辑分组。数据指标应能自由呼吸,除非功能上需要层级(z-index),否则不应被框住。规则 5:交互式 UI 状态
:active 时,使用 -translate-y-[1px] 或 scale-[0.98] 来模拟物理按压,指示成功/动作。规则 6:数据与表单模式
gap-2。为了积极对抗通用的 AI 设计,系统性地实现这些高端编码概念作为你的基线:
backdrop-blur。添加 1px 内边框 (border-white/10) 和微妙的内阴影 (shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]) 来模拟物理边缘折射。useState 来处理磁性悬停或连续动画。仅使用 Framer Motion 的 useMotionValue 和 useTransform,在 React 渲染周期之外,以防止移动设备上的性能崩溃。MOTION_INTENSITY > 5 时,在标准组件(头像、状态点、背景)中嵌入连续、无限的微动画(脉冲、打字机、浮动、微光、轮播)。对所有交互元素应用优质的弹簧物理效果 (type: "spring", stiffness: 100, damping: 20)——不使用线性缓动。layout 和 layoutId 属性,实现状态变化时平滑的重新排序、调整大小和共享元素过渡。staggerChildren(Framer)或 CSS 级联 (animation-delay: calc(var(--index) * 100ms)) 来创建顺序瀑布式显示。关键: 对于 staggerChildren,父组件 (variants) 和子组件必须位于相同的客户端组件树中。如果数据是异步获取的,则将数据作为属性传递给集中的父级 Motion 包装器。fixed inset-0 z-50 pointer-events-none),绝不应用于滚动容器,以防止持续的 GPU 重绘和移动设备性能下降。top、left、width 或 height。仅通过 transform 和 opacity 进行动画处理。z-50 或 z-10。严格为系统性层级上下文(粘性导航栏、模态框、覆盖层)使用 z-index。justify-center,严格的 12 列对称网格,相等的内边距。margin-top: -2rem 重叠,变化的图像宽高比(例如,4:3 与 16:9 相邻),左对齐标题覆盖居中对齐的数据。grid-template-columns: 2fr 1fr 1fr),巨大的空白区域 (padding-left: 20vw)。md: 以上的不对称布局必须在视口 < 768px 时强制回退到严格的单列布局 (w-full, px-4, py-8),以防止水平滚动和布局破坏。:hover 和 :active 状态。transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)。使用 animation-delay 级联进行加载进入。严格专注于 transform 和 opacity。谨慎使用 will-change: transform。window.addEventListener('scroll')。font-mono)。为了保证优质、非通用的输出,你必须严格避免这些常见的 AI 设计特征,除非用户明确要求:
box-shadow 发光或自动发光。使用内边框或微妙的着色阴影。#000000。使用深灰黑、Zinc-950 或炭黑色。Geist、Outfit、Cabinet Grotesk 或 Satoshi。99.99%、50% 或基本电话号码 (1234567)。使用有机、杂乱的数据 (47.2%、+1 (312) 847-1928)。https://picsum.photos/seed/{random_string}/800/600 或 SVG UI 头像。shadcn/ui,但绝不以其通用的默认状态使用。你必须定制圆角、颜色和阴影以匹配高端项目的美学。不要默认使用通用 UI。从这个高级概念库中汲取灵感,确保输出在视觉上引人注目且令人难忘。在适当的时候,利用 GSAP (ScrollTrigger/Parallax) 进行复杂的滚动叙事,或 ThreeJS/WebGL 进行 3D/Canvas 动画,而不是基本的 CSS 运动。关键: 绝不在同一组件树中混合使用 GSAP/ThreeJS 和 Framer Motion。对于 UI/Bento 交互,默认使用 Framer Motion。仅将 GSAP/ThreeJS 用于隔离的全页滚动叙事或画布背景,并包装在严格的 useEffect 清理块中。
在生成现代 SaaS 仪表盘或功能区域时,你必须利用以下"Bento 2.0"架构和运动理念。这超越了静态卡片,并强制执行严重依赖持续物理效果的"Vercel-core 遇见 Dribbble-clean"美学。
#f9fafb。卡片为纯白色 (#ffffff),带有 1px 的 border-slate-200/50 边框。rounded-[2.5rem]。应用"扩散阴影"(一种非常轻、扩散范围广的阴影,例如 shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)])以在不造成混乱的情况下创造深度。Geist、Satoshi 或 Cabinet Grotesk 字体栈。对标题使用微妙的字距 (tracking-tight)。p-8 或 p-10 内边距。所有卡片必须包含**"持续微交互"**。使用以下 Framer Motion 原则:
type: "spring", stiffness: 100, damping: 20 以获得优质、有分量的感觉。layout 和 layoutId 属性,以确保平滑的重新排序、调整大小和共享元素状态过渡。<AnimatePresence> 中,并针对 60fps 进行优化。性能关键: 任何持续运动或无限循环必须被记忆化 (React.memo) 并完全隔离在其自身的微型客户端组件中。绝不在父布局中触发重新渲染。在构建 Bento 网格时实现这些特定的微动画(例如,第 1 行:3 列 | 第 2 行:2 列 70/30 分割):
layoutId 交换位置,模拟 AI 实时优先处理任务。x: ["0%", "-100%"]),速度感觉轻松。在输出之前,根据此矩阵评估你的代码。这是你应用于逻辑的最后一道过滤器。
w-full, px-4, max-w-7xl mx-auto)?min-h-[100dvh] 而不是有缺陷的 h-screen?useEffect 动画是否包含严格的清理函数?每周安装量
3.1K
仓库
GitHub 星标
5.5K
首次出现
2026年2月21日
安全审计
安装于
codex3.1K
opencode3.1K
gemini-cli3.0K
github-copilot3.0K
cursor3.0K
amp3.0K
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.
Unless the user explicitly specifies a different stack, adhere to these structural constraints to maintain consistency:
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.RSC).
"use client" component.'use client' at the very top. Server Components must exclusively render static layouts.useState/useReducer for isolated UI. Use global state strictly for deep prop-drilling avoidance.package.json first. Do not use v4 syntax in v3 projects.tailwindcss plugin in postcss.config.js. Use @tailwindcss/postcss or the Vite plugin.sm, md, lg, xl).max-w-[1400px] mx-auto or max-w-7xl.h-screen for full-height Hero sections. ALWAYS use min-h-[100dvh] to prevent catastrophic layout jumping on mobile browsers (iOS Safari).w-[calc(33%-1rem)]). ALWAYS use CSS Grid () for reliable structures.@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).LLMs have statistical biases toward specific UI cliché patterns. Proactively construct premium interfaces using these engineered rules:
Rule 1: Deterministic Typography
text-4xl md:text-6xl tracking-tighter leading-none.
Inter for "Premium" or "Creative" vibes. Force unique character using Geist, Outfit, Cabinet Grotesk, or Satoshi.Geist + Geist Mono or Satoshi + ).Rule 2: Color Calibration
Rule 3: Layout Diversification
LAYOUT_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"
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.Rule 5: Interactive UI States
:active, use -translate-y-[1px] or scale-[0.98] to simulate a physical push indicating success/action.Rule 6: Data & Form Patterns
gap-2 for input blocks.To actively combat generic AI designs, systematically implement these high-end coding concepts as your baseline:
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.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.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.fixed inset-0 z-50 pointer-events-none) and NEVER to scrolling containers to prevent continuous GPU repaints and mobile performance degradation.top, left, width, or height. Animate exclusively via transform and opacity.z-50 or z-10 unprompted. Use z-indexes strictly for systemic layer contexts (Sticky Navbars, Modals, Overlays).justify-center, strict 12-column symmetrical grids, equal paddings.margin-top: -2rem overlapping, varied image aspect ratios (e.g., 4:3 next to 16:9), left-aligned headers over center-aligned data.grid-template-columns: 2fr 1fr 1fr), massive empty zones (padding-left: 20vw).md: MUST aggressively fall back to a strict, single-column layout (w-full, px-4, py-8) on viewports < 768px to prevent horizontal scrolling and layout breakage.:hover and :active states only.transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1). Use animation-delay cascades for load-ins. Focus strictly on transform and opacity. Use will-change: transform sparingly.window.addEventListener('scroll').font-mono) for all numbers.To guarantee a premium, non-generic output, you MUST strictly avoid these common AI design signatures unless explicitly requested:
box-shadow glows or auto-glows. Use inner borders or subtle tinted shadows.#000000. Use Off-Black, Zinc-950, or Charcoal.Geist, Outfit, Cabinet Grotesk, or Satoshi.99.99%, 50%, or basic phone numbers (1234567). Use organic, messy data (47.2%, +1 (312) 847-1928).https://picsum.photos/seed/{random_string}/800/600 or SVG UI Avatars.shadcn/ui, but NEVER in its generic default state. You MUST customize the radii, colors, and shadows to match the high-end project aesthetic.Do not default to generic UI. Pull from this library of advanced concepts to ensure the output is visually striking and memorable. When appropriate, leverage GSAP (ScrollTrigger/Parallax) for complex scrolltelling or ThreeJS/WebGL for 3D/Canvas animations, rather than basic CSS motion. CRITICAL: Never mix GSAP/ThreeJS with Framer Motion in the same component tree. Default to Framer Motion for UI/Bento interactions. Use GSAP/ThreeJS EXCLUSIVELY for isolated full-page scrolltelling or canvas backgrounds, wrapped in strict useEffect cleanup blocks.
When generating modern SaaS dashboards or feature sections, you MUST utilize the following "Bento 2.0" architecture and motion philosophy. This goes beyond static cards and enforces a "Vercel-core meets Dribbble-clean" aesthetic heavily reliant on perpetual physics.
#f9fafb. Cards are pure white (#ffffff) with a 1px border of border-slate-200/50.rounded-[2.5rem] for all major containers. Apply a "diffusion shadow" (a very light, wide-spreading shadow, e.g., shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)]) to create depth without clutter.Geist, Satoshi, or Cabinet Grotesk font stack. Use subtle tracking (tracking-tight) for headers.All cards must contain "Perpetual Micro-Interactions." Use the following Framer Motion principles:
type: "spring", stiffness: 100, damping: 20 for a premium, weighty feel.layout and layoutId props to ensure smooth re-ordering, resizing, and shared element state transitions.<AnimatePresence> and optimize for 60fps. PERFORMANCE CRITICAL: Any perpetual motion or infinite loop MUST be memoized (React.memo) and completely isolated in its own microscopic Client Component. Never trigger re-renders in the parent layout.Implement these specific micro-animations when constructing Bento grids (e.g., Row 1: 3 cols | Row 2: 2 cols split 70/30):
layoutId, simulating an AI prioritizing tasks in real-time.x: ["0%", "-100%"]) with a speed that feels effortless.Evaluate your code against this matrix before outputting. This is the last filter you apply to your logic.
w-full, px-4, max-w-7xl mx-auto) guaranteed for high-variance designs?min-h-[100dvh] instead of the bugged h-screen?useEffect animations contain strict cleanup functions?Weekly Installs
3.1K
Repository
GitHub Stars
5.5K
First Seen
Feb 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex3.1K
opencode3.1K
gemini-cli3.0K
github-copilot3.0K
cursor3.0K
amp3.0K
99,500 周安装
grid grid-cols-1 md:grid-cols-3 gap-6JetBrains Monotext-base text-gray-600 leading-relaxed max-w-[65ch].layout and layoutId props for smooth re-ordering, resizing, and shared element transitions across state changes.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.p-8 or p-10 padding inside cards.