跳至主要内容

04|前端設計總監(impeccable)

前端設計總監

🎯 一句話:23 個設計指令 + 一套可執行的反樣板偵測器,把 Agent 從「會寫 CSS」變成有主見的設計總監

pbakaus/impeccable README

一句話把規模講完:1 個 skill、23 個指令、瀏覽器即時迭代,以及 60 條確定性的偵測規則。最後那個數字是重點——它的設計主張不是只寫給模型看的散文,其中 60 條是程式可以直接判定的。


作者背景

Paul Bakaus 的資歷幾乎就是這個 Skill 的信用來源:

  • jQuery UI 作者——巔峰期被超過 14% 的網站使用
  • 打造 Aves Engine(史上第一個完整互動的 HTML5 遊戲引擎原型),後來賣給 Zynga
  • Google 期間推出 Chrome DevTools 多項功能、AMPWeb Stories,之後成為 Google 首任 Head of Creator Relations,創辦 Google for Creators
  • 近期任 Spotter 的 EVP of Product & Creator Tools,打造 Spotter Studio 與創作者 AI workflow

換句話說:一個做了二十年前端框架與開發者工具的人,把自己的設計判斷寫成規則交給 Agent 執行。這解釋了為什麼 impeccable 不只是 prompt——它附了 CLI、hook 與可被程式檢查的規則標記。


它在對抗什麼:AI slop

AI 產出的介面有固定味道——紫藍漸層、玻璃擬態、一模一樣的卡片格線、灰得看不清的內文。impeccable 的目標是逼 Agent 做出刻意、獨特、記得住的選擇,而不是安全的預設值。


架構:Setup → Register → Command

每次呼叫都先跑一段強制的 setup:

  1. node scripts/context.mjs 讀取專案的 PRODUCT.md / DESIGN.md;沒有就視情況導向 init(但不會因此擋掉小範圍請求)。
  2. 讀對應子指令的 reference/<command>.md(原生平台則讀 .native.md 變體,兩者只讀一份)。
  3. 先讀專案既有的 design system/token/代表性元件——不重新發明輪子
  4. register 參考檔:
    • reference/brand.md——行銷頁、活動頁、作品集(設計就是產品)
    • reference/product.md——app UI、後台、儀表板(設計服務產品)
  5. PRODUCT.md 的 Platform 是 ios / android / adaptive 時,追加讀 HIG/Material 3 的參考檔。
  6. 全新專案沒有既有色票時,跑 scripts/palette.mjs 取得品牌種子色,再用 OKLCH 組出整套 palette。

這六步是它品質穩定的關鍵:先讀你的專案,再談美感


23 個指令,五個分類

分類指令用途
Buildinit建立 PRODUCT.mdDESIGN.md、live 設定與後續建議
shape [feature]寫程式前先規劃 UX/UI
craft [feature]先 shape,再端到端把功能做完
document從既有程式碼反推生成 DESIGN.md
extract [target]把可複用的 token 與元件抽進 design system
Evaluatecritique [target]UX 設計審查,含啟發式評分(會存成快照)
audit [target]技術品質檢查:a11y、效能、RWD
Refinepolish上線前的最終品質關(會拿 critique 快照當 backlog)
bolder / quieter太平淡就放大,太吵就收斂
distill剝到本質,砍掉複雜度
harden生產就緒:錯誤狀態、i18n、邊界情境
onboard首次使用流程、空狀態、啟用
Enhanceanimate / colorize / typeset / layout動效、配色、字體階層、間距節奏
delight加入個性與記憶點
overdrive推過常規極限
Fixclarify改 UX 文案、標籤、錯誤訊息
adapt適配不同裝置與尺寸
optimize診斷並修 UI 效能
Iteratelive在瀏覽器裡直接點選元素,即時生成替代版本

另有三個管理指令:pin / unpin(釘住常用指令)、hooks(開關編輯前攔截 hook)。


路由規則(不打指令也能用)

  1. 不帶參數 → 跑 context-signals.mjs,依專案現況推薦 2~3 個最有價值的下一步(例如:有程式碼但沒 DESIGN.md → 建議 document;從沒 critique 過 → 建議 critique;dev server 有跑 → live 可用),再列出完整選單。絕不自動執行
  2. 第一個字是指令 → 載入該指令的 reference,其餘全部當 target。
  3. 語意可對應 →「間距怪怪的」→ layout、「這錯誤訊息看不懂」→ clarify、「顏色好扁」→ colorize;兩個都像就問一次。
  4. 對不上 → 當一般設計請求處理,套用通用規則與 register。

硬性規則舉例(SKILL.src.md 內建)

每條規則都帶一個 rule: 標記,可被 CLI 偵測器對應:

  • 對比:內文 ≥ 4.5:1,大字 ≥ 3:1,placeholder 同樣要 4.5:1。最常見的失敗是「淺灰內文配帶色近白背景」——為了優雅而用淺灰,是 AI 設計難讀的頭號原因。
  • 彩底上的灰字看起來會髒:改用背景同色相的深色,或文字色的透明度。
  • 行長 65–75ch。
  • 不要配對兩款相似但不相同的字體(兩款幾何無襯線);要嘛沿對比軸配(襯線+無襯線),要嘛同一家族用不同字重。
  • Hero 標題天花板 clamp() 上限 ≤ 6rem;字距下限 ≥ -0.04em,再緊字就黏在一起。
  • h1–h3 用 text-wrap: balance,長文用 text-wrap: pretty

不用 AI 也能跑的偵測器

npx impeccable detect src/ # 掃目錄
npx impeccable detect index.html # 掃單檔
npx impeccable detect https://example.com # 掃線上網址

README 標榜 60 條確定性的偵測規則——對應 SKILL.src.md 裡每條規則尾巴的 rule: 標記,因此「這份設計有沒有踩雷」可以被程式判定,而不是只能問模型。

內建的 scripts/detect.mjs 是純本地規則引擎(不連網、不需 npx),Agent 在推薦指令前會先跑它,把命中的 slop 家族折進建議——這是實測訊號,勝過用猜的。注意:livedetect 都是 web-only,原生 App 專案不適用。