skills/ui-component-guidelines/SKILL.md
UI 元件設計規範。用於按鈕狀態、表單驗證、Modal 行為、Toast 通知、表格互動、導航模式、載入狀態。
npx skillsauth add vincent119/ai-rules-kit ui-component-guidelinesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
參照:Material Design 3、Ant Design、Shopify Polaris
Primary - 頁面主要操作(每頁最多 1 個)
Secondary - 次要操作(取消、返回)
Tertiary - 低優先操作(文字按鈕、連結樣式)
Danger - 破壞性操作(刪除、移除)
Default → Hover → Pressed → Focused → Loading → Disabled
aria-label// 按鈕組排列
<div className="button-group">
<Button variant="secondary">取消</Button>
<Button variant="primary" loading={isSubmitting}>儲存變更</Button>
</div>
// 規則:Primary 在右(LTR)、在下(Mobile stack)
即時驗證 - 離開欄位時(onBlur)驗證格式
提交驗證 - 送出時驗證必填與業務邏輯
延遲驗證 - 輸入停止 300ms 後驗證(搜尋、帳號檢查)
// 錯誤訊息放在欄位下方,紅色文字 + icon
<div className="form-field">
<label htmlFor="email">電子郵件 *</label>
<input
id="email"
type="email"
aria-invalid={!!error}
aria-describedby="email-error"
/>
{error && (
<span id="email-error" role="alert" className="error-message">
<ErrorIcon /> 請輸入有效的電子郵件地址
</span>
)}
</div>
* 或 (必填)Alert Dialog - 需要使用者確認的重要訊息(不可點背景關閉)
Confirmation - 破壞性操作前的二次確認
Form Dialog - 包含表單的對話框
Info Dialog - 資訊展示(可點背景關閉)
body overflow: hidden)<dialog
role="dialog"
aria-modal="true"
aria-labelledby="modal-title"
aria-describedby="modal-desc"
>
<h2 id="modal-title">確認刪除</h2>
<p id="modal-desc">此操作無法復原,確定要刪除嗎?</p>
<footer>
<Button variant="secondary">取消</Button>
<Button variant="danger">刪除</Button>
</footer>
</dialog>
Success - 操作成功(綠色,3-5 秒自動消失)
Error - 操作失敗(紅色,不自動消失,需手動關閉)
Warning - 警告提示(橙色,5-8 秒自動消失)
Info - 一般資訊(藍色,3-5 秒自動消失)
role="alert" 或 aria-live="polite" 通知螢幕閱讀器<div role="alert" aria-live="assertive" className="toast toast-error">
<ErrorIcon />
<span>儲存失敗,請稍後再試</span>
<button aria-label="關閉通知">✕</button>
</div>
排序 - 點擊欄位標題切換升序/降序/無排序
篩選 - 欄位級篩選或全域搜尋
分頁 - 顯示總筆數、每頁筆數選擇、頁碼導航
選取 - Checkbox 多選、全選/取消全選
空狀態 - 無資料時顯示插圖 + 說明 + 操作按鈕
載入狀態 - Skeleton 或 Spinner
<table role="grid" aria-label="使用者列表">
<thead>
<tr>
<th aria-sort="ascending">
<button>名稱 ↑</button>
</th>
<th>電子郵件</th>
<th aria-sort="none">建立日期</th>
</tr>
</thead>
</table>
Top Nav - 主要導航(5-7 項以內)
Side Nav - 多層級導航(後台系統)
Breadcrumb - 層級路徑指示
Tab - 同頁面內容切換(2-6 項)
Bottom Nav - Mobile 主要導航(3-5 項)
aria-current="page")role="tablist" + role="tab" + role="tabpanel"Skeleton - 頁面首次載入(佔位元素模擬最終佈局)
Spinner - 操作等待(按鈕、小區域)
Progress Bar - 已知進度(上傳、多步驟)
Shimmer - 列表/卡片載入中
// Skeleton 範例
<div className="card-skeleton">
<div className="skeleton skeleton-avatar" />
<div className="skeleton skeleton-title" />
<div className="skeleton skeleton-text" />
<div className="skeleton skeleton-text short" />
</div>
<div className="empty-state">
<Illustration />
<h3>尚無任何項目</h3>
<p>建立你的第一個項目開始使用</p>
<Button variant="primary">新增項目</Button>
</div>
規則:
tools
基於 SLA/SLO 量化評估事故影響的計算模型與業務影響矩陣。適用於「SLA 影響」、「SLO 違反」、「影響評估」、「營收損失估算」、「Error Budget」、「可用性計算」、「事故成本評估」等量化事故業務影響的任務。強化 impact-assessor 的評估能力。注意:事故原因分析與改善規劃不在此技能範圍內。
research
根因分析(RCA)方法論詳細指南。提供 5 Whys、Fishbone 圖、Fault Tree Analysis、變更分析等結構化 RCA 技術,以及認知偏誤防範清單。適用於「根因分析」、「RCA」、「5 Whys」、「魚骨圖」、「Fault Tree」、「原因分析方法論」、「變更分析」等事故原因分析任務。強化 root-cause-investigator 的分析能力。注意:時間軸重建與改善規劃不在此技能範圍內。
testing
事故事後分析(Postmortem)完整流程。協調 7 個執行階段:資訊收集 → 時間軸重建 → 根因分析 → 影響評估 → 改善規劃 → 報告審查 → 整合報告,最終產出完整的 Postmortem 報告。適用於「寫事故報告」、「post-incident 分析」、「RCA 報告」、「事故時間軸整理」、「建立改善措施」等請求。注意:即時 Incident Response(on-call)、監控系統設定、告警配置不在此技能範圍內。
content-media
投影片版面模式庫。提供 20 種投影片類型的最佳版面配置、格線系統、色彩與字型設計 Token。適用於「投影片版面」、「Slide Layout」、「設計系統」、「格線」、「字型」、「色彩規範」等投影片視覺設計任務。強化 visual-designer 的設計能力。注意:PPT/Keynote 檔案直接輸出不在此技能範圍內。