Communitygithub.com

halftone-ch/drawn-ui

绘制真实产品界面的安静插图(白色卡片、文本显示为条形、一部分抬起、产品色调着色、透明背景),用于案例研究、落地页、README、幻灯片或文档。

drawn-ui 是什么?

该技能专为AI代理设计,用于生成产品界面的手绘风格插图,而非真实截图。它读取产品的实际屏幕或组件,将其简化为结构化线框图——所有文本被替换为圆角条形,使用产品自己的品牌色调着色,并允许一部分元素“抬起”以增加视觉层次。输出为自适应的SVG文件,支持浅色和深色模式,且完全可访问。这避免了截图中的隐私问题,同时提供了干净、设计感十足的视觉资产,适合案例研究、文档和营销材料。支持通过`drawings.json`规范进行参数化配置,并通过`scripts/draw.py`脚本和Playwright进行自动化生成。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/halftone-ch/drawn-ui/tree/HEAD/skills/drawn-ui

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Drawn UI

绘制屏幕以设计师为案例研究草图的方式展示产品:真实的界面被简化,仅保留其结构,并用产品自身的颜色进行着色。它看起来像是设计作品,而截图则像是粘贴上去的,并且永远不会显示私人数据,因为所有文本都被替换为条形。

外观保持平静,因为规则很少且严格。每个项目仍然看起来像它自己,因为色调、屏幕和抬起的一部分都来自项目本身。这些绘图的去向(英雄区、网格、功能列表、幻灯片)由使用它们的人决定。

按此顺序工作

  1. 阅读真实产品。 其当前屏幕,来自代码、应用程序或设计文件。每张绘图都追踪到真实的屏幕或组件。切勿发明隐喻(漂浮的秤、门、卡片之间的箭头):如果产品没有它,绘图就不会显示它。
  2. 选择时刻。 每张绘图的用途:一个屏幕、一个组件、一个状态。一组绘图展示不同的组件,而不是一个组件每次都显示更多细节。
  3. 获取强调色。 产品自身的色调或品牌颜色。scripts/tint.py "#hex" 显示它产生的色调。只有当它们在产品中有意义时才使用更多强调色(状态颜色、品牌配对)。
  4. 编写规范。 drawings.json,格式在 references/spec.md 中(在绘图前阅读其关于尺寸、抬起和色调的部分),并参考 examples/ledger/drawings.json 中的示例。根据将要填充的空间调整每张绘图的大小。
  5. 绘制并检查。 python3 scripts/draw.py drawings.json --shots(截图需要Playwright和Chromium)。修复它打印的每个问题,然后打开 out/shots/sheet.png 并查看。数字标记,眼睛决定:卡片内部空角落、向一侧倾斜的绘图、看起来像药丸的堆叠。重复直到它通过检查并看起来平静。

规则

  1. 绘图中没有文字。所有文本变成条形:高度为12、8、6或4,宽度以4为步长,完全圆角。
  2. 白色卡片,每种角色一个圆角半径(卡片12,内框8,行4,手机32),一个卡片阴影,一个抬起阴影。
  3. 每张绘图的一个部分可以从其卡片中抬起:它仅从一侧离开,距离为16到72(24到40效果最佳),永远不超过卡片的顶部或底部,周围至少有8的间距。宽度为600或更大的绘图可以抬起两个部分。抬起的部分替换它抬起的内容,而不是覆盖一半。
  4. 每张绘图一个强调色,用于该屏幕中重要的元素上。
  5. 每张绘图最多一个线条图形,以1.5线宽和圆头端点绘制。
  6. 默认无背景:绘图仅为其阴影留出空间,并放置在任何页面上。使用 "ground": true 时,它会得到一个着色地面,其宽度和高度的65%到75%被填充,并居中。
  7. 所有内容以1:1比例绘制在4网格上。一组中并排放置的绘图共享一个比例:以它们显示的大小绘制,当它们在一行中时匹配高度。
  8. 手机比例为1到2.05。

使用输出

out/<id>.svg 文件是自包含的,带有自身的宽度和高度,并自适应页面:浅色主题下为浅色,深色主题下为深色。它们遵循查看者的系统设置,任何父元素上的 dark 或 light 类(或 data-theme)可以强制一种模式。它们是 aria-hidden 的,id按绘图命名空间,因此多个可以内联在同一页面上。形状带有角色类(p-ground、p-card、p-bar、p-dot、p-glyph、p-hi 用于抬起部分)以实现悬停动画;out/index.html 显示一个带有减少动效回应的平静示例。对于手机屏幕过宽的绘图,会生成第二个较窄的绘图;切勿压缩它。

如果使用Figma进行设计:相同的规则适用,规范值一对一映射到画框(卡片使用自动布局,仅抬起部分使用绝对定位)。将每个地面导出为SVG。

当规则与产品冲突时

没有单一强调色的产品可以使用其最暗的中性色。只有通过两个高亮才能理解的屏幕可以画成两张绘图。一次只打破一条规则,并说明是哪一条。

相关技能