ui-design

Installation
SKILL.md

UI Design Skill

Prefer the built-in image generation tool when it is available in the current agent/runtime. It is usually simpler, avoids provider drift, and produced landing page mockups at the same quality level as ZenMux in our comparison.

Use scripts/ask_draw.sh only when built-in image generation is unavailable, when the user explicitly asks to use ZenMux, or when you need scripted local output paths. The script uses ZenMux. Default model: openai/gpt-image-2.


Onboarding:开始前先问用户这些问题

如果用户只是泛泛地说“设计一个页面”,先用下面的问题引导用户,收集到足够信息再动手。用户已经给出明确页面、风格或参考图时,可以直接执行,不要为了流程感反复追问。

必问(缺少任何一项都会影响质量)

1. 你想设计哪个页面?这个页面的核心功能是什么? 不能只靠页面名称猜功能——业务理解错了,AI 会画出完全错误的东西。

2. 你有现有的 App 截图或设计稿可以上传吗? 有截图 → 可以保持导航/侧边栏的视觉一致性。没有也可以生成,但每次结果会有差异。

3. 如果有截图,里面有没有你不希望 AI 改动的区域(比如侧边栏、顶部导航)? 这决定了用哪种参考图策略(见下方)。

选问(根据情况)

你偏向什么风格? 比如:分析型工具、温暖品牌感、极简、游戏感…… 需要生成多张保持一致的屏幕吗?


根据用户回答,选择参考图策略

核心原则:参考图里有什么内容,AI 就会倾向于模仿什么——包括你不想让它模仿的部分。

用户情况 策略
没有截图,纯创意探索 不传参考图,完全自由生成
有截图,但只想锁定导航/侧边栏 ⭐ 让用户提供或制作纯净边框图(把内容区涂成纯色),只传边框
有截图,需要整体风格精准对齐 传完整截图,但告知用户内容区创意会受影响

纯净边框图怎么做:截一张 App 刚打开时内容区为空白的截图,或用任意工具把内容区覆盖为纯色。

如果需要生成多张一致的屏幕:必须串行执行(一张完成后再开始下一张),不能并行。


设计稿还原为 HTML 的素材策略

当用户想把生成图、截图或设计稿还原成 HTML/CSS 时,先读取 references/html-reconstruction.md。核心原则:页面结构优先代码化;logo、品牌符号、复杂插画、3D/玻璃质感、半透明渐变等难复刻视觉元素要素材化。裁图只作为图生图参考和定位依据,最终放进 HTML 的复杂资产要用图生图重绘,再裁边、抠图和清理边缘。

透明素材策略:厂商 logo、深色 wordmark、小号深色图标优先生成大尺寸纯白底素材,再用保守白底转 alpha;复杂彩色插画、hero 装饰、产品图优先绿幕或真实透明输出。不要把小 logo 和大插画塞进同一张素材板。


构建提示词

两种经过验证有效的写法

类比法(创意效果最好) 说"这个工具像什么",让 AI 借用那个参照物的设计语言,而不是描述布局。

像乐谱一样解码爆款视频——Think Notion's calm focus meets a music producer's session notes.

清单法(最稳定,适合需要准确落地的页面) 列出页面上有哪些信息,不说怎么排,让 AI 自己决定布局。

页面包含:用户名和头像、近30天数据趋势图、活跃 Campaign 列表(名称/状态/触达数)、快捷操作入口。

质量规则

  • 不写排版规格(像素、列数、padding)— 描述越具体,AI 越像在执行指令而不是做设计,结果反而更差
  • 给真实示例数据,不用 placeholder — "2.3M views, 180K saves""显示播放量" 效果好十倍
  • 颜色用 HEX,不用 HSL — #f9f5f0hsl(28 25% 97%) 对模型更准确
  • 如果传了参考图,在 prompt 开头明确说明哪些区域需要保持不变
  • Prompt 控制在 800 字以内 — 超长会导致 server disconnect

执行命令

优先级:

  1. 有内置生图工具时,优先直接使用内置生图工具。
  2. 用户明确要求 ZenMux,或需要脚本化批量生成、本地固定输出路径时,再使用 scripts/ask_draw.sh
  3. 内置工具和 ZenMux 质量接近时,选择内置工具,减少额外 provider 依赖。
# 无参考图
scripts/ask_draw.sh --type wide --name "screen-name" --prompt "..."

# 传参考图(--frame 自动作为第一个参考)
scripts/ask_draw.sh \
  --frame /path/to/reference.png \
  --type wide \
  --name "screen-name" \
  --prompt "..."

多张屏幕:必须串行执行(一张完成再开下一张),不能并行。偶发 disconnect 属正常,重试即可。


Options

Flag 说明 默认
--type wide(16:9) / square(1:1) / portrait(3:4) / classic(4:3) wide
--prompt 提示词 必填
--frame 参考图路径
--ref 额外参考图(可重复)
--name 输出文件名 auto
-o 自定义输出路径 ~/.local/share/draw/outputs/YYYY-MM-DD/

成功输出:output_path=<path>

API Key 查找顺序:ZENMUX_API_KEY 环境变量 → .env.local(当前目录往上找)→ ~/.config/see/api_key

Related skills

More from oil-oil/draw-ui

Installs
9
Repository
oil-oil/draw-ui
GitHub Stars
46
First Seen
13 days ago