mcpField
U
ui-ux-pro-max

ui-ux-pro-max

github.com/kimny1143设计与 UI4.7k 次安装
代码仓库

关于 ui-ux-pro-max

UI/UX Pro Max 是用于 UI/UX 设计与实现的技能,面向落地页、仪表盘、SaaS 产品和响应式移动应用。它强调先批判和删减,再确立视觉重点,并通过设计令牌、响应式规范和无障碍检查指导实现。

主要功能

  1. 01覆盖落地页、仪表盘和 SaaS UI
  2. 02先评估问题再提出设计方案
  3. 03强调视觉层级与内容取舍
  4. 04使用项目设计令牌
  5. 05提供多语言排版与响应式规范
  6. 06优先考虑无障碍和对比度

适用场景

  1. 01规划落地页的版式和视觉层级
  2. 02改进仪表盘或 SaaS 产品界面
  3. 03实现响应式移动应用界面
  4. 04检查界面的对比度与可访问性

安装

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

$npx skills add https://github.com/kimny1143/claude-code-template --skill ui-ux-pro-max

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

详细介绍

UI/UX Pro Max

UI/UX 设计与实现的专业技能。

核心:所谓的「AI 生成感」,源自「什么都做得面面俱到」;设计的关键在于「舍弃什么」。

适用领域

  • 落地页设计
  • 仪表板 UI
  • SaaS 产品
  • 移动应用(响应式)

行为准则(5 条铁律)

1. 动手前先质疑
  • 对每个元素都问一句「真的需要吗?」
  • 如果答案含糊不清,就先不加
2. 确定一个主角
  • 每个区块只确定一个「最想展示的内容」
  • 确定之前,不要写代码
3. 别让所有元素都只有 70 分
  • 所有元素存在感相同 = 失败
  • 让一个元素达到 120 分,其余达到 60 分
4. 与其说「可以」,不如说「别这么做」
  • 与其提议增加,不如提议删减
  • 犹豫时就删掉
5. 先批判,再动手
  • 先列出 3 个以上现有问题,再提出改进方案
  • 禁止说「感觉不错」

避免 AI 生成感

不该做的事
  • 所有元素存在感相同(间距均匀、配色保守)
  • 缺乏决断(A 和 B 都可以,随你喜欢)
  • 过度装饰(毫无意义的渐变、动画)
禁止说「感觉不错」
  • 完成后也要补充「如果说还有改进空间的话……」
  • 如果对方要求你做决定,就果断决定(附上依据,并推荐一个选项)

高级设计公式

Premium = (画像の質 × サイズ) + (余白) - (装飾)

三大支柱:

  1. 大图 - 图片占卡片面积的 70-85%
  2. 大胆留白 - 区块之间至少间隔 112px
  3. 克制 - 每种效果都必须有其理由

参考品牌: Spitfire Audio、Native Instruments、iZotope


图片指南

场景图片尺寸宽高比
产品卡片卡片面积的 70-85%16:9 或 4:3
首屏区块全视口宽度可变
画廊网格高度统一,宽度可变混合

图片处理方式:

  • 图片是内容的主角
  • 文本尽量精简(名称 + 一行说明)
  • 不要在图片上叠加功能列表
  • 使用高质量截图/渲染图

间距令牌

令牌值用途
--space-section112px区块之间
--space-group64px相关内容之间
--space-element24px元素之间

区块内边距:

/* プレミアムセクション */
padding-top: 112px;    /* py-28 */
padding-bottom: 112px;

/* コンパクトセクション */
padding-top: 64px;     /* py-16 */
padding-bottom: 64px;

Tailwind 对应值:

// プレミアムセクション
<section className="py-28">...</section>

// コンパクトセクション
<section className="py-16">...</section>

网格系统

列数用途间距
4 列产品展示24px (gap-6)
3 列功能卡片、价格32px (gap-8)
2 列首屏、对比48px (gap-12)

视觉层级检查清单

开始工作前
  • 是否明确说出了「这个区块的主角是什么」
  • 是否考虑过「有没有可以删除的元素」
  • 是否能解释「为什么用这个颜色」
工作过程中
  • 是否所有元素的存在感都一样
  • 视线流动是否符合预期
  • 背景是否干扰了内容
完成工作前
  • 在手机上能否在 3 秒内看懂「该做什么」
  • 是否存在造成「AI 生成感」的因素
  • 是否有让人觉得「这里本可以删掉」的元素

关键:优先考虑无障碍访问

本节为最高优先级。无障碍访问优先于设计美感。

WCAG 2.1 对比度要求
文本大小最小对比度
常规文本 (< 18px)4.5:1
大号文本 (≥ 18px bold / ≥ 24px)3:1
UI 组件、图标3:1
必须使用项目的 globals.css

不要直接使用 Tailwind 默认颜色。 优先使用项目 globals.css 中定义的令牌。

// NG: Tailwind デフォルトをそのまま使用
<p className="text-slate-400">...</p>
<p className="text-slate-500">...</p>

// OK: プロジェクトトークンを使用
<p className="text-muted">...</p>
<p className="text-subtle">...</p>

实现前务必检查 app/globals.css,了解已定义的令牌。

徽章、标签的对比度

相近色组合很危险:

// NG: 同系色でコントラスト不足
<span className="bg-indigo-600/20 text-indigo-400">Badge</span>
<span className="bg-amber-500/20 text-amber-400">開発中</span>

// OK: 十分なコントラストを確保
<span className="bg-indigo-600/30 text-indigo-300">Badge</span>
<span className="bg-amber-600/30 text-amber-200">開発中</span>
禁用状态文本
// NG: 薄すぎてコントラスト不足
<button className="text-white/50" disabled>...</button>

// OK: 無効でも読める濃さ
<button className="text-white/70" disabled>...</button>

多语言排版

为什么需要: 相同字号下,日语在视觉上比英语显得更厚重(因为笔画较多)。使用相同字号会让日语看起来拥挤、沉重,因此应缩小一级以保持视觉平衡。

排版令牌(已在 globals.css 中定义)
令牌用途英语(桌面端)日语(桌面端)
.text-hero落地页主标题96px80px
.text-section区块标题(h2)48px40px
.text-headline功能标题、产品标题30px24px
.text-subhead标语、导语24px20px
使用方法
// NG: Tailwind直接指定(言語による調整なし)
<h1 className="text-5xl md:text-8xl font-bold">...</h1>

// OK: トークン使用(自動で言語対応)
<h1 className="text-hero text-white">...</h1>
响应式适配

令牌包含移动端、平板端和桌面端的响应式尺寸。无需额外指定断点。

// NG: 冗長なブレークポイント指定
<h1 className="text-hero sm:text-hero md:text-hero">...</h1>

// OK: トークンのみ
<h1 className="text-hero">...</h1>
适用对象
  • 落地页标题(h1、h2)
  • 区块标题
  • 产品名称、功能名称
  • 标语、导语

注意: 不要将其用于正文文本(p 元素中的长文本)。正文使用 text-white/80 等常规样式。


遵守设计令牌的规则

原则: 不要直接使用 Tailwind 默认值,应使用 globals.css 中定义的设计令牌。

圆角(Border Radius)
令牌值用途
--radius-sm8px小徽章、标签
--radius-md12px按钮、输入框
--radius-lg16px卡片、模态框
--radius-full999px药丸形按钮、头像
// NG: Tailwind直接指定
<button className="rounded-lg">...</button>
<div className="rounded-xl">...</div>

// OK: トークン使用
<button className="rounded-[var(--radius-md)]">...</button>
<div className="rounded-[var(--radius-lg)]">...</div>
颜色
// NG: Tailwind色を直接使用
<p className="text-slate-400">...</p>
<div className="bg-gray-900">...</div>

// OK: プロジェクトトークン使用
<p className="text-muted">...</p>
<div className="bg-mued-bg">...</div>
检查令牌违规

实现后,使用以下方式检查违规:

# 角丸のTailwind直接指定を検索
grep -r "rounded-sm\|rounded-md\|rounded-lg\|rounded-xl\|rounded-2xl" components/

# 色のTailwind直接指定を検索
grep -r "bg-slate-\|bg-gray-\|text-slate-\|text-gray-" components/

将检测到的项逐一替换为令牌。


按钮样式

主要 CTA(默认:白色底)
<button className="bg-white text-black px-8 py-4 text-lg font-medium rounded-[var(--radius-md)] hover:bg-white/90 transition-colors cursor-pointer">
  Download Now
</button>
次要按钮(仅边框)
<button className="border-2 border-white text-white px-8 py-4 text-lg font-medium rounded-[var(--radius-md)] hover:bg-white/10 transition-colors cursor-pointer">
  Learn More
</button>
品牌专用样式(限量使用)

使用彩色按钮的条件:

  • 仅用于品牌专属区块(例如 MUEDear amber)
  • 每页最多 1-2 处
  • 不要设为默认样式
// MUEDear用: amber
<button className="border-2 border-amber-500 text-amber-400 hover:bg-amber-500 hover:text-white ...">
  Download App
</button>
禁用状态
<button className="bg-white/5 text-white/70 cursor-not-allowed" disabled>
  Disabled
</button>

背景样式

使用的背景
// プレミアム: 単色のみ
<section className="bg-black">...</section>
<section className="bg-[#0f0f0f]">...</section>
<section className="bg-white">...</section>
应避免的装饰
模式问题替代方案
悬浮发光球分散注意力删除
bg-gradient-to-b from-violet-900/20装饰性噪点单色
颗粒纹理增加不必要的复杂度删除
动态背景性能变差静态背景

卡片样式

图片中心卡片(默认)
<div className="bg-[#0f0f0f] rounded-[var(--radius-lg)] overflow-hidden">
  {/* 画像: カードの70-85% */}
  <div className="aspect-video">
    <Image src="..." alt="..." fill className="object-cover" />
  </div>
  {/* テキスト: 最小限 */}
  <div className="p-6">
    <h3 className="text-white text-lg font-medium">製品名</h3>
    <p className="text-white/60 text-sm">一行の説明</p>
  </div>
</div>
Glass Card(限定使用)

**注意:**Glassmorphism 仅用于特定场景(如价格表、功能对比),不要将其设为默认样式。

<div className="bg-white/5 backdrop-blur-xl border border-white/10 rounded-[var(--radius-lg)] p-6">
  <h3 className="text-white font-semibold">Title</h3>
  <p className="text-white/80">Description</p>
</div>

使用 Glass Card 时的注意事项:

  • 文本颜色至少为 text-white 或 text-white/80
  • 不要使用 text-slate-* 或 text-gray-*
  • 背景为半透明,因此对比度计算较复杂

指示升级协议

根据用户的措辞调整响应级别:

用户的措辞解读所需响应
“Spitfire 级别”“Native Instruments 级别”全面视觉改造完全重新设计,而不是微调
“更有高级感”实质性修改移除特效,增加留白
“更简洁”中度清理移除 30% 的装饰元素
“调整”“微调”小幅修改仅修改 CSS

**重要规则:**如果用户点名了参考品牌,提出建议前必须将当前实现与该品牌进行比较。


实现检查清单

实现前检查
  • 是否有高质量的产品截图?
  • 能否将文本减少 50%?
  • 是否确认了要参考的美学水准?
  • 是否符合该克制程度?
实现中检查
问题如果回答“No”则采取的操作
区块内边距 >= 100px?增加到 py-28 或更大
图片是否占卡片面积的 60% 以上?放大图片
按钮是否为白色或仅有边框?将彩色按钮改为白色或仅有边框
背景是否为纯色(无渐变)?移除装饰元素
实现后检查
  1. **眯眼测试:**眯起眼睛观察,能否识别产品?如果特效过于突出,就减少特效。
  2. **“移除一项”测试:**从每个区块移除一个元素。页面仍然有效吗?如果有效,该元素就不需要。
  3. **Spitfire 对比:**将截图与 Spitfire.com 并排对比。视觉“重量”是否相近?

应避免的模式(明确禁止列表)

“Claude defaults to safe choices”——如果不明确禁止,就会趋向通用的选择

背景与装饰
禁止模式问题替代方案
过度使用 bg-white/5 backdrop-blur-xl有“2023 年模板”感使用 bg-black 或 bg-[#0f0f0f]
bg-gradient-to-b from-violet-900/20装饰性噪音移除
bg-gradient-to-br from-indigo-500/10同上移除
动画 blob 背景分散注意力、降低性能使用静态纯色
颗粒纹理(noise.svg)增加不必要的复杂度移除
悬浮发光球体2020 年代初期的趋势移除
阴影与光晕
禁止模式问题替代方案
shadow-lg shadow-indigo-500/20人工的“弹出”效果不使用阴影,或使用 shadow-sm shadow-black/20
shadow-xl shadow-violet-500/30同上同上
shadow-2xl shadow-amber-500/25同上同上
hover:shadow-*-500/40悬停时突出显示光晕使用 hover:bg-white/10 等更克制的效果
drop-shadow-[0_0_*px_rgba()]自定义光晕移除
布局
禁止模式问题替代方案
带图标的三列功能网格通用 SaaS 设计使用大图 + 最少文本
大小相同的均匀三列卡片“所有内容都同等显眼”突出其中一项,其余缩小
区块间距不超过 py-12显得拥挤使用 py-28(112px)或更大
所有内容都居中对齐过于保守考虑左对齐或非对称布局
组件
禁止模式问题替代方案
hover:scale-105 + hover:shadow-*悬停效果过多仅使用 hover:bg-white/10
transition-all duration-300笨重且难以预测使用 transition-colors duration-200
group-hover:translate-x-2 箭头常见的模式移除或使用 translate-x-1
默认使用彩色 CTA 按钮AI 的安全选项使用白色背景或白色边框
动画
禁止模式问题替代方案
分散的微交互缺乏一致性专注于一种页面加载动画
过度使用 animate-pulse分散注意力移除或仅在一处使用
持续使用 animate-bounce同上仅在用户执行操作时使用
多个元素同时动画显得混乱使用 staggered delays 依次播放
颜色(AI 的安全选项)
禁止模式问题替代方案
白色背景上的紫色渐变最常见的 AI 选择使用纯色深色背景
from-violet-600 to-indigo-600同上移除
默认使用 text-indigo-400滥用品牌色使用 text-white 或 text-white/80
同色系徽章(indigo 背景配 indigo 前景)对比度不足使用白色背景 + 黑色文本

图标

  • **使用的库:**Lucide Icons
  • **禁止:**不要使用表情符号作为图标
import { Music, Brain, Sparkles, Check, X } from 'lucide-react';

响应式断点

/* Mobile first */
/* sm: 640px */
/* md: 768px */
/* lg: 1024px */
/* xl: 1280px */
/* 2xl: 1536px */

需要验证的屏幕宽度:

  • 320px(最小移动端)
  • 768px(平板)
  • 1024px(桌面端)
  • 1440px(大屏幕)

交付前检查清单

  • Lighthouse 无障碍评分 100%(最重要)
  • 使用项目的 globals.css 令牌
  • 图片是否成为视觉主体
  • 区块间距 >= 112px(py-28)
  • 按钮是否以白色或边框为主
  • 背景是否为纯色
  • 不使用表情符号作为图标(使用 Lucide)
  • 支持深色模式
  • 可点击元素使用 cursor-pointer
  • 支持响应式布局
  • 优化性能(图片、动画)

对比度检查方法

实现后务必使用 Lighthouse 检查无障碍:

# ローカル確認
npm run dev
lighthouse http://localhost:3000 --only-categories=accessibility --view

# 詳細な失敗項目の確認
lighthouse http://localhost:3000 --only-categories=accessibility --output=json | jq '.audits["color-contrast"]'

目标:Lighthouse Accessibility Score 达到 100%

评论

支持 Markdown