mcpField
S
spotify-ui-skills

spotify-ui-skills

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

关于 spotify-ui-skills

spotify-ui-skills 为 AI Agent 提供构建 Spotify 风格界面的约束,涵盖视觉令牌、布局、交互、无障碍和性能规范。

主要功能

  1. 01深色表面与颜色令牌规范
  2. 02Inter 字体与 4px 间距网格
  3. 03布局与圆角指导
  4. 04无障碍交互状态要求
  5. 05动画与性能约束

适用场景

  1. 01构建深色模式界面
  2. 02创建 Spotify 风格设计系统
  3. 03使用 Inter 和 4px 网格实现界面

安装

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

$npx skills add https://github.com/ihlamury/design-skills --skill spotify-ui-skills

安装后在 Claude Code 中输入/spotify-ui-skills确认已加载。

附带文件metadata.json

详细介绍

Spotify UI 技能

用于通过 AI Agent 构建 Spotify 风格界面的约束指南。

适用场景

在以下情况下参考这些指南:

  • 构建深色模式界面
  • 创建受 Spotify 启发的设计系统
  • 使用 Inter 字体和 4px 网格实现 UI

颜色

  • MUST 将深色背景(亮度 < 20)用于主要表面——检测到的亮度:9
  • MUST 使用 #171717 作为页面背景(surface-base)
  • MUST 使用 #010002 作为主要操作和焦点状态(accent)
  • SHOULD 减少调色板中的颜色(当前检测到 14 种颜色)
  • MUST 确保文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
令牌HEXRGB用途
surface-base#171717rgb(23,23,23)页面背景
surface-raised#FEFEFErgb(254,254,254)卡片、模态框、凸起表面
surface-overlay#010002rgb(1,0,2)覆盖层、工具提示、下拉菜单
text-primary#555555rgb(85,85,85)标题、正文
text-secondary#6A6A6Argb(106,106,106)次要、弱化文本
text-tertiary#AEAEAErgb(174,174,174)补充文本
border-default#838486rgb(131,132,134)细微边框、分隔线
accent#010002rgb(1,0,2)主要操作、链接、焦点

排版

  • MUST 使用 Inter 作为主要字体系列
  • SHOULD 使用单一字体系列以保持一致性
  • MUST 将 41px / 500 用于主要标题
  • MUST 将 13px / 400 用于正文
  • SHOULD 减少字体粗细种类(当前检测到 4 种)
  • MUST 对标题使用 text-balance,对正文使用 text-pretty
  • SHOULD 对数值数据使用 tabular-nums
  • NEVER 在未明确要求时修改字间距
文本样式
样式字体大小粗细颜色数量
heading-1Inter41px500#2D2D2D1
text-24pxInter24pxsemi_bold#DBDBDB1
text-24pxInter24px500#DBDBDB1
text-24pxInter24pxsemi_bold#DCDCDC1
text-17pxInter17px400#6766671
text-16pxInter16px400#A6A6A61
text-15pxInter15px400#AEAEAE1
text-15pxInter15px400#6B6B6B1
text-15pxInter15px400#A4A4A41
text-15pxInter15px400#7171711
排版参考

字体系列:

  • Inter(使用 81 次)

字体大小: 8px、9px、10px、11px、12px、13px、14px、15px、16px、17px、24px、41px

间距

  • MUST 使用 4px 网格设置间距
  • SHOULD 使用以下比例的间距:1px、2px、3px、4px、5px、6px、7px、8px
  • SHOULD 使用 5px 作为元素间的默认间隔
  • NEVER 使用任意间距值(使用设计比例)
  • SHOULD 保持容器内边距一致

边框

  • MUST 使用以下比例的圆角:10px、15px、17px、18px、22px、24px
  • SHOULD 为胶囊形元素使用 22px 及以上的圆角
  • SHOULD 将边框宽度限制为:1px、2px
  • SHOULD 使用 15px 作为默认边框圆角
  • NEVER 使用任意圆角值(使用设计比例)
  • SHOULD 使用细微边框(1px)分隔元素
圆角参考

比例: 10px、15px、17px、18px、22px、24px

布局

  • MUST 针对 1920px 的基础视口宽度进行设计
  • SHOULD 使用一致的元素宽度:172px、68px、171px、185px、38px
  • SHOULD 保持以文本为主的布局,并设有清晰的层级
  • NEVER 使用 h-screen,全视口高度请使用 h-dvh
  • MUST 为固定元素遵循 safe-area-inset
  • SHOULD 对正方形元素使用 size-*,而不是组合使用 w-* 和 h-*
检测到的布局模式
  • 主要内容:宽度:1920px,高度:1080px
  • 页眉:高度:60px

组件

按钮
变体背景文本边框高度圆角
幽灵透明#B8B8B8无--

交互状态

焦点
  • 必须使用 2px 轮廓,并采用强调色(#010002)
  • 必须使用 2px 轮廓偏移
  • 绝不能移除焦点指示器
悬停
  • 按钮(主要):将背景颜色调亮 10%
  • 按钮(次要):使用 #FEFEFE 背景
  • 列表项:使用 #FEFEFE 背景
禁用
  • 必须使用 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