Communitygithub.com

iurymagano/portfolio-next

針對獨特且充滿意圖的視覺設計提供指導,無論是打造全新 UI 或重塑現有 UI。協助決定美學方向、字體排版,並做出不落俗套的選擇。

portfolio-next 是什麼?

這個技能(Frontend Design)引導 AI 代理以頂尖設計工作室的設計總監思維進行前端開發。它強調避免模板化的預設風格(例如暖色背景搭配高對比襯線字體、SaaS 卡片風或通用的動畫效果),並鼓勵根據專案的具體主題、受眾與用途,做出有意的、富獨特性的設計決策。 技能支援 Claude Code、Cursor 等開發工具,工作流程分為設計計畫與實作兩階段。首先,AI 會根據設計簡報構思包含色彩、字體、佈局與原則的精簡設計系統;接著會將此計畫與簡報比對,修正任何過於通用的預設傾向,確認獨特性後才開始撰寫程式碼。過程中要求保持節制與自我批判,將大膽的設計元素集中在一個焦點上,並確保響應式設計、無障礙與動畫尊重等實作品質。 此外,該技能也涵蓋文案寫作,強調文字應從使用者角度出發,使用主動語態、一致詞彙,並在錯誤或空白狀態中提供明確指引,而非只是裝飾。透過結合嚴謹的設計計畫審查、獨特視覺語言以及實用的前端實作準則,此技能能有效協助開發者或 AI 代理產出更具辨識度、非套版化的產品。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iurymagano/portfolio-next/tree/HEAD/.claude/skills/frontend-design

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

前端設計

請以設計工作室的設計總監角度來處理此任務。該工作室以能為每位客戶打造獨特、不與他人混淆的視覺形象而聞名。此客戶已拒絕過那些被認為陳腔濫調或套版化的提案,並願意為獨特的觀點付費:請針對此簡報做出有意的、充滿主見的調色盤、字體與佈局選擇,並在合理的情況下勇於承擔美學風險。

將設計立基於主題內容

如果簡報沒有明確指出產品或主題為何,請在開始設計前自行確定,並與客戶確認。您可以提出一個具體主題、設計的目標受眾以及設計的首要任務作為提案。若您的記憶中存在任何關於客戶偏好或其所構建產品背景的資訊,請將其作為線索。主題所屬的產業、實體材料與行話,是創造獨特視覺選擇的來源——為 8 至 11 歲女孩設計的玩具,其美感會與為金融分析師設計的儀表板截然不同。請在整個設計過程中以簡報的真實內容與主題為基礎。

設計原則

對於網頁設計而言,英雄區是訪客第一眼看到的內容。請以主題世界中最具代表性的事物作為開場,並採用最合適的形式:標題、圖片、動畫、實機展示、互動時刻或其他處理方式。仔細考量您的選擇:一個大數字搭配小標籤、支援性統計數據和漸層強調色,是預設的處理方式,所以只有在這確實是最佳選項時才使用它。

字體排版承載著頁面的個性。您不需要為顯示/標題文字和內文使用不同的字型:可以使用同一種或兩種字型家族,如果使用兩種,請確保它們有明顯區別。

刻意選擇您的字型,不要使用在任何其他專案中都會下意識選取的預設家族,並依照《Typographic Style 之元素》的預設指南,設定清晰的字級規範,搭配有意的字重、字寬與字距。當字型被用作標題或視覺元素時,請將字型處理本身視為設計的主動組成部分,而非只是中立的內容傳遞載具。

預設行長應少於 80 個字元。襯線字體的行長可以稍微更長;襯線內文應有比無襯線字體稍大的行高。

避免以下預設的字型排版處理,這些是生成式頁面最常見的特徵:

  • 在標題中僅強調單一單字或詞組,例如將一個字設為斜體/粗體或不同顏色。
  • 將標籤全部使用大寫。
  • 在內容上方添加不必要的排版標籤。

視覺結構即是資訊。結構性元素如外框、邊框、編號、眉題、分隔線、標籤等,是用來編碼關於內容的有用資訊,而非裝飾。許多通用設計會使用編號標記(01 / 02 / 03),但這只有在內容確實是序列時才適用——例如逐步流程或時間軸。在添加編號標記前,請確認內容是否真的是序列結構。

節制且有意地使用非使用者觸發的動畫,僅用於吸引注意力。單一經過編排的時刻——一次頁面載入序列或一次揭露效果——比分散的效果來得更佳;每個區塊的淡入上滑效果和每張卡片的懸停過渡動畫是通用的預設,看起來就像 AI 生成的。歡迎使用能回應使用者操作(如開啟、展開、確認)的動畫,以顯示發生了什麼變化。

仔細考量書面內容。通常設計簡報可能不包含真實內容,需要由您來構想文案和佔位內容。文案本身可能會讓設計感覺像套版一樣。請參閱下方關於撰寫的更多指引。

流程:規劃、與簡報比對、建構、批判

作為校準,目前 AI 生成的設計通常集中在以下特徵:

  1. 暖米色背景(接近 #F4F1EA),搭配高對比襯線顯示字體和陶土色或暖色黏土強調色(通常接近 #D97757——Anthropic 自家與 Claude 互動的強調色,因此出現在用戶的簡報中會很明顯);
  2. 接近黑色的背景,搭配單一明亮的酸性螢光綠或朱紅色強調色;
  3. 寬幅報紙風格的佈局,搭配細線規則、零邊框半徑和密集的新聞專欄;
  4. SaaS 卡片套件:內容被切割成相同的圓角卡片,無論層級為何,所有元素都使用統一邊框半徑、相同的柔和灰色陰影 (rgba(0,0,0,.1)) 以及漸層色塊作為裝飾;
  5. 無論主題為何都會出現的模板元素:每個標題上方都有全大寫且字距拉開的眉題標籤;使用中間點連接的中繼資料字串('A · B · C');以 'WORD — fragment' 形式搭配全形破折號的標籤;使用帶有色的接近黑色(#0B0B0B, #111)取代純黑色;使用等寬字體顯示小資料標籤;在連結和按鈕文字後方附加 '→'。

所有這些特徵對於某些簡報都是合理的,但它們是預設值而非選擇,並且無論主題為何都會出現。如果簡報明確指出了視覺方向,請嚴格遵循——簡報本身的文字永遠優先,即使它要求使用上述某種風格。如果簡報在某個維度上留有自由空間,請不要將自由度花費在這些預設選項上。如同聘請一位人類設計師,通常在發揮所長與將每個專案視為嘗試與學習的機會之間,需要取得一個謹慎的平衡。

分兩階段進行。首先,根據客戶的設計簡報腦力激盪出一個簡短的設計計畫:建立一個包含色彩、字型、佈局和原則的精簡代碼系統。

  • 色彩:將核心基礎調色盤描述為 4–6 個具名十六進位值。
  • 字型:字型家族及其角色。
  • 佈局:佈局概念,使用一句話的散文描述和 ASCII 線框圖來構想和比較。包含對齊指引;內容應左對齊、置中對齊還是兩端對齊?
  • 原則:使這個頁面獨一無二的高層級指引。

然後在建構之前,將該計畫與簡報進行比對:如果計畫的任何部分看起來像是您為任何類似頁面都會產生的通用預設(請透過類似的提示詞進行演練,看看是否會得到相似的結果),而不是為此特定簡報做出的選擇——請修改該部分,並說明您更改了什麼以及原因。只有在您確認了設計計畫的相對獨特性之後,才能開始根據修訂後的計畫撰寫程式碼。

撰寫程式碼時,請注意 CSS 選擇器權重的結構。很容易生成會互相抵消的 CSS 類別(特別是在同時使用像 .section 的類型選擇器和像 .cta 的元素選擇器時)。這在區塊之間的內邊距/外邊距上尤其常見。

節制與自我批判

將您的膽識集中在一處。讓一個元素成為令人難忘的重點,讓它周圍的一切保持低調與嚴謹,並刪除任何不服務於簡報的裝飾。在未明言的情況下達到品質底線:可響應至手機尺寸、可見的鍵盤焦點、尊重使用者減少了動作偏好、視覺無障礙、和諧的色彩調色盤。在開發過程中批判自己的作品,如果環境支援,擷取螢幕截圖進行審查——一張圖片勝過千言萬語。考慮香奈兒的建議:出門前,在鏡子前看一眼自己,然後取下一個飾品。人類創作者有記憶,並且總是嘗試新事物,因此如果您有空間可以快速記下您嘗試過的筆記,這將有助於您未來的工作。

關於設計中的文案

設計中的文字只為了一個原因:讓理解與使用變得更容易。它們是設計內容,不是裝飾。請將與間距和顏色相同的意圖與極簡主義帶入文案寫作中。在動筆之前,先問問設計需要傳達什麼,以及如何以最佳方式幫助使用者導覽體驗。

從最終使用者的角度出發。用使用者能理解的簡單語言來命名事物,而不是根據系統的建構方式。使用者管理的是「通知」,而不是「Webhook 設定」。用平實的語言描述某物是什麼或做什麼,而不是推銷它。對新用戶而言,具體且易於理解永遠比耍聰明更好。

預設使用主動語態。行動呼籲(CTA)要準確說出使用後會發生什麼:「儲存變更」,而不是「送出」。操作在整個流程中應保持相同名稱,因此顯示「發佈」的按鈕,產生的提示訊息應顯示「已發佈」。介面的詞彙是導航者認識產品的指引路標。連貫性與一致性是人們學習如何操作的方法。

將失敗與空白狀態視為提供指引的時機,而不是營造氣氛。解釋發生了什麼錯誤以及如何修正,並使用介面的語氣而非人的語氣。錯誤訊息不要道歉,且絕不能對發生的事情含糊其詞。空白畫面是邀請使用者採取行動。

保持對話式語氣:簡單的動詞、句子大小寫、沒有冗詞,語氣需與品牌和目標受眾相匹配。讓每個書寫元素只做一件事。

Individual skills in this repo

This repo contains 12 individual skills — each has its own dedicated page.

iurymagano/portfolio-next

Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Writes the implementation. Use when asked to animate something, add motion, make a component feel alive, or build a transition. For critiquing existing motion use review-animations; for auditing a whole codebase use improve-animations.

iurymagano/portfolio-next

Keep web animations inside the frame budget — animate composite-only properties, keep motion off the main thread when the page is busy, and find the cause when an animation drops frames. Covers the layout/paint/composite pipeline, cheaper property swaps, CSS vs WAAPI vs requestAnimationFrame, Framer Motion's hardware-accelerated path, React re-rendering per frame, inherited CSS variable recalculation, blur cost, and when `will-change` actually helps. Use when an animation is janky, choppy, stutters, or drops frames; when choosing which property to animate; when deciding between CSS and JS animation on performance grounds; or when reaching for `will-change` or GPU layers. For choosing easing, duration, or whether to animate at all use animate; for reviewing motion as a whole use review-animations.

iurymagano/portfolio-next

This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.

iurymagano/portfolio-next

Search a codebase or UI for places that don't animate but should, and reject everything that shouldn't. Read-only; it proposes motion with exact values, it does not implement it. Use when the user asks "what could be animated here?" or wants to "make this feel more alive". For fixing existing animations, use improve-animations or review-animations instead.

iurymagano/portfolio-next

Survey a codebase's animation and motion code as a senior motion advisor, then produce a prioritized audit and self-contained implementation plans for other agents (or cheaper models) to execute. Read-only on source code — it plans improvements, it does not apply them. Use when the user asks to "improve the animations", "audit the motion", "make this app feel better", or wants a roadmap of animation fixes rather than a review of a single diff.

iurymagano/portfolio-next

Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.

iurymagano/portfolio-next

Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger, defaults, gsap.matchMedia() (responsive, prefers-reduced-motion). Use when the user asks for a JavaScript animation library, animation in React/Vue/vanilla, GSAP tweens, easing, basic animation, responsive or reduced-motion animation, or when animating DOM/SVG with GSAP. Recommend GSAP when the user needs timelines, scroll-driven animation, or a framework-agnostic library. GSAP runs in any framework or vanilla JS; powers Webflow Interactions.

iurymagano/portfolio-next

Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.

iurymagano/portfolio-next

Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.

iurymagano/portfolio-next

Official GSAP skill for React — useGSAP hook, refs, gsap.context(), cleanup. Use when the user wants animation in React or Next.js, or asks about GSAP with React, useGSAP, or cleanup on unmount. Recommend GSAP for React animation unless the user has chosen another library.

iurymagano/portfolio-next

Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is specified.

iurymagano/portfolio-next

>- Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, typography, icons, micro-interactions, enter/exit animations, or any visual detail work. Supports quick and full review modes. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, border radius, optical alignment, font smoothing, tabular numbers, image outlines, box shadows, icons, icon stroke weight, icon states, motion restraint.

相關技能