关于 shopify-ui-skills
shopify-ui-skills 为构建 Shopify 风格界面的 AI Agent 提供设计约束,规定视觉样式、布局、无障碍和交互规则,便于保持实现一致。
主要功能
- 01Shopify 风格界面规范
- 02颜色令牌与对比度要求
- 03字体和间距规则
- 04布局与组件约束
- 05无障碍及交互指导
适用场景
- 01构建 Shopify 风格的设计系统
- 02统一浅色界面的视觉样式
- 03核对无障碍与交互要求
- 04指导 AI Agent 实现界面组件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill shopify-ui-skills安装后在 Claude Code 中输入/shopify-ui-skills确认已加载。
附带文件metadata.json
详细介绍
Shopify UI 技能
使用 AI Agent 构建 Shopify 风格界面时应遵循的约束。
适用场景
在以下情况下参考这些指南:
- 构建浅色模式界面
- 创建 Shopify 风格的设计系统
- 使用 Inter 字体和 4px 网格实现 UI
颜色
- SHOULD 为主要表面使用浅色背景
- MUST 将
#FEFEFE用作页面背景(surface-base) - SHOULD 将调色板限制为 10 种不同颜色
- MUST 保持文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
| 令牌 | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #FEFEFE | rgb(254,254,254) | 页面背景 |
surface-raised | #04090B | rgb(4,9,11) | 卡片、模态框、凸起表面 |
text-primary | #858A8E | rgb(133,138,142) | 标题、正文 |
text-secondary | #C9CCCD | rgb(201,204,205) | 次要文本、弱化文本 |
text-tertiary | #B9BCBF | rgb(185,188,191) | 补充文本 |
border-default | #DFE1E2 | rgb(223,225,226) | 细微边框、分隔线 |
排版
- MUST 使用
Inter作为主要字体系列 - SHOULD 使用单一字体系列以保持一致性
- MUST 为主标题使用
88px/extra_bold - MUST 为正文使用
39px/500 - SHOULD 减少字体粗细种类(当前检测到 5 种)
- MUST 为标题使用
text-balance,为正文使用text-pretty - SHOULD 为数字数据使用
tabular-nums - NEVER 修改字间距,除非有明确要求
文本样式
| 样式 | 字体 | 大小 | 粗细 | 颜色 | 数量 |
|---|---|---|---|---|---|
heading-1 | Inter | 88px | extra_bold | #D5D6D7 | 1 |
text-63px | Inter | 63px | semi_bold | #C9CCCD | 1 |
body | Inter | 39px | 500 | #858A8E | 1 |
text-29px | Inter | 29px | semi_bold | #DBDCDE | 1 |
text-27px | Inter | 27px | 400 | #B7BABD | 1 |
text-17px | Inter | 17px | 400 | #B9BCBF | 1 |
text-16px | Inter | 16px | 400 | #9FA2A6 | 1 |
text-15px | Inter | 15px | 300 | #A5A8AC | 1 |
text-15px | Inter | 15px | 400 | #A4A7AA | 1 |
caption | Inter | 13px | 400 | #3E3E3E | 1 |
排版参考
字体系列:
Inter(使用 14 次)
字体大小: 12px、13px、15px、16px、17px、27px、29px、39px、63px、88px
间距
- MUST 使用 4px 网格设置间距
- SHOULD 使用以下比例中的间距:4px、5px、6px、7px、65px
- SHOULD 使用 5px 作为元素之间的默认间距
- NEVER 使用任意间距值(使用设计比例)
- SHOULD 保持容器内边距一致
边框
- MUST 使用以下比例中的圆角:19px、26px、28px
- SHOULD 为药丸形元素使用 26px 及以上的圆角
- MUST 始终使用 2px 边框宽度
- SHOULD 使用 19px 作为默认边框圆角
- NEVER 使用任意圆角值(使用设计比例)
- SHOULD 使用细微边框(1px)分隔元素
圆角参考
比例: 19px、26px、28px
布局
- MUST 以 1920px 为基础视口宽度进行设计
- SHOULD 使用一致的元素宽度:11px
- SHOULD 保持文本密集的布局,并明确呈现层级
- NEVER 使用
h-screen,全视口高度请使用h-dvh - MUST 为固定元素遵循
safe-area-inset - SHOULD 为正方形元素使用
size-*,而不是w-*+h-*
检测到的布局模式
- 主要内容:宽度:1855px,高度:1080px
- 主要内容:宽度:1920px,高度:747px
- 主要内容:宽度:1920px,高度:745px
组件
按钮
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| Ghost | 透明 | #B9BCBF | 无 | - | - |
交互状态
焦点
- MUST 使用
2px轮廓,并采用强调色(#5E6AD2) - MUST 使用
2px的轮廓偏移 - NEVER 移除焦点指示器
悬停
- 按钮(主要):将背景调亮 10%
- 按钮(次要):使用
#04090B背景 - 列表项:使用
#04090B背景
禁用
- MUST 使用
opacity: 0.5 - MUST 使用
cursor: not-allowed
交互
- 对于具有破坏性或不可逆的操作,MUST 使用
AlertDialog - 加载状态 SHOULD 使用结构化骨架屏
- MUST 在操作发生的位置旁显示错误
- NEVER 阻止在
input或textarea元素中粘贴 - 仅包含图标的按钮 MUST 添加
aria-label
动画
- 除非明确要求,否则 NEVER 添加动画
- MUST 仅为合成器属性(
transform、opacity)添加动画 - NEVER 为布局属性(
width、height、top、left、margin、padding)添加动画 - 进入动画 SHOULD 使用
ease-out - 交互反馈 NEVER 超过
200ms - SHOULD 遵循
prefers-reduced-motion
性能
- NEVER 为大面积
blur()或backdrop-filter表面添加动画 - 仅在动画进行期间才能应用
will-change,其他时候 NEVER 应用 - NEVER 将
useEffect用于任何可通过渲染逻辑实现的功能
评论
支持 Markdown