/ 目錄 / 演練場 / ai-friendly-web-design-skill
● 社群 ianho7 ⚡ 即開即用

ai-friendly-web-design-skill

作者 ianho7 · ianho7/ai-friendly-web-design-skill

14 項設計原則加上自動審查,協助建構 AI 代理能可靠導航的網頁 UI — 語意化 HTML、穩定的測試 ID、無隱藏互動。

一個 Claude Code 技能,強制執行 14 項設計原則,讓 UI 同時對人類和自動化代理可用:語意化 HTML、ARIA、穩定的 data-testid / data-ai-action 定位器、原生表單控制項、分頁取代無限捲動、明確的載入狀態、URL 深層連結、清晰的錯誤訊息、UI+API 雙重進入點。在 Claude 建構或審查 UI 元件時自動套用。

為什麼要用

核心特性

即時演示

實際使用效果

ai-friendly-web-design-skill.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ai-friendly-web-design-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/ianho7/ai-friendly-web-design-skill",
        "~/.claude/skills/ai-friendly-web-design-skill"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ai-friendly-web-design-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/ianho7/ai-friendly-web-design-skill",
        "~/.claude/skills/ai-friendly-web-design-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ai-friendly-web-design-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/ianho7/ai-friendly-web-design-skill",
        "~/.claude/skills/ai-friendly-web-design-skill"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ai-friendly-web-design-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/ianho7/ai-friendly-web-design-skill",
        "~/.claude/skills/ai-friendly-web-design-skill"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ai-friendly-web-design-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/ianho7/ai-friendly-web-design-skill",
        "~/.claude/skills/ai-friendly-web-design-skill"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "ai-friendly-web-design-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/ianho7/ai-friendly-web-design-skill",
          "~/.claude/skills/ai-friendly-web-design-skill"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add ai-friendly-web-design-skill -- git clone https://github.com/ianho7/ai-friendly-web-design-skill ~/.claude/skills/ai-friendly-web-design-skill

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: ai-friendly-web-design-skill

審查現有元件的代理可用性

👤 將頁面交付給會以代理存取的使用者之網頁開發者 ⏱ ~30 min beginner

何時使用: 你的支援聊天機器人或 QA 代理一直找不到正確的按鈕。

前置條件
  • 已安裝技能 — git clone https://github.com/ianho7/ai-friendly-web-design-skill ~/.claude/skills/ai-friendly-web-design-skill
步驟
  1. 將元件提供給 Claude
    Review this Checkout.tsx against ai-friendly-web-design principles. Flag severity.✓ 已複製
    → 依優先順序排列的清單:critical(僅懸停的送出按鈕)-> minor(缺少 aria-live)
  2. 套用修正
    Apply all critical + major fixes, keep visuals identical.✓ 已複製
    → 修補後的元件 + 差異摘要

結果: 一個對人類而言仍然美觀、對代理而言可存取的元件。

注意事項
  • 在沒有命名慣例的情況下到處新增 data-testid — 遵循技能的命名慣例(data-testid='<area>-<action>'),否則命名會變得混亂
搭配使用: chrome-devtools

使用原生控制項與適當 ARIA 建構新表單

👤 建構高風險表單(結帳、會員引導)的前端開發者 ⏱ ~45 min intermediate

何時使用: 建構一個不能阻擋螢幕閱讀器或代理使用的新表單。

步驟
  1. 依原則建立骨架
    Build a billing address form using ai-friendly-web-design. Native input types, labels, aria-describedby for errors, explicit loading on submit.✓ 已複製
    → 包含 HTML 原生類型(email、tel)的表單,無自訂組合框 hack
  2. 新增深層連結與 URL 狀態
    Make the form step reflect in the URL so agents can open step 2 directly.✓ 已複製
    → URL 中包含 step 參數,載入時還原狀態

結果: 一個輔助技術和代理都能順暢導航的表單。

以可預期的分頁取代無限捲動

👤 代理無法瀏覽超過第一頁的產品工程師 ⏱ ~30 min intermediate

何時使用: 你的列表頁面使用無限捲動,且代理永遠無法存取折疊以下的項目。

步驟
  1. 重構為分頁路由
    Replace the infinite-scroll list with URL-based pagination (?page=N). Keep scroll behavior feel.✓ 已複製
    → 可定址的頁面,具有 ARIA 的上一頁/下一頁

結果: 一個代理可確定性地逐頁瀏覽的列表。

注意事項
  • 完全移除舊有捲動導致 SEO 受損 — 在每頁內保留捲動載入 — 只需讓分頁邊界明確即可

組合

與其他 MCP 搭配,撬動十倍槓桿

ai-friendly-web-design-skill + chrome-devtools

即時測試元件,確認代理定位器正常運作

Load the patched component in devtools, verify data-testid values and aria attributes render.✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
review_component component path/source 任何 UI 的 PR 或審查 0
apply_principles component + findings 審查完成後 0
scaffold_agent_friendly UI spec 全新 UI 開發 0

成本與限制

運行它的成本

API 配額
None
每次呼叫 Token 數
中等 — 元件加審查內容
費用
Free
提示
在 PR 時執行審查,而非每次按鍵都觸發

安全

權限、密鑰、影響範圍

憑證儲存: None
資料出站: None

故障排查

常見錯誤與修復

Review says no issues but agents still miss buttons

使用 Chrome DevTools 快照執行;Shadow DOM 可能在靜態審查中被隱藏

data-testid names clash with existing tests

在技能自動命名之前,先提供你的命名慣例

替代方案

ai-friendly-web-design-skill 對比其他方案

替代方案何時用它替代權衡
Manual a11y review + Lighthouse你只在意無障礙設計,不在意代理導航會忽略代理專屬的問題,例如穩定的定位器

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills