mcpField
U
ux-designer

ux-designer

github.com/gabeosx设计与 UI649 次安装6 天前更新
代码仓库

关于 ux-designer

面向 UI 设计与实现任务的 UX 设计技能,提供从明确目标、建立视觉层级到定义状态和响应式规则的流程。它以设计系统和可验证的质量检查为基础,涵盖无障碍及高风险操作确认。

主要功能

  1. 01明确用户目标与主要操作
  2. 02使用一致的间距和排版规则
  3. 03定义加载、错误和空状态
  4. 04制定响应式布局与断点
  5. 05检查溢出、对齐和触控目标
  6. 06为破坏性操作添加确认

适用场景

  1. 01规划页面信息架构与组件
  2. 02为仪表盘设计数据密集布局
  3. 03定义移动端与平板适配规则
  4. 04检查界面状态和无障碍要求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gabeosx/agent-skills --skill ux-designer

安装后在 Claude Code 中输入/ux-designer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
assets/
design-system-core.css
tailwind.config.template.js
references/
design-standards.md
tactical-moves.md
templates.md

详细介绍

UX 设计师

1) 使命与不可妥协事项

使命

运用基于逻辑的设计规则,而非直觉,打造专业的 UI。

  • 易于浏览(层次清晰、分组明确、操作优先级合理)
  • 保持一致(间距、字体、颜色和层级均有系统规范)
  • 便于实现(组件模型清晰、状态处理完善、响应式布局)
不可妥协事项
  1. 层次就是产品。 控制注意力:主要内容应占主导地位;次要和第三层内容应有意弱化。参见 战术手法。
  2. 优先使用系统规范,而非临时方案。 不使用任意数值。参见 设计标准。
  3. 设计所有状态。 空状态、加载状态、错误状态和边界情况都必须认真对待。
  4. 响应式设计不等于按比例缩放。 大元素应比小元素缩小得更快。
  5. 停止条件(不要猜测): 如果请求没有明确的主要操作、用户目标或成功指标,立即停止并询问。不要为未定义的问题制作精致的 UI。如果决定继续,必须清楚说明假设。
  6. 不使用浏览器原生 UI: 切勿使用原生 alert() 或 confirm()。使用设计系统中的非阻塞通知(Toast)和样式化模态对话框,保持专业的应用体验。
  7. 安全处理破坏性操作: 高风险操作(例如删除、归档或最终提交)必须通过样式化对话框明确要求用户确认。使用高对比度的“危险”样式(例如红色按钮),直观地向用户提示风险等级。

2) 工作流与决策流程

制作任何 UI 时,都要执行以下流程:

  1. 定义目标: 确定主要目标和主要操作(即“唯一要务”)。
  2. 建立层次: 确定第 1、第 2 和第 3 优先级。运用战术手法(例如弱化竞争元素)明确页面重点。
  3. 应用系统规范(确定性算法):
    • 容器宽度: 从以下选一项:640px(阅读)、768px(平板)、1024px(笔记本)、1280px(桌面)。
    • 间距: 只能从令牌列表中选择(2, 4, 8, 12, 16, 24, 32...)。
    • 字体排版: 只能从令牌列表中选择(text-xs 到 text-4xl)。
    • 层级: 只能从阴影令牌中选择(shadow-sm 到 shadow-xl)。
    • 如果某个值不在系统规范中,必须先扩展系统规范,再使用该值。绝不使用任意的内联值。
  4. 定义状态: 明确定义加载、错误和空状态。
  5. 像素级精准验证流程:
    • 视觉检查: 在浏览器中打开构建结果。
    • 溢出检查: 确保元素不会超出其容器(检查 box-sizing 和固定宽度)。
    • 对齐检查: 验证文本和图标是否对齐(使用 flex + align-items: center)。
    • 响应式压力测试:
      • 移动端(<480px): 验证堆叠方式和触控目标。
      • 平板(768px): 验证网格密度(例如,四列网格在此宽度下通常会出问题)和 Flex 换行效果。
    • 状态检查: 手动切换错误和加载状态,确认它们不会导致布局偏移。

3) 响应式设计与稳健性

布局必须能够适应不同屏幕尺寸。不要认为只有“移动端”和“桌面端”两种状态。

1. Flex 换行(“操作组”规则)

任何水平排列的操作、按钮或标签组都必须使用 flex-wrap。

  • 问题: 元素在移动端溢出或被截断。
  • 解决方法: 使用 flex flex-wrap gap-2。这样视口变窄时,元素会换到第二行,而不会破坏布局。
2. 中间断点(网格密度)

避免直接从一列(移动端)跳到四列或更多列(桌面端)。

  • 双列规则: 为网格设置中间断点。
  • 模式: grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4。
  • 原因: 平板屏幕上的网格密度过高,会导致列宽不足,无法承载有意义的内容(例如 KPI 卡片或图表)。
3. 防御性内容处理
  • 避免强制不换行:在卡片等紧凑组件中,不要对补充数据(如描述或次要标签)使用 whitespace-nowrap。
  • 安全触控区域:确保移动设备上的交互元素至少具有 44x44px 的触控区域。

4)高数据密度界面原则

对于涉及复杂数据的应用(表格、多行表单、仪表板):

  • 流式宽度与固定宽度:
    • 对于文本密集的“阅读”页面,使用固定宽度(例如 max-w-4xl),以保证行长易读。
    • 对于数据密集的“管理”页面,使用全宽(流式布局),为表格和网格尽可能多地提供水平空间。
  • 数字易于浏览:
    • 对齐方式:表格中的数值始终右对齐,以便轻松纵向比较大小。
    • 排版:尽可能使用等宽数字,确保小数点纵向对齐。
  • 输入精度:确保数值输入使用适当的语义类型(type="number")和精细的步进值(例如,货币使用 step="0.01")。

5)组件标准

  • **控件高度:**按钮和输入框始终使用固定高度,以确保对齐。
    • 小:32px(高密度界面)
    • 中:40px(默认/标准)
    • 大:48px(触控/主视觉操作)
  • **禁用状态(优先保证易读性):**避免仅使用 opacity 表示禁用状态。
    • **规则:**使用纯色、高对比度颜色(例如,浅灰色背景搭配中灰色文本),确保标签仍清晰易读,同时呈现非激活状态。
  • **对齐:**控件与文本(如标题)相邻时,使用 display: flex; align-items: center;。
  • **防御性布局:**切勿假设内容一定能容纳。
    • **Flex 容器:**对操作组、标签列表或 KPI 指标使用 flex-wrap。
    • **数据密度:**如果网格列数超过 3 列,则定义规则,使其在平板(md)断点降为 2 列。对于 KPI 卡片等紧凑组件中的补充数据(如趋势/描述),避免使用 whitespace-nowrap。
    • **覆盖层:**抽屉和模态框必须在导航事件(路由变化)时明确关闭。
原生控件样式(无障碍优先)

当设计需要设置样式的下拉菜单、复选框或单选框时:

  1. **保留语义:**使用原生 <select> 或 <input> 元素作为交互基础。
  2. **重置外观:**应用 appearance: none;,移除浏览器特定的 UI。
  3. **叠加视觉元素:**使用 position: relative 的包装元素,将自定义图标(如箭头)放置在控件上方。对这些覆盖层应用 pointer-events: none;。
  4. 符合标准:直接对原生元素应用控件高度标准(32/40/48px),确保布局对齐。
原型设计策略

构建快速原型(HTML/CSS)时:

  1. **链接核心资源:**引入 assets/ 目录中的 design-system-core.css。
    • *注意:*其中包含全局 box-sizing: border-box 重置。不要添加自己的重置规则。
  2. **创建本地样式表:**创建 style.css,将 CSS 变量(例如 var(--space-4))映射到组件类。
  3. **避免内联样式:**将逻辑保留在 CSS 类中,以维持“系统化”的方法。

3. 必需输入

如果未提供,请谨慎推断并说明假设。

  • **产品背景:**用户、任务、数据模型。
  • **限制条件:**品牌、技术栈、平台。

4)输出格式

必须使用标准模板生成输出。

  • 完整规范:使用 Templates 中的响应模板。
  • **具体视觉规则:**参阅 Design Standards。
  • **实现:**提供 assets/ 目录中的 Tailwind 配置模板或 CSS 令牌。
标准章节
  1. 设计简报
  2. 信息架构
  3. 组件清单
  4. 视觉系统规范
  5. 屏幕/流程规范
  6. 状态矩阵
  7. 无障碍与 QA 检查清单

5)质量门槛(自我纠正)

定稿前,请确保:

  • 不使用任意像素值(必须符合比例)。
  • 主要操作明确无歧义。
  • 避免「边框堆叠」(改用间距/背景)。
  • 明确响应式规则(例如「在移动端堆叠」)。
  • **留出足够空间:**经过变换/提升的元素,其容器内边距应足够,避免被裁切。
特异性与系统完整性
  • **「重置」陷阱:**全局样式(例如 h3 { color: ... })可能会悄无声息地破坏实用工具类。
  • **解决方案:**不要简单地替换标签(这会违反语义)。
    1. **检查计算样式:**确认覆盖样式的来源。
    2. **强化实用工具类:**使用 ! 修饰符(例如 !text-white)强制应用实用工具类样式。
    3. **修复系统:**理想情况下,调整全局重置样式,使其特异性更低(例如使用 :where()),这样实用工具类就始终优先。

评论

支持 Markdown