Communitygithub.com

crowgent/aestra

設計並打造乾淨、精緻、達到生產水準的使用者介面與體驗 — 適用於新建專案與重新設計 — 運用設計代碼、元件規格、動態原則與避免AI感的審美指引。當使用者要求設計、建立、重新造型、現代化或美化使用者介面、登陸頁面、儀表板、應用程式畫面、設計系統或元件庫時使用。

aestra 是什麼?

Aestra 是一個專注於 UI/UX 設計的 AI 代理人技能,旨在為網頁、行動裝置和桌面平台(Windows / macOS / Linux)產生乾淨、精緻且達到生產水準的介面。它支援兩種主要工作流程:從頭開始建立全新專案(Greenfield),或是對現有介面進行現代化改造(Redesign)。其核心是一個稱為 **C.R.A.F.T.** 的五步驟方法,涵蓋從理解脈絡、建立設計代碼、建構元件架構、加入動態與互動,到最終的測試與強化。Aestra 強調「先命名品味」,避免產生千篇一律的 AI 生成感,並堅持使用設計代碼(Design Tokens)、探索多個設計方向、以及為每個狀態(預設、懸停、載入、錯誤等)進行設計。此技能廣泛支援 React、React Native、Flutter、SwiftUI、Jetpack Compose、Tauri 等技術棧,並內建無障礙標準(WCAG AA)與跨平台最佳實務,適合需要系統化提升產品視覺品質與一致性的開發團隊。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/crowgent/aestra/tree/HEAD/aestra/skill

在你喜歡的 AI 中提問

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

說明文件

aestra 是做什麼的?

一個設計代理人,專注於為網頁、行動裝置和桌面平台(Windows / macOS / Linux)產出 乾淨、精緻、達到生產水準的使用者介面與使用者體驗。它提供兩種運作模式:

  1. Greenfield — 建立新的網站、網頁應用程式、行動應用程式或桌面應用程式。
  2. Redesign — 接手現有介面,將其提升至現代且一致的標準。

目標不是「讓它變漂亮」。目標是建立一個連貫的設計系統 — 包含代碼、元件、狀態、動態和無障礙性 — 讓它在每個平台上都看起來經過精心設計,並能隨著產品成長而擴展。

何時使用

每當任務涉及軟體的外觀與感受時,即可呼叫此技能:

  • 建立新的使用者介面:登陸頁面、儀表板、SaaS 應用程式、行動應用程式、桌面應用程式。
  • 重新設計/現代化/重新造型現有的使用者介面或元件。
  • 建立或擴展設計系統、主題、代碼或元件庫。
  • 修正精緻度問題:不一致的間距、薄弱的層級結構、生硬的動態、不佳的深色模式、無障礙問題。
  • 在確定方向之前,探索多個設計方案。

不要將其用於純後端、資料或沒有使用者介面表面的基礎架構工作。

C.R.A.F.T. 方法

此技能遵循一個原創的五步驟方法 — C.R.A.F.T. — 將任何設計需求轉化為一個連貫、可出貨的系統。每個階段都有一個對應的參考檔案。

步驟名稱內容參考檔案
CContext (脈絡)在繪製任何東西之前,先確認產品、目標受眾、平台、技術棧和限制條件。platform-guidelines.md
RRhythm (韻律)建立設計代碼基礎 — 色彩、字體、間距、圓角、陰影。一個統一的尺度,沒有魔法數字。design-principles.md
AArchitecture (架構)透過清晰的元件 API,將代碼結構化為基礎元件 → 複合元件 → 模式 → 畫面。design-system.md
FFeel (感受)加入動態、狀態和互動回饋,用以解釋層級結構 — 絕非純裝飾。motion-and-interaction.md
TTest (測試)強化:對比度、響應式設計、主題、狀態、無障礙、效能、跨平台一致性。workflow-and-checklist.md

對於全新專案,依序執行 C→R→A→F→T。對於重新設計,先在現有產品上執行 C-Context,然後在 R/A/F 之前執行 T-審計,這樣你就能確切知道哪些需要保留。

核心哲學

  • 先為品味命名。 每個建構任務都明確承諾一個設計方向(編輯 / 瑞士風格、新無襯線體、終端機風格、野獸派、柔和 / 觸覺風格)。絕不能將所有風格平均成一個通用模板。請參閱 anti-ai-look.md — 這是「經過設計」與「AI 生成」之間的差異。
  • 使用設計代碼,而非硬編碼值。 絕不允許在元件中散佈原始十六進位色碼、魔法像素數字或臨時加的陰影。所有值都必須引用一個代碼。
  • 先探索,再決定。 對於任何非平凡的畫面,首先產出 2–3 個截然不同的方向(改變佈局、密度、字體大小、色彩溫度),然後收斂到一個。一個選項是猜測;三個選項才是決策。
  • 動態代表意義,而非裝飾。 使用動畫來解釋層級結構、狀態變化和空間關係 — 絕非為了炫技。應保持克制、快速、可中斷,並尊重 prefers-reduced-motion。預設情況下,不加入進場動畫:內容應立即可見;除非能傳達真實資訊,否則不要加入滾動揭示 / 交錯 / 視差效果。
  • 編輯掉所有裝飾。 每一個點、星號、箭頭、分隔線、徽章、統計數字和標籤都必須承載意義。如果它的存在只是為了讓設計「看起來像被設計過」,就刪掉它。
  • 尊重視覺參考。 從參考素材中提取其層級、字體、空白、調色盤、控制項和動態。不要發明參考素材中沒有的標記、強調色、元資料或效果。
  • 每個狀態都經過設計。 預設、懸停、焦點、活躍、禁用、載入、空狀態、錯誤和成功都是元件的一部分 — 而非事後才想到的。
  • 預設即符合無障礙標準。 對比度、焦點環、點擊目標、語意和鍵盤流程都是內建的,而非事後補上。
  • 在關鍵處遵循平台原生規範。 在導航、控制項和手勢方面,尊重 iOS/Android/Material 和 Windows(Fluent)/macOS(HIG) 的慣例 — 同時保持品牌一致性。

工作流程

請遵循以下階段。只有在任務真的微不足道時,才可以跳過某些階段。

1. 理解(不要跳過)

建立:產品與目標受眾、主要使用者任務、平台與技術棧、品牌限制、現有設計資產 / 系統,以及成功標準。如果需求模糊,最多問 3 個尖銳的問題 — 或者明確陳述你的假設,然後繼續進行。

2. 選擇架構

在設計之前決定目標平台和技術棧,因為這會決定代碼和元件。請參閱 platform-guidelines.md 和 design-system.md。

  • 網頁 → HTML/CSS 或 React/Next + Tailwind + CSS 自訂屬性;使用 Motion for animation 進行動畫處理。
  • 行動裝置 → React Native / Expo、Flutter、SwiftUI 或 Jetpack Compose。
  • 桌面 → Tauri / Electron(網頁技術棧)、macOS SwiftUI 或 Windows WinUI 3 / Fluent。

3. 建立設計基礎

首先定義代碼:色彩(語意角色)、字體大小尺度、間距尺度、圓角、陰影、動態。請參閱 design-principles.md 和 design-system.md。將其記錄為唯一的真理來源。

4. 探索方向(2–3 個變體)

為關鍵畫面產出 2–3 個真正不同的選項。每個變體都必須是一個完整、可建構的方向 — 而不僅僅是換色。為每個選項提供一行理由,然後收斂。

5. 使用元件架構建構

從代碼 + 基礎元件 → 複合元件 → 模式 → 畫面進行組合。保持元件小巧、由 props 驅動且狀態完整。鏡像 design-system.md 中的資料夾 / 架構慣例。

6. 加入動態與互動

使用持續時間 / 速率曲線代碼,應用進場、過渡、手勢和佈局動態。請參閱 motion-and-interaction.md。

7. 審查與強化

執行 workflow-and-checklist.md 中的完整檢查:對比度、響應式行為、所有狀態、深色模式、動態減少、效能和跨平台一致性。

重新設計模式

在現代化現有使用者介面時,絕不能破壞既有行為:

  1. 審計 — 盤點現有畫面、元件和不一致之處;捕捉真正的問題(間距混亂、層級薄弱、對比度低、字體過時、動態沉重)。
  2. 保留意圖 — 除非被要求更改,否則保留資訊架構、流程和文案。
  3. 重新代碼化 — 將現有的硬編碼值映射到一組新的代碼;這是大部分工作所在。
  4. 逐步重新造型 — 逐個元件應用新系統;展示前後對比。
  5. 驗證一致性 — 每個舊狀態和邊界案例仍然有效;然後再進行改進。

請參閱 workflow-and-checklist.md 以獲得詳細的重新設計流程。

不可妥協的原則

  • 在代碼層之外,不允許硬編碼的顏色、間距或陰影。
  • WCAG AA 最低標準(文字 4.5:1,UI 元件 3:1);每個可互動元素都必須有可見的焦點。
  • 觸控目標 ≥ 44×44pt(iOS)/ 48×48dp(Android)/ 40px(桌面滑鼠指標,並搭配更大的點擊區域)。
  • 動態持續時間 ≤ ~300ms(用於 UI 過渡);尊重 prefers-reduced-motion。
  • 預設情況下,沒有滾動揭示、交錯、視差或循環動畫;關鍵內容應在不依賴 JavaScript 的情況下立即可見。
  • 淺色和深色主題都必須完整設計。
  • 每個資料展示區域都必須設計載入、空狀態、錯誤和離線狀態。
  • 沒有通用的 AI 感: 一個強調色佔比少於 10% 的像素,使用邊框而非預設陰影,小而一致的圓角(不要像泡泡一樣什麼都是藥丸形狀),真正的字體大小對比度,刻意打破對稱,設計過的按壓/懸停/焦點狀態,零市場行銷填充文案。請參閱 anti-ai-look.md。
  • 元件需符合 component-recipes.md 中的確切規格(按鈕 / 輸入框 / 卡片 / 導覽 / 表格 / ... 的大小、變體和完整狀態矩陣)。

參考檔案

檔案用途
anti-ai-look.md說明通用的「AI 感」以及如何讓 UI 看起來像手工打造;品味方向
component-recipes.md按鈕、輸入框、卡片、導覽、表格、模態框、狀態的準確規格
design-principles.md視覺基礎:層級、字體、色彩、間距、佈局、狀態、無障礙
design-system.md代碼架構、元件 API、主題設定、資料夾結構、跨平台映射
motion-and-interaction.md持續時間、速率曲線、手勢、佈局動畫、減少動態、效能
platform-guidelines.md網頁、iOS、Android、macOS、Windows 的慣例與中斷點
workflow-and-checklist.md逐步的建構 / 重新設計流程與最終的 QA 檢查清單

相關技能