关于 ashby-ui-skills
ashby-ui-skills 为 AI Agent 构建 Ashby 风格界面提供设计约束,定义深色模式的颜色、字体、布局与交互规范。
主要功能
- 01深色模式颜色令牌
- 02Inter 字体规范
- 034px 间距网格
- 04布局与无障碍指南
- 05交互与动画约束
适用场景
- 01构建 Ashby 风格设计系统
- 02统一深色界面样式
- 03检查无障碍交互模式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill ashby-ui-skills安装后在 Claude Code 中输入/ashby-ui-skills确认已加载。
附带文件metadata.json
详细介绍
Ashby UI 技能
为使用 AI Agent 构建 Ashby 风格界面制定的主观约束。
适用场景
在以下情况下参考这些指南:
- 构建深色模式界面
- 创建 Ashby 风格的设计系统
- 使用 Inter 字体和 4px 网格实现 UI
颜色
- MUST 将深色背景(亮度 < 20)用于主要表面——检测到的亮度:9
- MUST 使用
#0E1122作为页面背景(surface-base) - SHOULD 将调色板限制为 8 种不同的颜色
- MUST 保持文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
| 令牌 | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #0E1122 | rgb(14,17,34) | 页面背景 |
surface-raised | #FEFEFE | rgb(254,254,254) | 卡片、模态框、凸起表面 |
text-primary | #D6D9DD | rgb(214,217,221) | 标题、正文文本 |
text-secondary | #34384D | rgb(52,56,77) | 次要文本、弱化文本 |
text-tertiary | #797979 | rgb(121,121,121) | 补充文本 |
border-default | #818288 | rgb(129,130,136) | 细边框、分隔线 |
排版
- MUST 将
Inter用作主要字体系列 - SHOULD 使用单一字体系列以保持一致性
- MUST 将主要标题设为
28px/700 - MUST 将正文文本设为
24px/semi_bold - SHOULD 减少字体粗细种类(当前检测到 4 种)
- MUST 对标题使用
text-balance,对正文文本使用text-pretty - SHOULD 对数字数据使用
tabular-nums - NEVER 修改字间距,除非明确提出要求
文本样式
| 样式 | 字体 | 大小 | 粗细 | 颜色 | 数量 |
|---|---|---|---|---|---|
heading-1 | Inter | 28px | 700 | #E6E8EB | 1 |
heading-2 | Inter | 25px | semi_bold | #D1D3D8 | 1 |
heading-3 | Inter | 24px | semi_bold | #E2E5E9 | 1 |
body | Inter | 24px | semi_bold | #E0E2E6 | 1 |
body-secondary | Inter | 24px | semi_bold | #D7D9DD | 1 |
text-19px | Inter | 19px | semi_bold | #D6D9DD | 1 |
text-19px | Inter | 19px | 400 | #507A5D | 1 |
text-16px | Inter | 16px | 400 | #797979 | 1 |
text-15px | Inter | 15px | 400 | #34384D | 1 |
caption | Inter | 14px | 400 | #313549 | 1 |
排版参考
字体系列:
Inter(使用 16 次)
字体大小: 12px、13px、14px、15px、16px、19px、24px、25px、28px
间距
- MUST 使用 4px 网格设置间距
- SHOULD 使用以下比例的间距:2px、3px、4px、5px、88px
- SHOULD 将 2px 用作元素间的默认间隙
- NEVER 使用任意间距值(使用设计比例)
- SHOULD 保持容器内边距一致
边框
- MUST 使用比例中的圆角值:10px
- MUST 始终使用 4px 边框宽度
- SHOULD 将 10px 用作默认圆角
- NEVER 使用任意圆角值(使用设计比例)
- SHOULD 使用细边框(1px)分隔元素
圆角参考
比例: 10px
布局
- MUST 以 1920px 为基础视口宽度进行设计
- SHOULD 使用一致的元素宽度:560px、17px、564px、1px、79px
- SHOULD 保持文本密集的布局,并设置清晰的层级
- NEVER 使用
h-screen,全视口高度请使用h-dvh - MUST 为固定元素遵循
safe-area-inset - SHOULD 对正方形元素使用
size-*,而不是w-*+h-*
组件
- MUST 将输入字段高度设为
0px
输入框
- 高度:
0px
交互状态
焦点
- MUST 使用强调色(
#5E6AD2)绘制2px轮廓 - MUST 将
outline-offset设为2px - NEVER 移除焦点指示器
悬停
- 按钮(主要):将背景颜色调亮 10%
- 按钮(次要):使用
#FEFEFE背景 - 列表项:使用
#FEFEFE背景
禁用
- MUST 使用
opacity: 0.5 - MUST 使用
cursor: not-allowed
交互
- MUST 对具有破坏性或不可逆的操作使用
AlertDialog - SHOULD 在加载状态下使用结构化骨架屏
- MUST 在操作发生的位置旁显示错误信息
- NEVER 阻止在
input或textarea元素中粘贴 - MUST 为仅含图标的按钮添加
aria-label
动画
- 除非明确要求,否则绝不添加动画
- 必须仅为合成器属性(
transform、opacity)添加动画 - 绝不为布局属性(
width、height、top、left、margin、padding)添加动画 - 入场动画应使用
ease-out - 交互反馈动画绝不超过
200ms - 应遵循
prefers-reduced-motion
性能
- 绝不为大面积的
blur()或backdrop-filter表面添加动画 - 仅在动画进行期间使用
will-change - 对于可通过渲染逻辑实现的内容,绝不使用
useEffect
评论
支持 Markdown