mcpField
O
openai-ui-skills

openai-ui-skills

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

关于 openai-ui-skills

面向使用 AI Agent 构建 OpenAI 风格界面的设计规范,涵盖配色、排版、布局和交互,适用于采用 Inter 的轻色主题界面。

主要功能

  1. 01OpenAI 风格界面规范
  2. 02语义化颜色令牌
  3. 03Inter 字体与排版规则
  4. 044px 网格与布局约束
  5. 05无障碍与交互状态指南

适用场景

  1. 01构建 OpenAI 风格设计系统
  2. 02为轻色主题界面设定样式
  3. 03指导 AI Agent 实现界面

安装

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

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

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

附带文件metadata.json

详细介绍

OpenAI UI 技能

使用 AI Agent 构建 OpenAI 风格界面的约定性约束。

适用场景

在以下情形中参考这些指南:

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

颜色

  • SHOULD 为主要表面使用浅色背景
  • MUST 将 #FFFFFF 用作页面背景(surface-base)
  • SHOULD 将调色板限制为 8 种不同颜色
  • MUST 确保文本对比度至少为 4.5:1,以满足无障碍要求
语义令牌
令牌HEXRGB用途
surface-base#FFFFFFrgb(255,255,255)页面背景
text-primary#525252rgb(82,82,82)标题、正文文本
text-secondary#747474rgb(116,116,116)次要、弱化文本
text-tertiary#8A8A8Argb(138,138,138)补充文本
border-default#C9C0BBrgb(201,192,187)细微边框、分隔线

排版

  • MUST 使用 Inter 作为主要字体系列
  • SHOULD 使用单一字体系列以保持一致性
  • MUST 为主要标题使用 24px / semi_bold
  • MUST 为正文文本使用 14px / 400
  • MUST 将字体粗细限制为:regular、semi_bold、light
  • MUST 为标题使用 text-balance,为正文文本使用 text-pretty
  • SHOULD 为数值数据使用 tabular-nums
  • NEVER 修改字间距,除非明确要求
文本样式
样式字体大小粗细颜色数量
heading-1Inter24pxsemi_bold#2121211
heading-2Inter24pxsemi_bold#2222221
bodyInter14px400#8F8F8F1
body-secondaryInter13px400#5252522
body-secondaryInter13px400#5B5B5B1
body-secondaryInter13px400#5656561
body-secondaryInter11px400#8A8A8A1
body-secondaryInter11px400#8D8D8D1
text-10pxInter10px400#5C5C5C2
text-10pxInter10px400#5757572
排版参考

字体系列:

  • Inter(使用 19 次)

**字体大小:**7px、10px、11px、13px、14px、24px

间距

  • MUST 使用 4px 网格设置间距
  • SHOULD 使用以下刻度的间距:4px、5px、6px、7px、10px、11px、31px、32px
  • SHOULD 将 4px 作为元素间的默认间隔
  • NEVER 使用任意间距值(使用设计刻度)
  • SHOULD 保持容器内边距一致

边框

  • MUST 使用以下刻度的圆角半径:16px、18px、19px、22px
  • SHOULD 为胶囊形元素使用 22px 及以上的圆角半径
  • MUST 始终使用 1px 边框宽度
  • SHOULD 将 19px 作为默认圆角半径
  • NEVER 使用任意圆角半径值(使用设计刻度)
  • SHOULD 使用细微边框(1px)分隔元素
圆角半径参考

**刻度:**16px、18px、19px、22px

布局

  • MUST 以 1920px 作为基准视口宽度进行设计
  • SHOULD 将侧边栏宽度设为 202px
  • SHOULD 保持元素宽度一致:8px、21px、14px、61px、36px
  • SHOULD 保持文本密集型布局,并明确层级
  • NEVER 使用 h-screen,全视口高度请使用 h-dvh
  • MUST 为固定元素考虑 safe-area-inset
  • SHOULD 为正方形元素使用 size-*,而非 w-* + h-*
检测到的布局模式
  • 侧边栏:宽度:202px,位置:左侧

组件

  • MUST 将输入字段的高度设为 0px
按钮
变体背景文本边框高度圆角
Ghost透明#8A8A8A无--
输入框
  • 高度:0px

交互状态

焦点
  • MUST 使用强调色(#5E6AD2)的 2px 轮廓
  • MUST 使用 2px 的轮廓偏移
  • NEVER 移除焦点指示器
悬停
  • 按钮(主要):将背景颜色调亮 10%
  • 按钮(次要):使用 surface-raised 背景
  • 列表项:使用 surface-raised 背景
已禁用
  • 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