先決定你現在是要學,還是要在專案裡做
網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。
SDLC 實作課 · 交付物練習
先理解這份文件替你消除什麼不確定
讓全產品視覺一致、開發不重造輪子
沒有 design system,每個設計師畫自己的 button、自己的間距、自己的顏色。
工程師也得每次重寫元件、QA 每次重測樣式。
Design System 把color、typography、spacing、component state 集中為 token + 元件庫,是規模化設計與開發的前提。
誰負責、交給誰
主責: UI(設計規範)
協作: FE(實作元件庫)、UX(互動規範)、Brand(品牌一致性)
下游收件: UI 套用、FE 寫元件、QA 設計 visual regression test
何時值得做
必要時機: 產品 ≥ 5 個主要 screen、跨平台(web + mobile)、設計師 ≥ 2 人
不需要時: 單頁產品、純後台工具用第三方 UI lib
常見誤用: 一開始就追求完美完整(會變半年專案);應先抽 token + 5-10 個核心元件,邊用邊長大
- 01讀大綱
- 02比範本
- 03填素材
- 04貼提示詞
- 05對照驗收
Anatomy · 文件解剖
輕量版先回答 6 個核心章節
章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。
- 01
Executive Summary
範本必要章節
3-5 行:token 範圍、核心元件數、命名風格選擇、最強 evidence 來源
- 02
Design Tokens
範本必要章節
4 類必填(color / spacing / typography / radius);shadow / motion 可選。Color 必須分 primitive 與 semantic 兩層
- 03
Core Components(5-10 個)
範本必要章節
每元件 4 維度描述(anatomy / variants / states / props);states 至少 5 種
- 06
A11y Baseline
範本必要章節
4 項必填(對比 / focus / 不只用色 / 暗色模式);不適用須寫 rationale
- 10
Decision Log(key 2-3 條)
範本必要章節
每條必含 chosen + 至少 1 個 rejected + 拒絕原因
- 12
Confidence & Sources & TODO
範本必要章節
把已確認的內容、判斷依據與仍待補充的資訊清楚分開。
Study · 對照學習
同一份交付物,先練核心,再看完整深度
輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。
這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。
30 分鐘內先完成核心章節。
---
doc_type: "design-system"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
required: ["mockups", "brand-spec"]
optional: ["existing-component-library"]
---
# Design System: <product-name>
**Status:** Draft v0.X · **Owner:** <UI name> · **Last updated:** YYYY-MM-DD
> [!IMPORTANT]
> **AI 填寫規則:** 本範本 6 段(編號 1, 2, 3, 6, 10, 12),全部必填——刻意沿用完整版章節編號讓兩版可對照。Tokens 至少 4 類(color / spacing / typography / radius);元件至少 5 個核心;states 至少 5 種;每結論行內加 `(依據:mockup §XXX / brand §YYY)`;每量化欄位加 `[H]/[M]/[L]` badge;缺資料寫 `_TODO: 需要 XXX_` 不編造 hex 值或 props;a11y 對比 ≥ 4.5:1 必填。
---
## 1. Executive Summary
<!-- ai-fill: 3-5 行:token 範圍、核心元件數、命名風格選擇、最強 evidence 來源 -->
<3-5 行說明>
> **TL;DR:** <一句話:本 design-system 收斂哪些視覺決策>
---
## 2. Design Tokens
<!-- ai-rule: 4 類必填(color / spacing / typography / radius);shadow / motion 可選。Color 必須分 primitive 與 semantic 兩層 -->
### Color
| Layer | Token | Value | Confidence |
|---|---|---|---|
| Primitive | `blue-500` | `#2563EB` | **[H]** |
| Primitive | `gray-100` | `#F5F5F5` | **[H]** |
| Semantic | `bg-action-primary` | → `blue-500` | **[H]** |
| Semantic | `bg-surface` | → `gray-100` | **[M]** |
### Spacing
- **Base:** 8-point grid
- **Scale:** `space-1`(4) / `space-2`(8) / `space-3`(12) / `space-4`(16) / `space-6`(24) / `space-8`(32)
### Typography
| Token | Family | Size | Line-height | Weight |
|---|---|---|---|---|
| `text-body` | Inter | 16 | 24 | 400 |
| `text-h2` | Inter | 24 | 32 | 600 |
### Radius
- `radius-sm`: 4px / `radius-md`: 8px / `radius-lg`: 16px
---
## 3. Core Components(5-10 個)
<!-- ai-rule: 每元件 4 維度描述(anatomy / variants / states / props);states 至少 5 種 -->
### Button
- **Anatomy:** container · label · icon_left · icon_right
- **Variants:** primary · secondary · ghost · destructive
- **States:** default · hover · focus · active · disabled · loading
- **Props:** `size` / `variant` / `disabled` / `loading` / `icon`
- **A11y:** `role="button"` + keyboard `Enter` / `Space`
- **Confidence:** **[H]** — **Source:** mockup §3
### Input · Card · Modal · ...
---
## 6. A11y Baseline
<!-- ai-rule: 4 項必填(對比 / focus / 不只用色 / 暗色模式);不適用須寫 rationale -->
| Dimension | Target | Rationale | Confidence |
|---|---|---|---|
| **Contrast (text)** | ≥ 4.5:1 | WCAG 2.2 AA | **[H]** |
| **Focus visible** | required | 鍵盤 a11y | **[H]** |
| **Color not sole indicator** | 用 icon / 文案輔助 | <為何> | **[H]** |
| **Dark mode** | not in v1 | <延後 V2> | **[M]** |
---
## 10. Decision Log(key 2-3 條)
<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected + 拒絕原因 -->
| Date | Decision | Options | Chosen | Rejected why | Confidence |
|---|---|---|---|---|---|
| YYYY-MM-DD | Token 命名風格 | semantic / literal / hybrid | hybrid | semantic (學習成本高)、literal (難 theming) | **[H]** |
---
## 12. Confidence & Sources & TODO
- **整份文件最低 confidence 欄位:** <列出所有 [L] 與 [M]>
- **Fabricated assumptions:**
- <例:假設不支援暗色模式 V1>
- **Highest-value next input:** <例:Brand spec 終版 / FE 元件庫對齊>
### TODO(缺資料)
- _TODO: 需要 Brand 確認 logo 使用規範_
---
> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 6 段 H2 章節齊全(編號 1, 2, 3, 6, 10, 12)
> - [ ] Tokens 至少 4 類(color / spacing / typography / radius)
> - [ ] Color 表分 primitive + semantic 兩層
> - [ ] 元件 ≥ 5 個,每個 4 維度(anatomy / variants / states / props)
> - [ ] States ≥ 5 種(含 disabled / loading)
> - [ ] A11y 對比 ≥ 4.5:1 已標 H
> - [ ] Decision Log ≥ 1 條,每條有 rejected reason
> - [ ] 無 YAML / JSON schema 輸出(design-system 是給人讀的 markdown)Practice · 換你試做
先用自己的話交代素材,不需要先學會工程術語
確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。
可以先留白;複製提示詞後再到 Coding Agent 裡補充。
AI Practice · 手動三步
先問、再寫、最後審,不把整條流程鎖死
每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。
只找阻擋文件成立的未知
先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。
我要製作「Design System · 設計系統」。先不要產出文件。
請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。
每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定
已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。
本文件的核心章節:Executive Summary、Design Tokens、Core Components(5-10 個)、A11y Baseline、Decision Log(key 2-3 條)、Confidence & Sources & TODO複製後,請在標示位置貼上自己的素材。
Review · 自己驗收
文件存在,不代表下一個角色真的能使用
逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。
帶著這份文件,繼續到「高保真稿 · Hi-Fi Mockup」
下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。
