mcpField
C
cal-ui-skills

cal-ui-skills

github.com/ihlamury设计与 UI102236 次安装37 周前更新
代码仓库

关于 cal-ui-skills

cal-ui-skills 为 AI Agent 创建 Cal 风格界面提供设计约束,涵盖颜色、字体、间距、布局、无障碍、交互、动画和性能指导。

主要功能

  1. 01Cal 风格视觉令牌
  2. 02Inter 字体与排版规则
  3. 034px 间距网格
  4. 04无障碍焦点与对比度规则
  5. 05交互与动画约束
  6. 06布局和性能指导

适用场景

  1. 01构建 Cal 风格设计系统
  2. 02用 AI Agent 创建浅色界面
  3. 03统一字体排版与间距
  4. 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,以满足无障碍要求
语义令牌
令牌HEXRGB用途
surface-base#FDFDFDrgb(253,253,253)页面背景
surface-raised#EDEDEDrgb(237,237,237)卡片、模态框、凸起表面
surface-overlay#1C1C1Crgb(28,28,28)覆盖层、工具提示、下拉菜单
text-primary#6B6B6Brgb(107,107,107)标题、正文文本
text-secondary#A1A1A1rgb(161,161,161)次要、弱化文本
text-tertiary#404040rgb(64,64,64)补充文本
border-default#E5E5E5rgb(229,229,229)细边框、分隔线
destructive#FCC9C1rgb(252,201,193)错误状态、删除操作

排版

  • MUST 使用 Inter 作为主要字体系列
  • SHOULD 使用单一字体系列以保持一致性
  • MUST 为主要标题使用 70px / 700
  • MUST 为正文文本使用 16px / 400
  • SHOULD 减少字体粗细种类(目前检测到 5 种)
  • MUST 为标题使用 text-balance,为正文文本使用 text-pretty
  • SHOULD 为数字数据使用 tabular-nums
  • NEVER 修改字间距,除非有明确要求
文本样式
样式字体大小粗细颜色数量
heading-1Inter70px700#2A2A2A1
text-23pxInter23pxsemi_bold#C1C1C11
text-22pxInter22pxsemi_bold#4949491
text-21pxInter21px500#6767671
text-21pxInter21pxsemi_bold#3838381
text-19pxInter19px500#2C2C2C1
text-19pxInter19px500#3C3C3C1
text-19pxInter19px500#D4D4D41
text-18pxInter18px500#4040401
bodyInter16px400#A4A4A41
排版参考

字体系列:

  • 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

组件

按钮
变体背景文本边框高度圆角
Ghosttransparent#6B6B6Bnone--

交互状态

焦点
  • 必须使用 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