Communitygithub.com

sukirman1901/polish

打磨那些讓 UI 感覺更好的微觀細節——光學校準、表格數字、文字換行、可中斷的轉場、按壓反饋、點擊區域、禁止使用 `transition:all`。適用於構建或審查 UI 打磨、「感覺不對勁」、「rapihin detail」、懸浮/按壓反饋,以及反鬆散設計之後。結構佈局、圓角語言和 WCAG 遵循度屬於其他領域。

polish 是什麼?

此技能專注於 UI 的微觀工藝打磨,在完成了標記、結構和反鬆散設計之後,透過一系列具體的啟發式規則和最佳實踐,讓 UI 在渲染後感覺正確。它涵蓋了光學校準、可中斷的 CSS 轉場、按壓縮放反饋 (`scale(0.96)`)、表格數字 (`tabular-nums`)、文字平衡 (`text-wrap: balance`) 以及 44x44 的觸控點擊區域等。該技能基於實際渲染結果進行判斷,並強調「最便宜的可行修復」,即優先考慮刪除多餘裝飾、使用原生 CSS、重複使用專案標記,最後才引入抽象層。它明確區分了設計領域的歸屬,例如結構佈局、圓角語言和無障礙合規性等不屬於此技能的範圍。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sukirman1901/frontend-expert/tree/HEAD/skills/polish

在你喜歡的 AI 中提問

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

說明文件

打磨(Polish)

總覽

在完成標記、結構和反鬆散設計之後,套用微觀工藝,使 UI 在渲染的表面上感覺恰到好處。這裡的數值配方除非有標準或專案標記為其歸屬,否則皆視為啟發式規則。

何時使用

  • 完成 /ui 建置後(在 anti-slop-design 之後)
  • /polish / 「感覺不對勁」 / 「rapihin detail」
  • 懸浮、按壓、進入/離開、圖示切換等微互動

何時跳過

  • 結構性網格/間距/層級 → design-foundations
  • 比較渲染方向/測試所有狀態 → prototype
  • 嵌套圓角/高程語言 → design-surfaces
  • 字型角色、換行、截斷 → design-typography
  • 合規性(對比度、名稱、鍵盤) → accessibility
  • 動畫系統/命名系列 → motion
  • 僅複製 / 「AI 文字」 / 空狀態文案 → content-design
  • 「程式碼整理」 / 生成的實作 → anti-slop-code
  • 僅後端編輯且無 UI 渲染變化

必須遵守

規則詳情
渲染證明從渲染後的 UI 而非原始碼來判斷換行、對齊、按壓和圓角
標記優先使用 --radius、間距和字型標記;不要在有現成標記時發明一次性數值
分類配方將 0.96、交錯毫秒等數字標記為啟發式規則
最便宜的可行修復刪除裝飾 → 原生 CSS → 重複使用專案標記 → 最後才加入抽象層
行動端工藝小於 768px 寬度使用全寬主要 CTA;黏性 chrome 使用安全區域;拇指可及的動作
禁止 transition: all指定屬性名稱;跳過 Tailwind 的裸 transition
控制項幾何證明在確認光學校準前,渲染完整的控制項矩陣,包含載入中和適用的 LTR/RTL

工藝(起點)

關注點起點分類交接對象
嵌套角落當曲線共享中心時,外層 ≈ 內層 + 內縮啟發式design-surfaces
控制項中的圖示相對於幾何中心的光學微調建議—
區塊深度專案的邊框/高程語言專案預設值design-surfaces
懸浮/切換可中斷的 CSS 轉場建議如涉及編排則交給 motion
按壓如需按壓反饋,使用 scale(0.96)啟發式—
動態數字tabular-nums建議design-typography
短標題text-wrap: balance建議design-typography
點擊區域觸控 44×44 / 密集桌面 ≥40建議為了 WCAG 2.5.8 (24px) 交給 accessibility

例外情況:藥丸/圓形、密集工具欄(禁用按壓縮放)、減少動畫偏好設定、非同心品牌語言、無需外框的圖片。

控制項幾何

  • 渲染光學變體矩陣:純文字、前置圖示、後置圖示、僅圖示以及載入中。

幾何置中(inline-flex / items-center / justify-center)是必要但不充分的證明。不存在通用的像素偏移量:先比較渲染後的矩陣,然後在固定的圖示插槽或字形內套用最小的補償。

判斷圖示-標籤組合內容群組及其知覺視覺質量是否在各種變體和狀態下達到平衡和置中。分別評估標籤基線/大寫字母高度與圖示的關係;在圖示+文字的變體中,標籤本身不需要佔據控制項的中心。同時驗證圖示視覺重量、標記間距、對稱標記內邊距、焦點、點擊區域、禁用狀態和載入中狀態,確保內容群組或控制項寬度沒有意外偏移。當產品支援時,同時包含 LTR 和 RTL。

穩定的載入中幾何是預設值。對於明確的測量變形例外情況(references/component-patterns.md),檢查兩個端點和目標播放,確認相鄰操作保持穩定,並提供證據報告該例外情況。故意的變形不能成為意外旋轉圖示位移或缺少可存取名稱的藉口。

工作流程

  1. 確定範圍 — 指定表面名稱;跳過結構性或標記系統工作。
  2. 掃描 — 檢查 1x/2x 渲染、淺色/深色模式、懸浮/按壓/焦點、行動裝置寬度。
  3. 控制項矩陣 — 在渲染尺寸下比較純文字、前置/後置圖示、僅圖示、載入中以及適用的 LTR/RTL。
  4. 修復 — 進行最便宜的可行變更;將值對應到標記;將光學校償保持在圖示插槽內。
  5. 報告 — 按原則分組的前/後對照表;未檢查的狀態標記為 未驗證。

邊界

  • 可以決定: 光學微調、命名轉場、tabular-nums、換行輔助、專案無按壓反饋時提供。
  • 絕對不能: 將 0.96、彈跳 0 或同心圓半徑視為普遍法則;在破損的佈局上進行打磨;取代品牌字型。

檢查清單

  • 光學檢查嵌套圓角(或交接給 design-surfaces)
  • 在看起來有偏移的地方,圖示已光學置中
  • 已檢查完整的渲染控制項矩陣:純文字、前置/後置圖示、僅圖示、載入中以及適用的 LTR/RTL
  • 圖示-標籤組合群組/知覺視覺質量已置中;已驗證標籤基線/大寫字母高度關係、圖示視覺重量以及標記間距/內邊距
  • 焦點、點擊區域、禁用狀態和載入中狀態在無標籤或寬度偏移的情況下保持幾何形狀
  • 無 transition: all;懸浮/按壓可中斷
  • 動態數字在可能抖動的地方使用了 tabular-nums
  • 標題使用 text-wrap: balance;在有用的地方簡短複製使用 text-pretty
  • 點擊區域符合 44/40 指導方針且無重疊
  • 行動端工藝:小於 768px 全寬主要按鈕、安全區域、拇指操作區
  • 啟發式規則已標記;未測試的狀態標記為 未驗證

深度閱讀

完整範例:references/polish.md。 相關技能:design-surfaces、design-foundations、design-typography、motion、accessibility、references/evidence-policy.md。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能