关于 cal-ui-skills
cal-ui-skills 为 AI Agent 创建 Cal 风格界面提供设计约束,涵盖颜色、字体、间距、布局、无障碍、交互、动画和性能指导。
主要功能
- 01Cal 风格视觉令牌
- 02Inter 字体与排版规则
- 034px 间距网格
- 04无障碍焦点与对比度规则
- 05交互与动画约束
- 06布局和性能指导
适用场景
- 01构建 Cal 风格设计系统
- 02用 AI Agent 创建浅色界面
- 03统一字体排版与间距
- 04检查无障碍和交互行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill cal-ui-skills安装后在 Claude Code 中输入/cal-ui-skills确认已加载。
附带文件metadata.json
详细介绍
Cal UI 技能
用于通过 AI Agent 构建 Cal 风格界面的主观约束。
适用场景
在以下情况参考这些指南:
- 构建浅色模式界面
- 创建 Cal 风格的设计系统
- 使用 Inter 字体和 4px 网格实现 UI
颜色
- SHOULD 为主要表面使用浅色背景
- MUST 将
#FDFDFD用作页面背景(surface-base) - SHOULD 精简调色板(目前检测到 16 种颜色)
- MUST 保持文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
| 令牌 | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #FDFDFD | rgb(253,253,253) | 页面背景 |
surface-raised | #EDEDED | rgb(237,237,237) | 卡片、模态框、凸起表面 |
surface-overlay | #1C1C1C | rgb(28,28,28) | 覆盖层、工具提示、下拉菜单 |
text-primary | #6B6B6B | rgb(107,107,107) | 标题、正文文本 |
text-secondary | #A1A1A1 | rgb(161,161,161) | 次要、弱化文本 |
text-tertiary | #404040 | rgb(64,64,64) | 补充文本 |
border-default | #E5E5E5 | rgb(229,229,229) | 细边框、分隔线 |
destructive | #FCC9C1 | rgb(252,201,193) | 错误状态、删除操作 |
排版
- MUST 使用
Inter作为主要字体系列 - SHOULD 使用单一字体系列以保持一致性
- MUST 为主要标题使用
70px/700 - MUST 为正文文本使用
16px/400 - SHOULD 减少字体粗细种类(目前检测到 5 种)
- MUST 为标题使用
text-balance,为正文文本使用text-pretty - SHOULD 为数字数据使用
tabular-nums - NEVER 修改字间距,除非有明确要求
文本样式
| 样式 | 字体 | 大小 | 粗细 | 颜色 | 数量 |
|---|---|---|---|---|---|
heading-1 | Inter | 70px | 700 | #2A2A2A | 1 |
text-23px | Inter | 23px | semi_bold | #C1C1C1 | 1 |
text-22px | Inter | 22px | semi_bold | #494949 | 1 |
text-21px | Inter | 21px | 500 | #676767 | 1 |
text-21px | Inter | 21px | semi_bold | #383838 | 1 |
text-19px | Inter | 19px | 500 | #2C2C2C | 1 |
text-19px | Inter | 19px | 500 | #3C3C3C | 1 |
text-19px | Inter | 19px | 500 | #D4D4D4 | 1 |
text-18px | Inter | 18px | 500 | #404040 | 1 |
body | Inter | 16px | 400 | #A4A4A4 | 1 |
排版参考
字体系列:
Inter(使用 65 次)
字号: 8px、9px、10px、11px、12px、13px、14px、15px、16px、18px、19px、21px、22px、23px、70px
间距
- MUST 使用 4px 间距网格
- SHOULD 使用以下刻度的间距:1px、2px、3px、4px、5px、6px、7px、9px
- SHOULD 使用 5px 作为元素间的默认间隔
- NEVER 使用任意间距值(使用设计刻度)
- SHOULD 保持容器内边距一致
边框
- MUST 使用以下刻度的圆角半径:1px、2px、3px、4px、6px、7px、8px、9px、10px、11px
- SHOULD 将边框宽度限制为:1px、3px
- SHOULD 使用 3px 作为默认圆角半径
- NEVER 使用任意圆角半径值(使用设计刻度)
- SHOULD 使用细边框(1px)分隔元素
圆角半径参考
刻度: 1px、2px、3px、4px、6px、7px、8px、9px、10px、11px
布局
- MUST 针对 1920px 的基础视口宽度进行设计
- SHOULD 使用一致的元素宽度:16px、8px、11px、10px、52px
- SHOULD 保持文本密集的布局,并具有清晰的层级
- NEVER 使用
h-screen,全视口高度应使用h-dvh - MUST 为固定元素考虑
safe-area-inset - SHOULD 为正方形元素使用
size-*,而不是w-*+h-*
检测到的布局模式
- 主要内容:宽度:1565px,高度:814px
- 主要内容:宽度:1920px,高度:1080px
- 主要内容:宽度:1180px,高度:717px
- 主要内容:宽度:1178px,高度:701px
组件
按钮
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| Ghost | transparent | #6B6B6B | none | - | - |
交互状态
焦点
- 必须使用
2px轮廓,并采用强调色(#5E6AD2) - 必须使用
2px的轮廓偏移 - 绝不能移除焦点指示器
悬停
- 按钮(主要):将背景颜色调亮 10%
- 按钮(次要):使用
#EDEDED背景 - 列表项:使用
#EDEDED背景
禁用
- 必须使用
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