关于 supabase-ui-skills
面向 AI Agent 的 Supabase 风格界面设计规范,适用于深色主题和相关设计系统。它为颜色、排版、布局、交互及性能设定具体约束。
主要功能
- 01Supabase 风格视觉约束
- 02深色主题与颜色令牌规则
- 03Inter 字体与排版规范
- 04间距、边框和布局规则
- 05无障碍与交互状态要求
- 06动画和性能约束
适用场景
- 01构建 Supabase 风格界面
- 02设计深色主题系统
- 03统一 Inter 字体和 4px 网格的 UI
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill supabase-ui-skills安装后在 Claude Code 中输入/supabase-ui-skills确认已加载。
附带文件metadata.json
详细介绍
Supabase UI 技能
为使用 AI Agent 构建 Supabase 风格界面设定的约束。
适用场景
在以下情况下参考这些指南:
- 构建深色模式界面
- 创建受 Supabase 启发的设计系统
- 使用 Inter 字体和 4px 网格实现 UI
颜色
- MUST 将深色背景(亮度 < 20)用于主要表面——检测到的亮度:7
- MUST 使用
#121212作为页面背景(surface-base) - SHOULD 缩减调色板(当前检测到 16 种颜色)
- MUST 确保文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
| 令牌 | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #121212 | rgb(18,18,18) | 页面背景 |
surface-raised | #000000 | rgb(0,0,0) | 卡片、模态框、凸起表面 |
surface-overlay | #0A502B | rgb(10,80,43) | 覆盖层、工具提示、下拉菜单 |
text-primary | #525252 | rgb(82,82,82) | 标题、正文文本 |
text-2 | #9C9C9C | rgb(156,156,156) | 补充文本 |
text-secondary | #323232 | rgb(50,50,50) | 次要文本、弱化文本 |
border-default | #1A1A1A | rgb(26,26,26) | 细微边框、分隔线 |
success | #3DB576 | rgb(61,181,118) | 成功状态、确认信息 |
字体排版
- MUST 将
Inter用作主要字体 - SHOULD 使用单一字体,以保持一致性
- MUST 将
56px/700用于主要标题 - MUST 将
15px/400用于正文文本 - SHOULD 减少字体粗细种类(当前检测到 4 种)
- MUST 对标题使用
text-balance,对正文文本使用text-pretty - SHOULD 对数字数据使用
tabular-nums - NEVER 修改字间距,除非明确要求
文本样式
| 样式 | 字体 | 大小 | 粗细 | 颜色 | 数量 |
|---|---|---|---|---|---|
heading-1 | Inter | 56px | 700 | #E9E9E9 | 1 |
heading-2 | Inter | 55px | 700 | #3DB576 | 1 |
text-21px | Inter | 21px | 500 | #A2A2A2 | 1 |
text-16px | Inter | 16px | 500 | #3C3C3C | 1 |
text-16px | Inter | 16px | 500 | #383838 | 1 |
text-16px | Inter | 16px | 500 | #393939 | 1 |
text-16px | Inter | 16px | 400 | #AAAAAA | 1 |
body | Inter | 15px | 400 | #9C9C9C | 1 |
body-secondary | Inter | 15px | 400 | #444444 | 1 |
body-secondary | Inter | 15px | 400 | #A8A8A8 | 1 |
字体排版参考
字体系列:
Inter(使用 38 次)
**字体大小:**9px、10px、11px、12px、13px、14px、15px、16px、21px、55px、56px
间距
- MUST 使用 4px 网格设置间距
- SHOULD 使用以下间距刻度:3px、4px、5px、6px、16px、40px、61px
- SHOULD 将 3px 设为元素之间的默认间距
- NEVER 使用任意间距值(使用设计刻度)
- SHOULD 保持容器内边距一致
边框
- MUST 使用以下圆角刻度:3px、4px、5px、6px、7px、9px、10px、13px、16px
- SHOULD 将边框宽度限制为:1px、2px
- SHOULD 将 3px 设为默认圆角
- NEVER 使用任意圆角值(使用设计刻度)
- SHOULD 使用细微边框(1px)分隔元素
圆角参考
**刻度:**3px、4px、5px、6px、7px、9px、10px、13px、16px
布局
- MUST 以 1920px 为基准视口宽度进行设计
- SHOULD 使用一致的元素宽度:8px、17px、52px、162px、158px
- SHOULD 保持文本密集型布局,并设置清晰的层级
- NEVER 使用
h-screen,全视口高度请使用h-dvh - MUST 为固定元素遵循
safe-area-inset - SHOULD 对正方形元素使用
size-*,而非w-*+h-*
检测到的布局模式
- 页眉:高度:66px
- 主要内容:宽度:1920px,高度:1014px
- 主要内容:宽度:1920px,高度:1020px
- 页眉:高度:63px
组件
按钮
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| 幽灵 | transparent | #4B7D64 | 无 | - | - |
交互状态
焦点
- MUST 使用带强调色(
#5E6AD2)的2px轮廓 - MUST 使用
2px轮廓偏移 - NEVER 移除焦点指示器
悬停
- 按钮(主要):背景亮度提高 10%
- 按钮(次要):使用
#000000背景 - 列表项:使用
#000000背景
禁用
- 必须使用
opacity: 0.5 - 必须使用
cursor: not-allowed
交互
- 对于具有破坏性或不可逆的操作,必须使用
AlertDialog - 加载状态应使用结构化骨架屏
- 必须在操作发生的位置附近显示错误
- 绝不能阻止在
input或textarea元素中粘贴 - 图标独占按钮必须添加
aria-label
动画
- 除非明确要求,否则绝不添加动画
- 必须仅对合成器属性(
transform、opacity)添加动画 - 绝不对布局属性(
width、height、top、left、margin、padding)添加动画 - 进入动画应使用
ease-out - 交互反馈动画时长绝不能超过
200ms - 应遵循
prefers-reduced-motion
性能
- 绝不对大面积的
blur()或backdrop-filter表面添加动画 - 仅在动画进行期间应用
will-change - 绝不对任何可通过渲染逻辑实现的内容使用
useEffect
评论
支持 Markdown