mcpField
S
substack-ui-skills

substack-ui-skills

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

关于 substack-ui-skills

substack-ui-skills 为构建 Substack 风格界面的 AI Agent 提供设计约束,涵盖色彩、排版、布局、交互、动画与性能。

主要功能

  1. 01Substack 风格界面规范
  2. 02色彩与对比度规则
  3. 03Inter 字体规范
  4. 044px 间距与边框尺度
  5. 05交互与无障碍要求
  6. 06动画与性能约束

适用场景

  1. 01构建 Substack 风格设计系统
  2. 02应用浅色界面规则
  3. 03检查界面的无障碍性与交互行为

安装

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

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

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

附带文件metadata.json

详细介绍

Substack UI 技能

为使用 AI Agent 构建 Substack 风格界面制定的约束。

适用场景

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

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

颜色

  • 应为主要表面使用浅色背景
  • 必须使用 #FFFFFF 作为页面背景(surface-base)
  • 应精简调色板(目前检测到 15 种颜色)
  • 为确保无障碍访问,文本对比度必须至少达到 4.5:1
语义令牌
令牌HEXRGB用途
surface-base#FFFFFFrgb(255,255,255)页面背景
surface-raised#FC5013rgb(252,80,19)卡片、模态框、凸起表面
surface-overlay#E9E9E9rgb(233,233,233)覆盖层、工具提示、下拉菜单
text-primary#999999rgb(153,153,153)标题、正文文本
text-2#515151rgb(81,81,81)补充文本
text-secondary#717171rgb(113,113,113)次要、弱化文本
border-default#E7E7E7rgb(231,231,231)细边框、分隔线
destructive#E26739rgb(226,103,57)错误状态、删除操作

字体排印

  • 必须使用 Inter 作为主要字体系列
  • 为保持一致性,应使用单一字体系列
  • 主要标题必须使用 36px / semi_bold
  • 正文文本必须使用 17px / 500
  • 应减少字重种类(目前检测到 4 种)
  • 标题必须使用 text-balance,正文文本必须使用 text-pretty
  • 数值数据应使用 tabular-nums
  • 除非明确要求,否则绝不修改字间距
文本样式
样式字体大小字重颜色数量
heading-1Inter36pxsemi_bold#BCDBD71
text-19pxInter19pxsemi_bold#4C4D4D1
bodyInter17px500#5353531
body-secondaryInter16px400#7171711
body-secondaryInter16px400#6E6E6F1
body-secondaryInter16px400#F5C0A31
body-secondaryInter15px400#9696962
body-secondaryInter15px500#5151511
body-secondaryInter15px400#6F6F6F1
body-secondaryInter15px500#5D5D5D1
字体排印参考

字体系列:

  • Inter(使用 43 次)

字号: 5px、9px、10px、11px、12px、13px、14px、15px、16px、17px、19px、36px

间距

  • 间距必须使用 4px 网格
  • 间距应使用以下比例:1px、3px、4px、5px、8px、9px、10px、13px
  • 元素间的默认间距应为 4px
  • 绝不使用任意间距值(请使用设计比例)
  • 应保持容器内边距一致

边框

  • 圆角必须使用以下比例:3px、4px、6px、7px、8px、9px、16px、18px
  • 边框宽度必须统一使用 1px
  • 默认圆角应为 9px
  • 绝不使用任意圆角值(请使用设计比例)
  • 应使用细边框(1px)分隔元素
圆角参考

比例: 3px、4px、6px、7px、8px、9px、16px、18px

布局

  • 必须以 1920px 的基准视口宽度进行设计
  • 元素宽度应保持一致:12px、16px、18px、17px、22px
  • 应采用文字内容较多且层次清晰的布局
  • 绝不使用 h-screen,全视口高度请使用 h-dvh
  • 固定元素必须遵循 safe-area-inset
  • 方形元素应使用 size-*,而不是 w-* + h-*
检测到的布局模式
  • 主要内容:宽度:1920px,高度:1080px

组件

  • 输入框的高度必须为 0px
按钮
变体背景文本边框高度圆角
幽灵透明#515151无--
输入框
  • 高度:0px

交互状态

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