Communitygithub.com

Stosan/design-system-architect

建立任何產品或公司的現代設計系統,或審查現有程式碼庫、即時網址,並推薦更佳的設計選擇、Token 與元件。

design-system-architect 是什麼?

此技能專為 AI 代理(如 Claude Code、Cursor、Codex)設計,提供兩種模式:「建立」與「審查」。在「建立」模式下,可從品牌檔案、Figma、程式碼庫或描述等來源,產出完整的設計系統,包括品牌書、設計 Token、元件、UI Kit 及預覽。在「審查」模式下,能對現有程式碼庫或網址進行稽核,提取實際使用的設計系統、評分(0-5分,涵蓋色彩、排版、元件、可及性等七大面向),並提供分階段遷移計畫。此工具支援 Figma 變數/樣式、CSS 變數、Tailwind 設定、SCSS/LESS 變數、MUI/Chakra 主題檔案、token.json 等多種來源,並遵循嚴格的品質檢查(對比度、來源標記、品牌一致性),產出包含 `tokens.css`、`tokens.json` 及自包含 HTML 品牌書的交付物。它特別強調實證導向(不准擅自發明數值)以及避免通用 AI 套路(如藍紫漸層、純黑投影、無理由的玻璃擬態)。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Stosan/Claude-Skills-for-engineering-teams/tree/HEAD/skills/design-system-architect

在你喜歡的 AI 中提問

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

說明文件

設計系統架構師

兩種模式。根據請求選擇;若兩者都適用,請先執行「審查」,並將其發現結果作為「建立」的輸入。

  • 建立:為產品、企業或公司,從任何現有來源(品牌檔案、Figma、簡報、程式碼庫、網站,或僅有描述)建構一個完整且有文件記錄的設計系統。
  • 審查:稽核現有程式碼庫或網址,萃取其實際使用的設計系統,給予評分,並建議一個更佳的系統。

每個系統的參考樣板是一個動態品牌書 + Token + 預覽 + 元件 + UI 套件(以一個真實的金融科技系統為模型:極小品牌調色盤、一個帶有 50-950 色階的藍色主色、一個帶有網頁備用字型的品牌字體家族、4pt 間距、藥丸形 CTA、冷色調分層陰影、由 Logo 標誌構成的浮水印圖案)。


0. 接收(保持簡潔)

在提問前先尋找來源:附加檔案、連接的資料夾、Figma 連結/連接器、儲存庫、訊息中的網址、現有的設計系統產物。僅針對阻礙你的事項提問(一個 AskUserQuestion,最多 3 個問題):

  • 產品/公司名稱、類別、目標受眾
  • 品牌個性(3 個形容詞,若無來源)
  • 平台(網頁應用程式、行銷網站、行動裝置、印刷/簡報)
  • 僅亮色模式,或亮色 + 暗色模式

若使用者無人值守,則假設合理的預設值,並在交付物頂端說明。


1. 清查來源(建立與審查)

在設計之前列舉所有項目。以檢查清單追蹤,並在最後報告剩餘項目。

來源如何萃取
Figma變數/樣式(色彩、文字、特效)、元件集及其變體、圖示集名稱、封面/品牌頁面
程式碼庫tailwind.config.*、CSS 自訂屬性(:root)、SCSS/LESS 變數、主題檔案(MUI/Chakra/styled-components)、tokens.json、元件資料夾、圖示匯入、字型載入(@font-face、next/font、Google Fonts 連結)
網址在瀏覽器工具中載入頁面;讀取 body、標題、按鈕、連結、輸入框、卡片的計算樣式;收集所有不同的色彩、font-family、font-size、圓角、陰影;截圖桌面版 + 行動版;注意 logo/favicon 檔案
品牌資產Logo、圖示標誌、圖案、模型:複製檔案,絕不重新繪製或近似標誌
無任何資料建立一個小型入門系統(參見第 3 節最低要求)並說明

規則:一律使用精確數值;程式碼優於螢幕截圖;絕不發明數值並冒充為來源數值。將每個數值標記為 來自來源、衍生自來源(例如從來源十六進位碼生成的色階)或 提議的。


2. 品牌基礎(品牌書的開頭)

按以下順序在 README.md 中撰寫這些章節:

  1. 來源:來源、提供的資訊、狀態的表格。
  2. 品牌一覽:名稱及正確拼寫/大小寫規則、類別、目標受眾、支柱、子品牌、一句話的語調。
  3. 內容基礎:語氣、人稱(我們/你)、大小寫規則(標題 vs 內文 vs 微型標籤)、強調手法、CTA 模式、表情符號政策、可重複使用的真實文案範例。
  4. 視覺基礎:色彩、字體、間距/網格、背景、標誌性紋理或圖案、圓角、按鈕、卡片、邊框、陰影、透明度/模糊、動畫、懸停/按下狀態、佈局規則。每條規則需說明其使用的 Token。
  5. 圖示學:Logo/標誌使用方式、留白空間、允許的顏色、UI 圖示家族(線條粗細、尺寸、樣式)、禁止事項。
  6. 替代與標記:無法作為網頁字型出貨的授權字型及其備用字型、近似值、未解決的問題。
  7. 索引:每個檔案及其用途。

保留作者的原有措辭;將你撰寫的任何內容標記為提議。


3. 基礎(Token)

色彩

  • 品牌調色盤:保持小型(2-5 個品牌色)。一個主色,謹慎用於行動、信任和互動,而非作為背景色。
  • 色階:為主要色(以及任何次要色)生成 50-950 色階,使來源的十六進位碼落在其自然階層(通常為 500 或 600)。使用 OKLCH 以保持感知階層均勻。
  • 中性色:從近乎黑色的墨色到極細線灰色,共 8-11 階;稍微向品牌色調偏移(冷色調品牌 → 冷灰色)。
  • 語意角色(元件使用的):fg-1/2/3、fg-on-accent、bg-1/2/3、border、border-strong、accent、accent-hover、accent-soft、focus-ring、success、warning、danger、info(每個皆有柔軟背景變體)。
  • 主題:亮色模式優先;暗色模式是語意角色的重新映射,而非反轉的色階。使用較亮的灰色來提升暗色模式表面,而非使用陰影。
  • 對比度:每個主題中,內文文字與其背景的對比度 ≥ 4.5:1;大文字(24px 以上)、圖示、控制項邊框和焦點環 ≥ 3:1。以程式方式驗證(WCAG 相對亮度)。必須區分的狀態應在亮度上有所不同,而非僅是色相;偏好使用藍色/橙色而非紅色/綠色來表示配對意義。

字體

  • 一個品牌字體家族(最多兩個:展示字體 + 內文字體)。授權字體需有文件記錄的備用字型堆疊和 Google Fonts 替代字型。
  • 尺度:display、h1、h2、h3、title、body-lg、body、sm、caption、label。比例約 1.2-1.333;display 可以打破比例。
  • 行高:展示文字緊湊(1.0-1.1),標題 1.2-1.3,內文 1.45-1.6。字距:大尺寸負值(-0.01 至 -0.02em),全大寫標籤正值(+0.06 至 +0.1em)。
  • 使用的字重:命名它們(例如 300/400/500/700)並說明每個字重用在何處。

間距、圓角、高度、動畫

  • 間距:以 4pt 為基礎;間距等級 4、8、12、16、20、24、32、40、48、64、80、96。
  • 圓角:sm 6-8,md 10-12,lg 16,xl 24,pill 999。說明哪些元件使用哪種圓角。
  • 陰影:3-4 層低擴散陰影,帶有品牌深色調色(絕不使用純黑色投影),外加一個可選的主色光暈用於主要 CTA。
  • 動畫:持續時間(120/180/240ms)、緩動函數(進入 ease-out,離開 ease-in)、懸浮上升 2-4px、按下縮放 0.98。尊重 prefers-reduced-motion。
  • 斷點與佈局網格:例如 640/768/1024/1280;內容最大寬度;應用程式外殼(側邊欄 + 頂部欄 + 畫布)。

Token 檔案格式

從一個單一事實來源撰寫兩種 Token 格式:

  • tokens.css::root { --name: value } 加上 [data-theme="dark"] 和 @media (prefers-color-scheme: dark) 重新映射。
  • tokens.json:每個家族以列表形式呈現:{"tokens":[{"name","value","usage"}]};顏色攜帶 themes 和每個主題的值 {"light":"#..","dark":"#.."};字體使用 fonts、families、groups[].styles[]。名稱 [A-Za-z0-9][A-Za-z0-9_.-]*,需唯一。顏色值以十六進位/rgb/hsl/oklch 或 {alias} 表示;無命名顏色、var() 或 color-mix()。每個 Token 都應有用法說明。
  • 僅在使用者的技術堆疊需要時,才提供 Tailwind 設定 / DTCG 匯出。

入門系統的最低要求(無來源):一個主題中的 6-10 種顏色、5-7 種文字樣式、4 個以上的間距等級、3 種圓角、一段 README 說明;並說明這只是一個起點。


4. 元件

建構產品所需的元件家族;對於典型的 SaaS/金融科技產品:

  • 動作:Button(主要實心、次要外框、幽靈、破壞性;sm/md/lg;載入中、停用、僅圖示)、Link、IconButton
  • 輸入:TextField、Select、Checkbox、Radio、Switch、DatePicker、SearchField,附帶標籤、提示、錯誤、焦點環
  • 顯示:Card、Badge/Chip、Tag、Avatar、Stat/KPI 磁貼、Table、EmptyState、Skeleton
  • 導航:Sidebar、TopBar、Tabs、Breadcrumbs、Pagination
  • 反饋:Alert/Banner、Toast、Modal/Dialog、Tooltip、Progress
  • 領域專用:產品相關(例如稅務:申報狀態追蹤器、扣除額列、截止日卡片;AI:助理面板、建議晶片)

對於每個元件,撰寫簡短指南:第一句 = 摘要;結構;變體及其使用時機;使用的 Token;狀態;可及性(角色、鍵盤、焦點、標籤);實例/反例。建立一個即時預覽(使用這些 Token 的小型 HTML 文件)。如果建立了套件,它應是一個單一的傳統腳本,賦值 window.<Namespace>,並在 index.d.ts 中記錄型別的 props。


5. 預覽與 UI 套件

  • 每個基礎元素一張樣例卡:品牌色、色階、中性色、語意色、字體家族、展示字體尺度、內文字體尺度、間距、圓角、高度、Logo、圖示標誌、圖案、品牌應用。
  • 使用該系統重建真實介面的 UI 套件:一個行銷網站(導航、主視覺、功能、CTA、頁尾)和/或產品應用程式(外殼、儀表板、列表/表格、詳情、設定、助手)。使用品牌語氣的真實領域文案,而非假文。
  • 系統的封面頁面:名稱、標誌、一句話承諾、調色盤條。

6. 交付

  1. 如果 Artifact 工具列有 Design System 類型,則從該類型建立系統(type_url、title),並遵循其傳回的 SKILL.md 作為檔案路徑和索引;這是首選方式。若要修訂現有系統,請先讀取它,然後僅修改要求的部分。
  2. 否則,將一個自包含的 HTML 品牌書發布為 artifact,並將 tokens.css、tokens.json、元件檔案和資產作為檔案交付(如果有連接的資料夾,則寫入其中)。
  3. 複製 Logo、圖示和字型為真實檔案;切勿將 base64 貼入對話中。
  4. 結尾:連結、哪些是來源/提議的、清查中還剩下什麼、一個進一步發展的提議(元件、暗色主題、Figma 同步、程式碼整合)。

7. 審查模式(程式碼庫或網址稽核)

收集

  • 程式碼庫:搜尋顏色字面值(#[0-9a-fA-F]{3,8}、rgb(、hsl()、font-family 宣告、font-size/px 值、border-radius、box-shadow、z-index、斷點、行內樣式、重複的元件(多個 Button/Modal 實作)、使用的圖示庫。計算出現次數。
  • 網址:開啟每個頁面(桌面版 1440 和行動版 390),讀取計算的樣式,收集不同的數值,截圖關鍵畫面,對文字/背景配對執行對比度檢查,透過 Tab 鍵檢查焦點可見性,檢查 prefers-color-scheme 和減少動畫。

萃取事實上的系統

將近似值分群(例如 14 種灰色 → 6 個色階;9 種圓角 → 4 種)。顯示實際使用的調色盤、字體尺度、間距和圓角,並附上計數。

評分(每項 0-5 分,附證據)

  1. 色彩(調色盤紀律、語意使用、對比度)
  2. 字體排印學(尺度一致性、層級、可讀性)
  3. 間距與佈局(網格遵循、節奏、響應式)
  4. 元件(一致性、狀態、重複性)
  5. 可及性(對比度、焦點、標籤、鍵盤、動畫)
  6. 品牌表達(獨特性、語調、圖像)
  7. Token 架構(硬編碼值 vs Token、主題化準備狀態)

發現

按嚴重性排序:關鍵(可及性失敗、流程中斷)、高(使用者注意到的不一致、品牌稀釋)、中、瑣碎。每個發現:位置(檔案:行號 或 URL + 元素)、內容、為何重要、確切的修復方式(Token 名稱和數值,或元件變更)。

建議

  • 一個統一的 Token 集合(舊值 → 新 Token 對應表)。
  • 3-5 個影響最大的畫面或元件的改進前/後對比(必要時使用 HTML 模型)。
  • 分階段遷移計畫:1) Token + 對比度修正,2) 核心元件,3) 畫面,4) 暗色模式/打磨。註明重大變更。
  • 以文件或 HTML 報告形式交付;提議後續透過「建立」模式建構完整系統。

在審查模式下,除非使用者要求,否則絕不編輯使用者的程式碼。


8. 品質檢查清單

  • 每個數值標記為來源/衍生/提議;無靜默發明
  • Logo 和標誌是真實檔案;沒有 Logo 則使用純文字字標並備註
  • 對比度已在每個主題和每個預覽中驗證
  • 每個 Token 都有用法說明;每個元件列出其使用的 Token
  • 品牌名稱在各處拼寫一致,包含範例文案
  • 字型:真實檔案或文件記錄的授權備用字型
  • 文案遵循品牌自身的語氣規則(大小寫、表情符號政策、CTA 模式)
  • 在 390px 寬度下具有響應式,無水平滾動
  • 清查報告:已建構、已跳過、剩餘

反模式(禁止出貨)

  • 通用 AI 套路:到處是藍色到紫色漸層、表情符號功能卡、左邊框重點卡、無理由的玻璃擬態
  • 主色用作背景色而非用於行動
  • 純黑色投影;超過 4 個陰影層級
  • 範圍外的任意數值(13px、17px、22px 圓角)
  • 重新繪製或重新著色的 Logo
  • 紅色/綠色作為狀態的唯一信號
  • Token 映射(DTCG 巢狀物件),但需要的是列表形狀的 tokens.json

相關技能