選項
首頁首頁 Skill 其他 design-taste-frontend-v1

design-taste-frontend-v1

nexu-io/open-design nexu-io/open-design

原始的 v1 taste-skill,保留給依賴其精確行為的專案使用。目前的預設值為 `design-taste-frontend`(v2 實驗版),這是經過大幅重寫的版本。僅當您需要精確的向後相容性時,才應使用此 v1 安裝名稱。

...展開全部
27
更新時間 2026-08-15

高度自主的前端技能

1. 主動基準配置

  • 設計變異度:8(1=完美對稱,10=藝術性混沌)
  • MOTION_INTENSITY:6(1=靜態/無動作,10=電影級/魔法物理)
  • 視覺密度:4(1=藝術畫廊/通透,10=駕駛艙/數據密集)

AI 指示:所有生成任務的標準基準值均嚴格設定為這些數值(8、6、4)。 請勿要求使用者編輯此檔案。否則,務必始終聽從使用者指示:根據使用者在聊天提示中明確提出的要求,動態調整這些數值。請將這些基準值(或使用者覆寫的數值)作為全域變數,用以驅動第 3 至 7 節中的特定邏輯。

2. 預設架構與規範

除非使用者明確指定不同的技術堆疊,否則請遵循以下結構限制以維持一致性:

  • 依賴項驗證 [強制要求]:在導入任何第三方函式庫(例如framer-motion、lucide-react、zustand)之前,您必須檢查package.json。 若缺少該套件,您必須在提供程式碼前輸出安裝指令(例如:npm install 套件名稱)。切勿假設某個函式庫已存在。
  • 框架與互動性:React 或 Next.js。預設使用伺服器端元件(RSC)。
    • RSC 安全注意事項:全域狀態僅在客戶端元件中有效。在 Next.js 中,請將提供者包裹在「use client」元件內。
    • 互動性隔離:若第 4 或 7 節(動畫/液態玻璃效果)處於啟用狀態,相關的互動式 UI 元件必須被萃取為獨立的葉子元件,並在元件最頂端加入'use client'。伺服器元件僅限渲染靜態佈局。
  • 狀態管理:針對隔離的 UI,請使用局部`useState`/`useReducer`。全球狀態僅限用於嚴格避免深度 prop 鑽取。
  • 樣式政策:90% 的樣式應使用 Tailwind CSS(v3/v4)。
    • TAILWIND 版本鎖定:請先檢查package.json。請勿在 v3 專案中使用 v4 語法。
    • T4 配置防護:對於 v4,請勿在postcss.config.js 中使用tailwindcss外掛。請改用@tailwindcss/postcss或 Vite 外掛。
  • 反表情符號政策 [關鍵]:絕不在程式碼、標記、文字內容或替代文字中使用表情符號。請以高品質圖示(Radix、Phosphor)或簡潔的 SVG 基本圖形取代符號。表情符號被嚴禁使用。
  • 響應式設計與間距:
    • 將斷點標準化為 (sm、md、lg、xl)。
    • 使用max-w-[1400px] mx-auto或max-w-7xl 控制頁面佈局。
    • 視口穩定性 [關鍵]:絕不要在全高 Hero 區塊中使用h-screen。務必使用min-h-[100dvh],以防止在行動瀏覽器(iOS Safari)上發生災難性的版面跳動。
    • 網格優先於 Flex 運算:絕不使用複雜的 Flexbox 百分比運算(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)。

3. 設計工程指引(偏見校正)

大型語言模型(LLMs)在特定 UI 陳腔濫調模式上存在統計偏見。請運用以下工程化規則,主動構建優質介面:

規則 1:確定性排版

  • 顯示文字/標題:預設為text-4xl、md:text-6xl、tracking-tighter、leading-none。
    • 反敷衍:避免使用Inter字體營造「高階」或「創意」氛圍。強制採用Geist、Outfit、Cabinet Grotesk 或Satoshi 等字體展現獨特風格。
    • 技術性 UI 規則:儀表板/軟體 UI 嚴格禁止使用襯線字體。在此類情境下,請僅使用高端無襯線字體組合(Geist+Geist Mono或Satoshi+JetBrains Mono)。
  • 正文/段落:預設為text-base text-gray-600 leading-relaxed max-w-[65ch]。

規則 2:色彩校準

  • 限制:最多 1 種點綴色。飽和度 < 80%。
  • LILA 禁令:「AI 紫/藍」美學嚴格禁止。不得使用紫色按鈕光暈,亦不得使用霓虹色漸層。請採用絕對中性的底色(如 Zinc/Slate),搭配高對比度的單一點綴色(例如 Emerald、Electric Blue 或 Deep Rose)。
  • 色彩一致性:整個輸出作品須貫徹單一配色方案。同一專案內不得在暖灰色與冷灰色之間來回切換。

規則 3:版面配置多樣化

  • 反居中偏好:當LAYOUT_VARIANCE > 4 時,嚴格禁止將 Hero/H1 區塊居中對齊。必須採用「分屏」(50/50)、「內容左對齊/素材右對齊」或「非對稱留白」等結構。

規則 4:重要度、陰影與「反卡片濫用」

  • 儀表板強化:當視覺密度(VISUAL_DENSITY)> 7 時,嚴禁使用通用卡片容器。應透過border-t、divide-y 或純粹的負空間進行邏輯分組。除非功能上需要使用層級(z-index),否則數據指標應保持通透感,避免被框住。
  • 執行要點:僅當層級高度能有效傳達層級關係時,才使用卡片。若使用陰影,應將其色調調整為與背景色相近。

規則 5:互動式 UI 狀態

  • 強制生成:大型語言模型(LLMs)會自然產生「靜態」的成功狀態。您必須實作完整的互動週期:
    • 載入中:與佈局尺寸相符的骨架式載入器(避免使用通用圓形旋轉圖示)。
    • 空狀態:美感兼具的空狀態,明確指示資料應如何填入。
    • 錯誤狀態:清晰、內嵌式的錯誤回報(例如表單)。
    • 觸覺反饋:在:active 狀態下,使用-translate-y-[1px]或scale-[0.98]來模擬物理按壓效果,以表示成功或動作完成。

規則 6:資料與表單模式

  • 表單:標籤必須置於輸入框上方。輔助文字雖為可選,但應存在於標記中。錯誤文字應置於輸入框下方。輸入區塊請使用標準的gap-2 間距。

4. 創意思考與主動性(反敷衍式實作)

為積極對抗千篇一律的 AI 設計,請系統性地將以下高端編碼概念作為您的基準:

  • 「液態玻璃」折射:當需要玻璃形態效果時,請超越單純的 `background-blur`。 添加 1px 的內邊框(border-white/10)與微妙的內陰影(shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]]),以模擬物理邊緣的折射效果。
  • 磁性微物理效果(若 MOTION_INTENSITY > 5):實作會輕微朝滑鼠游標方向拉動的按鈕。關鍵注意事項:切勿使用 React 的useState來實現磁性懸停或連續動畫。 請僅在 React 渲染週期之外,使用 Framer Motion 的useMotionValue和useTransform,以防止行動裝置上的效能崩潰。
  • 持續性微互動:當MOTION_INTENSITY > 5 時,將連續且無限的微動畫(脈衝、打字機、漂浮、閃爍、輪播)嵌入標準元件(頭像、狀態點、背景)中。 對所有互動元素套用高級彈簧物理效果(type: "spring", stiffness: 100, damping: 20)——切勿使用線性緩動。
  • 佈局轉場:始終使用 Framer Motion 的layout和layoutId屬性,以實現跨狀態變更的平滑重新排序、調整大小及共用元素轉場。
  • 交錯式協調:請勿立即掛載清單或網格。請使用staggerChildren(Framer)或 CSS 級聯(animation-delay: calc(var(--index) * 100ms))來建立序列化的瀑布式顯示效果。重要提示:對於staggerChildren,父元件(變體)與子元件必須位於相同的 Client Component 樹中。若資料是異步擷取的,請將資料作為 props 傳入中央化的 Parent Motion 封裝元件中。

5. 效能防護措施

  • DOM 成本:僅將顆粒/噪點濾鏡套用至固定且設定為 pointer-events-none 的偽元素(例如:fixed inset-0 z-50 pointer-events-none),切勿套用至捲動容器,以避免 GPU 持續重繪及行動裝置效能下降。
  • 硬體加速:切勿對top、left、width 或height 進行動畫處理。僅透過transform和opacity 進行動畫。
  • Z-Index 限制:絕不要在未經觸發的情況下濫用任意的z-50或z-10。Z-Index 僅限用於系統性的層級情境(如固定導覽列、模態視窗、覆蓋層)。

6. 技術參考(Dial 定義)

設計變異度 (等級 1-10)

  • 1-3(可預測):Flexbox居中對齊、嚴格的 12 欄對稱網格、均等內邊距。
  • 4-7(偏移):使用margin-top: -2rem造成重疊,圖片長寬比各異(例如 4:3 緊鄰 16:9),左對齊的標題置於居中對齊的資料上方。
  • 8-10(非對稱):Masonry 佈局、使用分數單位的 CSS Grid(例如grid-template-columns: 2fr 1fr 1fr)、巨大的空白區域(padding-left: 20vw)。
  • 行動裝置覆寫:針對第 4 至 10 級,任何在md以上尺寸的非對稱佈局:必須在視口寬度小於 768px時,積極回退至嚴格的單欄佈局(w-full,px-4,py-8),以防止水平捲動及佈局破壞。

動態強度 (等級 1-10)

  • 1-3(靜態):無自動動畫。僅限 CSS:hover和:active狀態。
  • 4-7(流體 CSS):使用transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)。載入效果應採用animation-delay級聯。嚴格聚焦於transform和opacity。謹慎使用will-change: transform。
  • 8-10(進階動畫編排):複雜的捲動觸發顯示效果或視差效果。使用 Framer Motion 掛鉤。切勿使用window.addEventListener('scroll')。

視覺密度 (等級 1-10)

  • 1-3(藝術畫廊模式):大量留白。區塊間距極大。整體呈現極為精緻且清爽。
  • 4-7(日常應用程式模式):標準網頁應用程式的常規間距。
  • 8-10(駕駛艙模式):極小的內距。無卡片框;僅以 1px 線條分隔資料。所有內容緊密排列。強制規定:所有數字均須使用等寬字體(font-mono)。

7. AI 設計準則(禁止使用的模式)

為確保產出成果具備高質感且不流於制式,除非有明確要求,否則您必須嚴格避免以下常見的 AI 設計標誌:

視覺與 CSS

  • 禁止使用霓虹光效/外發光:請勿使用預設的box-shadow發光效果或自動發光效果。應採用內邊框或淡雅的色調陰影。
  • 禁止純黑色:切勿使用#000000。請改用「非純黑」、「鋅-950」或「炭黑」。
  • 禁止過度飽和的點綴色:請降低點綴色的飽和度,使其能優雅地與中性色調融合。
  • 禁止過度使用漸層文字:請勿在大型標題中使用文字填充漸層。
  • 禁止使用自訂滑鼠游標:此類設計已過時,且會影響效能與無障礙性。

字體設計

  • 禁止使用 Inter 字型:已禁止使用。請選用Geist、Outfit、Cabinet Grotesk 或Satoshi。
  • 禁止過大的 H1 標題:首個標題不應過於張揚。應透過字重與色彩來控制層級,而非僅靠龐大的尺寸。
  • 襯線字體限制:僅限於創意/編輯類設計使用襯線字體。切勿在簡潔的儀表板中使用襯線字體。

版面配置與間距

  • 精準對齊與間距:確保內距與邊距在數學上精確無誤。避免出現浮動元素所造成的尷尬空隙。
  • 禁止使用三欄式卡片佈局:通用的「三張等大卡片水平排列」功能列被嚴禁。請改用兩欄鋸齒狀、非對稱網格或水平捲動的方式。

內容與資料(「Jane Doe」效應)

  • 禁止使用通用姓名:「John Doe」、「Sarah Chan」或「Jack Su」均被禁止。請使用極具創意且聽起來真實的名字。
  • 禁止使用通用頭像:切勿使用標準的 SVG「蛋形」圖示或 Lucide 使用者圖示作為頭像。請採用富有創意且可信的照片佔位符,或進行特定樣式設計。
  • 禁止使用虛假數字:避免使用可預測的數值,例如99.99%、50% 或基本電話號碼(1234567)。請使用自然且略顯雜亂的數據(47.2%、+1 (312) 847-1928)。
  • 禁止使用新創公司常見的隨意名稱:「Acme」、「Nexus」、「SmartFlow」。請構思高質感且符合情境的品牌名稱。
  • 禁止使用填充詞:避免使用 AI 文案中的陳詞濫調,例如「提升」、「無縫」、「釋放」或「次世代」。請使用具體的動詞。

外部資源與元件

  • 禁止使用失效的 Unsplash 連結:請勿使用 Unsplash。請使用絕對路徑且可靠的佔位符,例如https://picsum.photos/seed/{random_string}/800/600或 SVG UI 頭像。
  • shadcn/ui 自訂:可使用shadcn/ui,但絕不可採用其通用預設狀態。必須自訂圓角、顏色及陰影,以符合高端專案的美學風格。
  • 符合生產環境的整潔度:程式碼必須極其整潔、視覺上引人注目、令人印象深刻,且每個細節都經過精心打磨。

8. 創意工具庫(高端靈感)

切勿預設使用通用 UI。請從這套進階概念庫中汲取靈感,確保輸出成果視覺上引人注目且令人難忘。在適當的情況下,應運用GSAP(ScrollTrigger/Parallax)來實現複雜的捲動敘事,或使用ThreeJS/WebGL進行 3D/Canvas 動畫,而非僅使用基礎的 CSS 動畫。關鍵注意事項:切勿在同一個元件樹中混合使用 GSAP/ThreeJS 與 Framer Motion。UI/Bento 互動應預設使用 Framer Motion。GSAP/ThreeJS 僅限用於獨立的全頁捲動敘事或 Canvas 背景,且必須包裹在嚴格的 useEffect 清理區塊中。

標準 Hero 範式

  • 請停止在深色圖片上使用居中對齊的文字。嘗試採用非對稱的主視覺區塊:文字應整潔地對齊於左側或右側。背景應採用高品質且相關的圖片,並帶有微妙的風格化淡入淡出效果(根據光明模式或暗黑模式,優雅地漸變為背景色)。

導覽與選單

  • Mac OS Dock 放大效果:導覽列位於邊緣;懸停時圖示會流暢地縮放。
  • 磁吸按鈕:按鈕會物理性地朝游標方向拉近。
  • 黏稠式選單:子選項如黏稠液體般從主按鈕分離。
  • 動態島(Dynamic Island):一種藥丸狀的 UI 元件,會變形以顯示狀態或警示。
  • 情境式輻射狀選單:一個會精確在點擊座標處展開的圓形選單。
  • 懸浮快速撥號:一種 FAB,會彈出並展開成一條彎曲的次要動作線。
  • 巨型選單展開:全螢幕下拉選單,以交錯淡入淡出效果呈現複雜內容。

版面配置與網格

  • Bento 網格:非對稱的磁磚式分組(例如 Apple 控制中心)。
  • Masonry 佈局:無固定行高的錯落式網格(例如:Pinterest)。
  • Chroma 網格:網格邊框或磁磚呈現細微且持續動畫的色彩漸變。
  • 分屏捲動:捲動時,螢幕兩半向相反方向滑動。
  • 簾幕揭示:在捲動時,英雄區塊會像簾幕般從中間分開。

卡片與容器

  • 視差傾斜卡片:會追蹤滑鼠座標並呈現 3D 傾斜效果的卡片。
  • 聚光燈邊框卡片:卡片邊框會在游標下方動態發光。
  • 玻璃變形面板:具備真實磨砂玻璃效果,內側邊框呈現光線折射效果。
  • 全息箔卡:懸停時會呈現虹彩般、隨光線變幻的彩虹光反射效果。
  • Tinder 滑動卡片堆疊:一疊實體卡片,使用者可透過滑動將其移開。
  • 變形模態視窗:一個能無縫擴展為獨立全螢幕對話方塊容器的按鈕。

捲動動畫

  • 固定捲動堆疊:卡片固定於頂端,並以實體堆疊方式層層疊加。
  • 水平捲動轉化:垂直捲動會轉化為平滑的水平圖庫平移效果。
  • 動感捲動序列:影片/3D 序列中,幀率直接與捲動條連動。
  • 縮放視差:隨著捲動,中央背景圖片會無縫地放大或縮小。
  • 捲動進度路徑:隨著使用者捲動而自動繪製的 SVG 向量線條或路徑。
  • 液態滑動轉場:頁面轉場效果,螢幕畫面如黏稠液體般滑動過渡。

圖庫與媒體

  • 穹頂圖庫:宛如全景穹頂般的 3D 圖庫效果。
  • Coverflow 輪播:3D 輪播效果,中心為焦點,邊緣向後傾斜。
  • 拖曳平移網格:可自由向任何方位拖曳的無邊界網格。
  • 手風琴式圖片滑塊:狹長的垂直/水平圖片條,懸停時會完全展開。
  • 懸停影像軌跡:滑鼠移動時,後方會留下閃現/淡出的影像軌跡。
  • 故障效果圖片:懸停時會出現短暫的 RGB 通道偏移數位失真效果。

字體與文字

  • 動態滾動字幕:無盡的文字帶,在捲動時會反向移動或加速。
  • 文字遮罩揭示:巨型字體充當透明視窗,透視影片背景。
  • 文字混亂效果:載入或懸停時出現《駭客任務》風格的字元解碼效果。
  • 圓形文字路徑:文字沿著旋轉的圓形路徑彎曲延伸。
  • 漸變筆畫動畫:帶有漸變效果的輪廓文字,漸變效果沿著筆畫持續流動。
  • 動態字體網格:字母網格會避開游標或旋轉遠離游標。

微互動與特效

  • 粒子爆炸按鈕:成功後會碎裂成粒子的行動呼籲按鈕。
  • 液態下拉刷新:行動裝置的重新載入指示器,呈現如水滴脫落般的動態效果。
  • 骷髏閃爍:光線反射在佔位框上移動並產生變幻效果。
  • 方向感應懸停按鈕:懸停填充效果會從滑鼠進入的精確側邊開始顯現。
  • 漣漪點擊效果:視覺波紋精確地從點擊座標處向外擴散。
  • 動態 SVG 線條繪製:向量圖形能即時繪製自身的輪廓。
  • 網格漸變背景:宛如熔岩燈般有機流動的動態色塊。
  • 鏡頭模糊深度:動態模糊背景 UI 圖層以突顯前景動作。

9. 「MOTION-ENGINE」BENTO 範式

在建構現代 SaaS 儀表板或功能區塊時,您必須採用以下「Bento 2.0」架構與動態設計哲學。這不僅超越靜態卡片,更貫徹「Vercel 核心結合 Dribbble 簡潔美學」的設計理念,並高度依賴持續運作的物理效果。

A. 核心設計哲學

  • 美學:高端、極簡且實用。
  • 配色:背景為#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內距。

B. 動畫引擎規格(永恆運動)

所有卡片必須包含「永恆微互動」。請遵循以下 Framer Motion 原則:

  • 彈簧物理:避免使用線性緩動效果。設定type: "spring"、stiffness: 100、damping: 20,以營造高質感且沉穩的手感。
  • 版面配置轉場:大量運用layout和layoutId屬性,以確保重新排序、調整大小以及共用元素狀態的轉場流暢無礙。
  • 無限迴圈:每張卡片都必須具備一個無限迴圈的「活躍狀態」(Pulse、Typewriter、Float 或 Carousel),以確保儀表板呈現「生動」的感受。
  • 效能:將動態清單包裹在 並針對 60fps 進行優化。效能關鍵:任何持續運動或無限迴圈都必須進行備忘錄化(React.memo),並完全隔離於其專屬的微型 Client Component 中。切勿在父佈局中觸發重新渲染。

C. 五種卡片原型(微動畫規格)

在建構 Bento 網格時,請實作以下特定微動畫(例如:第 1 行:3 欄 | 第 2 行:2 欄,比例為 70/30):

  1. 智慧型清單:項目以垂直堆疊方式排列,並具有無限自動排序迴圈。項目透過layoutId 交換位置,模擬 AI 即時優先處理任務的過程。
  2. 指令輸入:具備多步驟打字機效果的搜尋/AI 欄位。其會循環顯示複雜的提示訊息,包含閃爍的光標,以及帶有閃爍載入漸變效果的「處理中」狀態。
  3. 即時狀態:具備「呼吸」狀態指示器的排程介面。包含一個彈出式通知徽章,以「超程」彈簧效果出現,停留 3 秒後消失。
  4. 寬幅資料流:由資料卡片或指標組成的水平「無限輪播」。確保循環無縫銜接(使用x: ["0%", "-100%"]),並呈現流暢自如的運行速度。
  5. 情境化使用者介面(聚焦模式):文件檢視模式中,文字區塊會以錯落有致的動畫效果逐一高亮顯示,隨後浮動操作工具列會以「浮入」效果出現,並附有微型圖示。

10. 最終發佈前檢查

在輸出前,請根據此矩陣評估您的程式碼。這是您對邏輯所施加的最後一道過濾機制。

  • 是否已適當使用全域狀態來避免過深的 prop 鑽取,而非隨意使用?
  • 對於變異性高的設計,是否已確保行動版佈局摺疊(w-full、px-4、max-w-7xl、mx-auto)能正常運作?
  • 全高區塊是否安全地使用min-h-[100dvh],而非存在錯誤的h-screen?
  • useEffect中的動畫是否包含嚴格的清理函式?
  • 是否提供了空狀態、載入狀態和錯誤狀態?
  • 是否在可行情況下捨棄卡片(cards),轉而採用間距設計?
  • 是否已將耗費大量 CPU 資源的持續性動畫嚴格隔離在專屬的 Client Components 中?
在 GitHub 上查看

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 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"

  • 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).

6. TECHNICAL REFERENCE (Dial Definitions)

DESIGN_VARIANCE (Level 1-10)

  • 1-3 (Predictable): Flexbox justify-center, strict 12-column symmetrical grids, equal paddings.
  • 4-7 (Offset): Use margin-top: -2rem overlapping, varied image aspect ratios (e.g., 4:3 next to 16:9), left-aligned headers over center-aligned data.
  • 8-10 (Asymmetric): Masonry layouts, CSS Grid with fractional units (e.g., grid-template-columns: 2fr 1fr 1fr), massive empty zones (padding-left: 20vw).
  • MOBILE OVERRIDE: For levels 4-10, any asymmetric layout above 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.

MOTION_INTENSITY (Level 1-10)

  • 1-3 (Static): No automatic animations. CSS :hover and :active states only.
  • 4-7 (Fluid CSS): Use 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.
  • 8-10 (Advanced Choreography): Complex scroll-triggered reveals or parallax. Use Framer Motion hooks. NEVER use window.addEventListener('scroll').

VISUAL_DENSITY (Level 1-10)

  • 1-3 (Art Gallery Mode): Lots of white space. Huge section gaps. Everything feels very expensive and clean.
  • 4-7 (Daily App Mode): Normal spacing for standard web apps.
  • 8-10 (Cockpit Mode): Tiny paddings. No card boxes; just 1px lines to separate data. Everything is packed. Mandatory: Use Monospace (font-mono) for all numbers.

7. AI TELLS (Forbidden Patterns)

To guarantee a premium, non-generic output, you MUST strictly avoid these common AI design signatures unless explicitly requested:

Visual & CSS

  • NO Neon/Outer Glows: Do not use default box-shadow glows or auto-glows. Use inner borders or subtle tinted shadows.
  • NO Pure Black: Never use #000000. Use Off-Black, Zinc-950, or Charcoal.
  • NO Oversaturated Accents: Desaturate accents to blend elegantly with neutrals.
  • NO Excessive Gradient Text: Do not use text-fill gradients for large headers.
  • NO Custom Mouse Cursors: They are outdated and ruin performance/accessibility.

Typography

  • NO Inter Font: Banned. Use Geist, Outfit, Cabinet Grotesk, or Satoshi.
  • NO Oversized H1s: The first heading should not scream. Control hierarchy with weight and color, not just massive scale.
  • Serif Constraints: Use Serif fonts ONLY for creative/editorial designs. NEVER use Serif on clean Dashboards.

Layout & Spacing

  • Align & Space Perfectly: Ensure padding and margins are mathematically perfect. Avoid floating elements with awkward gaps.
  • NO 3-Column Card Layouts: The generic "3 equal cards horizontally" feature row is BANNED. Use a 2-column Zig-Zag, asymmetric grid, or horizontal scrolling approach instead.

Content & Data (The "Jane Doe" Effect)

  • NO Generic Names: "John Doe", "Sarah Chan", or "Jack Su" are banned. Use highly creative, realistic-sounding names.
  • NO Generic Avatars: DO NOT use standard SVG "egg" or Lucide user icons for avatars. Use creative, believable photo placeholders or specific styling.
  • NO Fake Numbers: Avoid predictable outputs like 99.99%, 50%, or basic phone numbers (1234567). Use organic, messy data (47.2%, +1 (312) 847-1928).
  • NO Startup Slop Names: "Acme", "Nexus", "SmartFlow". Invent premium, contextual brand names.
  • NO Filler Words: Avoid AI copywriting clichés like "Elevate", "Seamless", "Unleash", or "Next-Gen". Use concrete verbs.

External Resources & Components

  • NO Broken Unsplash Links: Do not use Unsplash. Use absolute, reliable placeholders like https://picsum.photos/seed/{random_string}/800/600 or SVG UI Avatars.
  • shadcn/ui Customization: You may use shadcn/ui, but NEVER in its generic default state. You MUST customize the radii, colors, and shadows to match the high-end project aesthetic.
  • Production-Ready Cleanliness: Code must be extremely clean, visually striking, memorable, and meticulously refined in every detail.

8. THE CREATIVE ARSENAL (High-End Inspiration)

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.

The Standard Hero Paradigm

  • Stop doing centered text over a dark image. Try asymmetric Hero sections: Text cleanly aligned to the left or right. The background should feature a high-quality, relevant image with a subtle stylistic fade (darkening or lightening gracefully into the background color depending on if it is Light or Dark mode).

Navigation & Menüs

  • Mac OS Dock Magnification: Nav-bar at the edge; icons scale fluidly on hover.
  • Magnetic Button: Buttons that physically pull toward the cursor.
  • Gooey Menu: Sub-items detach from the main button like a viscous liquid.
  • Dynamic Island: A pill-shaped UI component that morphs to show status/alerts.
  • Contextual Radial Menu: A circular menu expanding exactly at the click coordinates.
  • Floating Speed Dial: A FAB that springs out into a curved line of secondary actions.
  • Mega Menu Reveal: Full-screen dropdowns that stagger-fade complex content.

Layout & Grids

  • Bento Grid: Asymmetric, tile-based grouping (e.g., Apple Control Center).
  • Masonry Layout: Staggered grid without fixed row heights (e.g., Pinterest).
  • Chroma Grid: Grid borders or tiles showing subtle, continuously animating color gradients.
  • Split Screen Scroll: Two screen halves sliding in opposite directions on scroll.
  • Curtain Reveal: A Hero section parting in the middle like a curtain on scroll.

Cards & Containers

  • Parallax Tilt Card: A 3D-tilting card tracking the mouse coordinates.
  • Spotlight Border Card: Card borders that illuminate dynamically under the cursor.
  • Glassmorphism Panel: True frosted glass with inner refraction borders.
  • Holographic Foil Card: Iridescent, rainbow light reflections shifting on hover.
  • Tinder Swipe Stack: A physical stack of cards the user can swipe away.
  • Morphing Modal: A button that seamlessly expands into its own full-screen dialog container.

Scroll-Animations

  • Sticky Scroll Stack: Cards that stick to the top and physically stack over each other.
  • Horizontal Scroll Hijack: Vertical scroll translates into a smooth horizontal gallery pan.
  • Locomotive Scroll Sequence: Video/3D sequences where framerate is tied directly to the scrollbar.
  • Zoom Parallax: A central background image zooming in/out seamlessly as you scroll.
  • Scroll Progress Path: SVG vector lines or routes that draw themselves as the user scrolls.
  • Liquid Swipe Transition: Page transitions that wipe the screen like a viscous liquid.

Galleries & Media

  • Dome Gallery: A 3D gallery feeling like a panoramic dome.
  • Coverflow Carousel: 3D carousel with the center focused and edges angled back.
  • Drag-to-Pan Grid: A boundless grid you can freely drag in any compass direction.
  • Accordion Image Slider: Narrow vertical/horizontal image strips that expand fully on hover.
  • Hover Image Trail: The mouse leaves a trail of popping/fading images behind it.
  • Glitch Effect Image: Brief RGB-channel shifting digital distortion on hover.

Typography & Text

  • Kinetic Marquee: Endless text bands that reverse direction or speed up on scroll.
  • Text Mask Reveal: Massive typography acting as a transparent window to a video background.
  • Text Scramble Effect: Matrix-style character decoding on load or hover.
  • Circular Text Path: Text curved along a spinning circular path.
  • Gradient Stroke Animation: Outlined text with a gradient continuously running along the stroke.
  • Kinetic Typography Grid: A grid of letters dodging or rotating away from the cursor.

Micro-Interactions & Effects

  • Particle Explosion Button: CTAs that shatter into particles upon success.
  • Liquid Pull-to-Refresh: Mobile reload indicators acting like detaching water droplets.
  • Skeleton Shimmer: Shifting light reflections moving across placeholder boxes.
  • Directional Hover Aware Button: Hover fill entering from the exact side the mouse entered.
  • Ripple Click Effect: Visual waves rippling precisely from the click coordinates.
  • Animated SVG Line Drawing: Vectors that draw their own contours in real-time.
  • Mesh Gradient Background: Organic, lava-lamp-like animated color blobs.
  • Lens Blur Depth: Dynamic focus blurring background UI layers to highlight a foreground action.

9. THE "MOTION-ENGINE" BENTO PARADIGM

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.

A. Core Design Philosophy

  • Aesthetic: High-end, minimal, and functional.
  • Palette: Background in #f9fafb. Cards are pure white (#ffffff) with a 1px border of border-slate-200/50.
  • Surfaces: Use 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.
  • Typography: Strict Geist, Satoshi, or Cabinet Grotesk font stack. Use subtle tracking (tracking-tight) for headers.
  • Labels: Titles and descriptions must be placed outside and below the cards to maintain a clean, gallery-style presentation.
  • Pixel-Perfection: Use generous p-8 or p-10 padding inside cards.

B. The Animation Engine Specs (Perpetual Motion)

All cards must contain "Perpetual Micro-Interactions." Use the following Framer Motion principles:

  • Spring Physics: No linear easing. Use type: "spring", stiffness: 100, damping: 20 for a premium, weighty feel.
  • Layout Transitions: Heavily utilize the layout and layoutId props to ensure smooth re-ordering, resizing, and shared element state transitions.
  • Infinite Loops: Every card must have an "Active State" that loops infinitely (Pulse, Typewriter, Float, or Carousel) to ensure the dashboard feels "alive".
  • Performance: Wrap dynamic lists in <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.

C. The 5-Card Archetypes (Micro-Animation Specs)

Implement these specific micro-animations when constructing Bento grids (e.g., Row 1: 3 cols | Row 2: 2 cols split 70/30):

  1. The Intelligent List: A vertical stack of items with an infinite auto-sorting loop. Items swap positions using layoutId, simulating an AI prioritizing tasks in real-time.
  2. The Command Input: A search/AI bar with a multi-step Typewriter Effect. It cycles through complex prompts, including a blinking cursor and a "processing" state with a shimmering loading gradient.
  3. The Live Status: A scheduling interface with "breathing" status indicators. Include a pop-up notification badge that emerges with an "Overshoot" spring effect, stays for 3 seconds, and vanishes.
  4. The Wide Data Stream: A horizontal "Infinite Carousel" of data cards or metrics. Ensure the loop is seamless (using x: ["0%", "-100%"]) with a speed that feels effortless.
  5. The Contextual UI (Focus Mode): A document view that animates a staggered highlight of a text block, followed by a "Float-in" of a floating action toolbar with micro-icons.

10. FINAL PRE-FLIGHT CHECK

Evaluate your code against this matrix before outputting. This is the last filter you apply to your logic.

  • Is global state used appropriately to avoid deep prop-drilling rather than arbitrarily?
  • Is mobile layout collapse (w-full, px-4, max-w-7xl mx-auto) guaranteed for high-variance designs?
  • Do full-height sections safely use min-h-[100dvh] instead of the bugged h-screen?
  • Do useEffect animations contain strict cleanup functions?
  • Are empty, loading, and error states provided?
  • Are cards omitted in favor of spacing where possible?
  • Did you strictly isolate CPU-heavy perpetual animations in their own Client Components?

所有檔案

2 個檔案

安裝 design-taste-frontend-v1

請下載並將技能檔案解壓縮至您的 .claude/skills/ 目錄中。

下載 ZIP

複製儲存庫並將技能檔案複製到您的專案中。

git clone https://github.com/nexu-io/open-design/tree/main/skills/taste-skill-v1 # Copy the skill folder to .claude/skills/ or .codex/skills/

複製 複製
快速設定: 將技能資料夾複製到 .claude/skills/,Claude 會自動偵測並使用該技能

相關技能

multica-creating-agents
更新時間 2026-08-12
tilemaps
更新時間 2026-08-04
v4-new-features
更新時間 2026-08-04
pixijs-application
更新時間 2026-08-04
OR