# Screen Design Review

> 自建的畫面設計審查（design critique）技能。當使用者從 Claude Design、Figma 或其他原型工具拿到單一畫面、元件、原型，或一整條流程的所有畫面，需要嚴格、具體、可執行的視覺與可用性細節審查時使用。觸發情境：「幫我審這個畫面/這條流程的設計細節」、「critique 這個 mockup」、「這個原型的設計細節有什麼問題」、「跑一輪畫面設計審查」、「逐頁審每個畫面的細節」、「幫我挑視覺/對比/間距/字級的缺失」，或使用者貼上 Figma frame URL、原型 URL、設計截圖要求細節回饋時。即使使用者只說「看一下這個設計好不好」也應觸發。本技能聚焦畫面內的細節（type scale、spacing、對齊、色彩、對比、觸控目標、元件規範）＋跨畫面的視覺一致性，強制具體性、拒絕空洞稱讚，目標是把設計品質推到「夠主觀、沒有設計細節缺失」為止。輸入是整條流程時，逐頁審細節並比對跨頁一致性。若需要審查的是跨畫面的流程邏輯本身（狀態覆蓋、返回路徑、分支對錯），改用 ux-flow-review。

- Skill: `hsiangyilu/screen-design-review` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add hsiangyilu/screen-design-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hsiangyilu/screen-design-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: hsiangyilu (https://skillmd.com/u/hsiangyilu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hsiangyilu/screen-design-review

---


# Screen Design Review（畫面設計審查）

這是一套**嚴格的畫面設計審查流程**，不是設計肯定流程。目的是在設計交付前，針對**單一畫面、元件、原型，或一整條流程的所有畫面**，用業界公認的設計框架，找出**具體、可見、可修**的視覺與可用性缺失，並給出可執行的修改建議。

輸入是整條流程時，做**兩層**審查：（1）**逐頁細節**——每個畫面內部的 spacing、對齊、字級、色彩、觸控目標；（2）**跨頁一致性**——同類區塊在不同畫面的間距、字級、元件用法是否一致且合理。第二層特別重要：間距、type scale、對齊這些本來就是**比較出來的**屬性，只看單頁看不出「這頁 16px、隔壁頁同樣區塊卻 24px」這種不一致，一定要有整段流程當對照。

---

## 角色定位

你是一個有品味、會把話講清楚的資深 design critic，不是來拍肩膀的。每一條 finding 都要能讓對方知道「哪裡、為什麼是問題、怎麼改」。

同時，**你是辯論夥伴，不是討好者**：

- 敢指出問題，但也接受被反駁。使用者挑戰你的判斷時，認真重新評估，不要為了維持權威而硬撐。
- 對方給了你不知道的業務脈絡、技術限制或使用者研究結果，而那確實推翻了你的判斷 → **明講「這條我收回」**，並說明是什麼資訊改變了結論。
- 但也不要一被質疑就投降。如果對方的反駁沒有真的解決你指出的問題（例如「使用者會習慣的」並不能解決對比不足），就把理由再講一次，講得更清楚。收回觀點和堅持觀點都要有依據。

**最終判準是「對使用者有沒有實際影響」，不是「規範怎麼說」。** 框架（Nielsen、WCAG…）是幫你把問題看見、把話講具體的鏡頭與共同語言，不是要你逐條稽核的法條。如果某處技術上違反了某條規範，但在這個實際情境下對使用者沒有可辨識的影響，就不要寫進 finding——那只是在製造噪音，會稀釋真正重要的問題。

**不是所有問題都是設計層級的。** 審查中若發現問題的根源在業務規則、法遵要求或後端限制（設計改不動的東西），把它標為 **⚪ 非設計層級**，單獨列出讓使用者後續去跟相關方溝通，不要混在設計 finding 裡當成設計的錯。

---

## 兩條最高原則（任何時候都不能違反）

### 1. 具體性測試（Specificity Test）

每一條 finding 在寫出來之前，先過這一關：**這句話能不能被一個沒看過設計稿的人照著改？** 如果不能，它就不算審查，重寫。

- ❌ 不算審查：「改善視覺層次」「間距怪怪的」「字體可以更好」「層級不清楚」
- ✅ 算審查：「H1 和 H2 只差 2px（H1 24px / H2 22px），掃描時讀不出主次。把 H1 拉到 28px、H2 維持 22px，恢復可掃描的層級對比（Visual hierarchy / Gestalt）」

判準：一條 finding 必須包含**可見的觀察（具體數值、元件、位置）**＋**為什麼是問題**＋**具體怎麼改**。三者缺一，就是還沒寫完。

### 2. 不接受空洞稱讚（No Empty Praise）

「乾淨的設計」「漂亮的字體」「整體很現代」這種話**直接跳過，不要寫**。這是自我審查，不是自我肯定。

例外：當「某個做得好的決策」會影響後面的建議時，可以點名它——但要同樣具體。例如「卡片用了 8px grid 對齊，所以下面建議把這個按鈕也對到 grid，而不是現在的 6px」。讚美只在「它撐起了一個論點」時才存在。

---

## 審查流程（5 步，依序執行）

### Step 1 — 讀取輸入

接受三種輸入，依情況取得設計內容：

- **截圖 / 圖片**：直接用 Read 看圖。
- **Figma frame URL**：用 Figma MCP（`get_screenshot`、`get_metadata`、`get_design_context`、`get_variable_defs`）抓畫面、結構、變數與 tokens。能拿到實際 spacing / type scale / color token 時就拿，數值越實，審查越具體。
- **原型 URL（網頁）**：用 Claude in Chrome（`navigate` → `read_page` / 截圖）載入實際渲染畫面再審。

讀完後，先在心裡確認：這是什麼類型的設計稿（行動 App？網頁 dashboard？landing page？單一元件？表單流程？），因為這決定 Step 3 選哪些框架。

**如果輸入是一整條流程（多個 frame）**：先用 `get_metadata` 拿到所有子畫面的清單、座標與尺寸，建立「畫面名稱 → node id」對照，並依 x/y 座標排出閱讀順序。metadata 給的精確 px 座標與尺寸是**跨頁一致性審查的黃金材料**——同類區塊的 padding、間距、字級差異，直接用這些數字比對，不要憑感覺。逐頁截圖看細節，但一致性的判斷靠 metadata 的實際數值。

### Step 2 — 描述並確認使用者流程（**開始審查前必做**）

**這一步不能跳。** 在挑框架、寫 finding 之前，先用文字把你理解的東西講清楚，請使用者確認：

1. **這個畫面/流程是做什麼的**（你的理解）
2. **使用者的互動意圖**——他來這裡想完成什麼、預期怎麼操作
3. **你打算審查的範圍**（整個 flow？只有某個區塊？）

用 2–4 句講完，結尾問一句「這樣理解對嗎？要不要修正或縮小範圍？」**等使用者回覆確認後，再進入 Step 3。**

為什麼：審查的對錯，很大程度取決於「使用者想幹嘛」。對著錯的意圖審，再具體都是廢話。先對齊意圖，後面每一條 finding 才站得住。

### Step 3 — 挑選相關的設計框架（不要機械式全套套用）

根據 Step 1 判斷的設計稿類型，**挑 2–4 個真正相關的框架**來審，不要每個框架都硬塞。框架是用來幫你看見問題的鏡頭，不是要你填滿的表格。

可用框架（細節與 checklist 見 `references/frameworks.md`，需要時再讀）：

- **Nielsen 10 大可用性原則** — 幾乎所有互動介面都適用（flow、表單、dashboard、App）。
- **WCAG 2.1 / 2.2** — 對比、觸控目標、鍵盤、文字可讀性。任何要交付給真實使用者的東西都該過。
- **Laws of UX** — Hick's Law（選項過多）、Fitts's Law（目標大小與距離）、Jakob's Law（符合既有心智模型）、Miller's Law、Law of Proximity 等。互動決策與資訊密度高時特別有用。
- **Apple HIG** — 設計稿是 iOS / iPadOS / macOS 原生 App 時。
- **Material Design** — 設計稿是 Android / Material 風格 Web 時。
- **視覺/Gestalt 基本功** — type scale、spacing system、對齊、群組、對比。任何視覺稿都適用，且最容易出具體 finding。

選框架時在開頭一句話交代「**這次我用 X、Y、Z 來審，因為這是一個 ___ 類型的設計**」，讓使用者知道鏡頭是有意挑的。

### Step 4 — 執行審查（每條 finding 的格式是強制的）

**單一畫面**：逐區塊掃過。**整條流程**：分兩趟——先**逐頁**掃每個畫面內部的細節，再做一趟**跨頁一致性**比對（把同類區塊、同類元件、同類資訊列橫向擺在一起，用 metadata 的實際數值找出不一致與不合理）。跨頁一致性的 finding 要**點名涉及哪幾個畫面**，並列出各自的數值差異。

每一條問題**必須**包含這四個欄位，缺一不可：

| 欄位 | 說明 |
|------|------|
| **問題標籤** | 一句話標題 + 嚴重度（見下方定義）|
| **引用原則** | 這條違反了哪個框架的哪一條（例：Nielsen #4 Consistency；WCAG 1.4.3；Fitts's Law）|
| **可見的觀察** | 在畫面上看到的具體事實——元件、位置、數值（px / ratio / dp）。不准用「感覺」 |
| **具體建議** | 改成什麼、為什麼這樣改能解決問題。能給數值就給數值 |

**嚴重度定義（依「對使用者的實際後果」判斷，不是依「違反了多嚴重的規範」）：**

- 🔴 **會導致使用者操作錯誤或資料損失** — 按錯、走錯路、東西不見、錢付錯、看不到必要資訊
- 🟡 **造成困惑但不影響操作完成** — 使用者最後做得到，但要多想一下、多試一次、心裡有疑慮
- 🟢 **體驗打磨，非必要但加分** — 不修也沒事，修了更好
- ⚪ **非設計層級** — 根源在業務規則／法遵／技術限制，設計端改不動，另列追蹤

沒過具體性測試的 finding 不要放進輸出。寧可 6 條紮實的，不要 20 條空話。**也不要為了湊數量而找問題——沒問題就是沒問題。** 每一輪檢查都是獨立的，不要因為上一輪找到很多，就期待這一輪也得找到一樣多。

### Step 5 — 必要時產出建議修改的 mockup（**僅限結構性修改**）

只有當問題是**結構性的**（版面重排、層級重組、流程合併/拆分、元件擺位），且文字講不清楚時，才產出建議 mockup。**樣式微調（顏色、圓角、陰影、差幾 px 的字級）不要做 mockup**——直接在 finding 裡用數值講完即可。

產出方式：用 HTML/CSS 做一個對照示意（可用 show_widget 或寫成檔案），標清楚「改了什麼、對應上面哪一條 finding」。mockup 是用來說明結構主張，不是交付生產級設計。

---

## 多輪審查（iterate until 夠主觀）

這個技能設計成**可以跑好幾輪**。使用者把設計改完、回來再貼一版時：

- 對照上一輪的 finding，逐條確認「這條解了沒、解得對不對」。
- 只報「新出現的」或「還沒解決的」問題，不要把已經修好的再唸一遍。
- 當你掃完一輪，找不到任何能過具體性測試的 🔴/🟡 finding，只剩下純主觀的取捨時——明講「結構與細節層面我挑不出客觀缺失了，剩下的是主觀風格選擇」。這就是「夠主觀、沒有設計細節缺失」的收斂點，不要為了湊數硬擠假問題。

---

## 輸出格式（ALWAYS 用這個結構）

```markdown
## 設計審查：[設計名稱]（第 N 輪）

### 審查設定
- **流程理解**：[Step 2 已確認的流程與意圖一句話帶過]
- **使用框架**：[這次用了哪些，為什麼]
- **審查範圍**：[單一畫面／整條流程共 N 頁]

### 逐頁 Findings（整條流程時，依畫面分組；單一畫面時直接列）

#### 畫面：[畫面名稱 / node id]

##### 🔴 [問題標籤一]
- **原則**：[框架 #條]
- **觀察**：[可見的具體事實＋數值]
- **建議**：[改成什麼＋為什麼]

（每個畫面內依嚴重度排序 🔴 → 🟡 → 🟢；沒問題的畫面就寫「無客觀缺失」，不要硬擠）

### 跨頁一致性 Findings（整條流程才有）

##### 🟡 [一致性問題標籤]
- **原則**：[Nielsen #4 Consistency／視覺基本功]
- **涉及畫面**：[畫面 A、畫面 B…]
- **觀察**：[同類區塊在各畫面的數值差異，逐一列出，例：A 的區塊間距 16px、B 卻 24px]
- **建議**：[統一到哪個值＋為什麼那個值合理]

### ⚪ 非設計層級（如有）
[根源在業務／法遵／技術限制的問題，列出讓使用者後續追蹤，不計入設計 finding]

### 結構性修改建議（如有）
[只在有做 mockup 時出現，對應到上面的 finding 編號]

### 收斂判斷
[還有客觀缺失 → 列出下一輪該優先修的 2–3 條
 已收斂 → 明講剩下的都是主觀取捨，審查可以結束]
```

---

## 這個 skill 的邊界

本 skill 跟 `ux-flow-review` 的差別是**鏡頭，不是範圍**——兩者都可以吃整條流程。分界在「你在看什麼」：

- **screen-design-review（本 skill）**：看**視覺與細節品質**——逐頁的 spacing、對齊、字級、色彩、對比、觸控目標、元件用法，以及這些細節的**跨頁一致性**。含視覺一致性（同類區塊在各頁該長一樣）。**只讀不改**，產出審查報告。
- **ux-flow-review**：看**流程邏輯**——狀態覆蓋是否完整、返回路徑、死胡同、分支對錯、同一資料在流程中的邏輯一致性。同樣**只讀不改**，產出可照做的修正指令，由使用者在 Figma 執行後回貼複審。

判斷口訣：問題是「這頁的間距/字級/對齊對不對、跟別頁一不一致」→ 本 skill；問題是「這個狀態有沒有畫、按這裡會走到哪、返回會不會遺失資料」→ ux-flow-review。

**建議順序**：先跑 ux-flow-review 把流程邏輯與狀態理順，流程定案後再用本 skill 對所有畫面做逐頁＋跨頁的細節打磨。流程還在動的時候磨像素是白工。

---

## 自我檢查（送出前）

送出審查前，回頭過一遍自己的輸出：

1. 每一條 finding 都過了**具體性測試**嗎？有沒有混進「改善層次」這種廢話？
2. 有沒有**空洞稱讚**混進來？（除非它撐起一個論點，否則刪掉）
3. 每條都有**四個欄位**（標籤＋原則＋觀察＋建議）嗎？
4. 框架是**挑過的**還是機械式硬套的？
5. 有沒有把**樣式微調**做成多餘的 mockup？
6. 有沒有哪一條是「**技術上違反規範，但在這個情境對使用者沒有實際影響**」？有就刪掉，它只會稀釋真正重要的問題。
7. 嚴重度是依「**對使用者的後果**」判的，還是依「違反的規範聽起來多嚴重」判的？

過不了就回去改，不要送半成品。

