mcpField
A
ashby-ui-skills

ashby-ui-skills

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

关于 ashby-ui-skills

ashby-ui-skills 为 AI Agent 构建 Ashby 风格界面提供设计约束,定义深色模式的颜色、字体、布局与交互规范。

主要功能

  1. 01深色模式颜色令牌
  2. 02Inter 字体规范
  3. 034px 间距网格
  4. 04布局与无障碍指南
  5. 05交互与动画约束

适用场景

  1. 01构建 Ashby 风格设计系统
  2. 02统一深色界面样式
  3. 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,以满足无障碍要求
语义令牌
令牌HEXRGB用途
surface-base#0E1122rgb(14,17,34)页面背景
surface-raised#FEFEFErgb(254,254,254)卡片、模态框、凸起表面
text-primary#D6D9DDrgb(214,217,221)标题、正文文本
text-secondary#34384Drgb(52,56,77)次要文本、弱化文本
text-tertiary#797979rgb(121,121,121)补充文本
border-default#818288rgb(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-1Inter28px700#E6E8EB1
heading-2Inter25pxsemi_bold#D1D3D81
heading-3Inter24pxsemi_bold#E2E5E91
bodyInter24pxsemi_bold#E0E2E61
body-secondaryInter24pxsemi_bold#D7D9DD1
text-19pxInter19pxsemi_bold#D6D9DD1
text-19pxInter19px400#507A5D1
text-16pxInter16px400#7979791
text-15pxInter15px400#34384D1
captionInter14px400#3135491
排版参考

字体系列:

  • 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