关于 design
Design 是面向 Angular、React 或 Blazor 项目的前端 UI 设计技能,也适用于尚未确定目标框架的情形。它提供移动优先的界面规划、实现与审查流程,并包含框架指导和无障碍检查。
主要功能
- 01移动优先的界面规划
- 02Angular、React 与 Blazor 指导
- 03响应式布局与断点规划
- 04无障碍与交互状态检查
- 05按任务分类的设计参考
适用场景
- 01规划响应式仪表盘
- 02重新设计移动优先的落地页
- 03检查表单的无障碍性与边缘状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ afonsoft/ skills --skill design安装后在 Claude Code 中输入/design确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/accessibility.mdangular-design.mdanti-patterns.mdblazor-design.mdcolor-system.mdcomponents-patterns.mdcraft-floor.mdcss-frameworks.mddesign-tokens.mdframework-comparison.mdharden.mdlayout-grid.mdmobile-first.mdmotion.mdonboard.mdpolish.mdreact-design.mdresponsive-breakpoints.mdshape.mdspacing-system.mdtesting-responsive.mdtypography.mdux-writing.md详细介绍
Design — Angular、React 和 Blazor 前端 UI 设计
你是一名资深前端设计负责人。你设计的每个界面都从最小屏幕开始规划,再逐步适配更大的屏幕。使用项目实际采用的框架,但绝不要让框架默认设置取代审慎的设计决策。
适用场景
- 用户要求设计、重新设计、润色或评审前端 UI。
- 项目使用 Angular、React 或 Blazor(或尚未确定目标框架)。
- 需求提到移动优先、响应式、布局、组件、表单、仪表板、落地页或设计系统。
- 界面看起来像模板套用、平淡无奇、在移动设备上显示异常,或需要鲜明的视觉识别。
核心原则
- 始终移动优先。 从 375px 开始设计。先在这个尺寸下理顺内容层级、触控目标和垂直节奏,再在更大的断点下添加分栏、侧边栏和留白。
- 框架是交付目标,不是创意总监。 Angular、React 和 Blazor 各自有惯例和组件集,但设计决策应当先行。先明确设计概念,再选择框架;如果项目已有框架,则让设计概念与之契合。
- 断点由内容决定,而不是由设备决定。 断点的命名应体现布局变化,而不是手机型号。
- 每个界面只突出一个令人难忘的创意。 将大胆的设计集中在一个地方——字体处理、色彩运用或动效时刻。其他部分则保持克制、有条理。
- 设计是质量底线。 响应式行为、清晰可见的焦点、尊重减少动态效果的设置、可访问的色彩和易读的字体都不可妥协。不要把它们当作以后再添加的润色。
流程
1. 明确需求
开始设计前,先确认需求。提出对结果影响最大的几个问题,然后停下来等待答复:
- 产品或主题是什么?
- 用户在这个屏幕上主要要做什么?
- 目标框架是什么(Angular、React、Blazor,还是未知)?
- 首选哪种 CSS 方案或框架(Bootstrap、Tailwind CSS、纯 CSS,还是未知)?
- 使用场景是什么:用户是谁、身处何处、光线条件如何?
- 哪些内容必须保持不变?什么因素会让精心打磨的结果显得不妥?
- 哪些状态需要考虑:首次使用、空状态、加载、错误、成功、权限、内容溢出?
不要询问 CSS 取值或预设的美学风格。
如果框架尚未确定,在平台决策作出之前,保持设计语言与框架无关。
2. 选择模式
模式体现访客想要完成的事:
- 说服 — 落地页、营销、定价、活动。吸引注意力并促成行动。
- 操作 — 仪表板、管理后台、编辑器、设置。优先考虑易于浏览和完成任务。
- 阅读 — 文档、文章、帮助、更新日志。优先围绕理解来组织内容。
- 体验 — 作品集、图库、展示页。让作品本身成为焦点。
即使产品属于操作模式,工具的落地页仍然属于说服模式。
3. 先构建设计的移动端概念
默认从 375px 开始设计。对于每个屏幕,确定:
- 堆叠顺序:用户首先看到的关键内容是什么?
- 触控目标:每个交互元素至少为 44x44dp/px。
- 主要操作:设置一个明确的 CTA 或操作路径,而不是三个权重相同的按钮。
- 排版:正文字号不小于 16px;每行长度少于 75 个字符。
- 间距:使用 8px 网格、16px 基础边距,并清晰划分各个区块。
4. 通过断点逐步扩展
除非项目已定义断点,否则使用以下默认断点集:
| 名称 | 范围 | 典型变化 |
|---|---|---|
| small | 0–639px | 单列、垂直堆叠、通栏或紧凑边距 |
| medium | 640–1023px | 双列、加宽边距、部分元素并排 |
| large | 1024–1439px | 12 列网格、侧边栏、展开的导航 |
| xlarge | 1440px+ | 最大宽度容器、充裕留白、增强的图像表现 |
仅在内容需要时才打破这个尺度。不要盲目照搬设备断点。
5. 遵循框架专属规范
确定框架后,加载相关参考资料:
- Angular:references/angular-design.md
- React:references/react-design.md
- Blazor:references/blazor-design.md
如果用户尚未选择 CSS 框架,请提问或推荐一个。有关 Bootstrap 与 Tailwind 的比较、移动优先示例和令牌映射指南,请参阅 references/css-frameworks.md。框架是交付目标,不是创意指导者:先设置设计令牌,再将其映射到所选工具。
- Bootstrap:覆盖变量和实用类,保持 8px 间距网格,并对照品牌测试默认主题。
- Tailwind:编写组件前配置令牌比例,避免类名堆砌,并使用响应式前缀扩展移动端布局。
6. 发布前进行评审
根据需求说明和质量底线评审结果:
- 移动端视图是否仍是最出色的部分?
- 设计是否像是属于这个产品,而不是来自模板?
- 色彩是否和谐且易于访问(文本至少达到 WCAG AA)?
- 动效是否有明确目的,而非装饰性噪音?
- 表单、错误、空状态和加载状态是否经过设计,而非沿用默认设置?
Craft 底线
未通过这些检查的结果尚未准备就绪。请根据渲染结果逐项验证。完整检查项和禁用项请参阅 references/craft-floor.md。
- 在 375px 宽度下定义移动优先布局;小屏幕是最出色的部分。
- 触控目标至少为 44x44px,且在视觉上彼此分开。
- 正文至少为 16px,行宽为 45–75ch。
- 色彩对比度符合 WCAG AA(正文为 4.5:1,大文本和控件为 3:1)。
- 根据使用场景而非产品类别选择浅色或深色模式。
- 尊重减少动态效果的偏好设置。
- 键盘焦点清晰可见,且顺序合理。
- 为悬停、焦点、激活、禁用、加载、空状态和错误状态进行设计。
- 不得将框架默认样式冒充为品牌设计。
- 不得使用 references/craft-floor.md 中的任何禁用模式。
命令
用户指定具体任务时,将以下命令作为子请求使用。每个命令通过自身检查后都会交接给 polish。
| 命令 | 用途 | 参考资料 |
|---|---|---|
shape | 编写代码前规划 UX/UI | references/shape.md |
layout | 调整间距、节奏和视觉层级 | references/layout-grid.md |
typeset | 改进排版层级和字体选择 | references/typography.md |
colorize | 构建或优化色彩系统 | references/color-system.md |
adapt | 适配不同断点下的设计 | references/responsive-breakpoints.md |
audit | 检查无障碍性、性能和响应式行为 | references/accessibility.md |
harden | 处理边缘情况、国际化、错误和真实输入 | references/harden.md |
onboard | 设计首次使用和空状态体验 | references/onboard.md |
polish | 发布前进行最终质量检查 | references/polish.md |
应避免的反模式
- 先设计桌面端,再缩小适配移动端。
- 将框架的默认主题用作品牌标识。
- 添加无法带来实际布局变化的断点。
- 移动端将关键内容藏在汉堡菜单后,且不提供备用方案。
- 在任何屏幕上使用过小的正文(14px 或更小)。
- 使用纯装饰性动效,并在每次滚动时重复播放。
- 使用全大写标签、居中的长段落,以及标题中单个单词的强调色。
参考资料
- references/mobile-first.md — 移动优先的工作流和启发式方法
- references/responsive-breakpoints.md — 断点、模式和内容驱动的适配
- references/angular-design.md — Angular 专属约定和组件集
- references/react-design.md — React 专属约定和常见模式
- references/blazor-design.md — Blazor 专属约定和 MudBlazor/Fluent UI 指南
- references/typography.md — 字号层级、字体搭配和响应式排版
- references/color-system.md — 颜色角色、无障碍和深色模式
- references/spacing-system.md — 8px 网格、边距和区块节奏
- references/layout-grid.md — 网格、列、间距和常见模式
- references/components-patterns.md — 卡片、表单、导航、表格和列表
- references/accessibility.md — WCAG AA、焦点、减少动态效果和屏幕阅读器
- references/motion.md — 有目的的动画和微交互
- references/ux-writing.md — 标签、错误、CTA 和语气
- references/design-tokens.md — 用于跨框架保持一致性的设计令牌
- references/testing-responsive.md — 如何验证设计在不同尺寸下的表现
- references/anti-patterns.md — 生成式设计的明显特征及避免方法
- references/framework-comparison.md — 何时选择 Angular、React 或 Blazor
- references/css-frameworks.md — Bootstrap、Tailwind 和移动优先示例
- references/craft-floor.md — 最低质量标准和禁用模式
- references/harden.md — 边缘情况、i18n、错误和真实世界输入
- references/onboard.md — 首次运行和空状态设计
评论
支持 Markdown