下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/luluyouweiai--lulu-ui-director.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @luluyouweiai/lulu-ui-director。让 AI 做界面不再一股模板味:先认清你是哪类产品、同行怎么做,再出三个骨架、字体、配色都明显不同的方向,一次生成三样东西——可离线并排比较、点一下就选的对比页,能直接发微信给客户、对方回个数字就能选的提案长图,和逐稿体检报告。小程序稿自动画出状态栏和右上角胶囊并检查有没有挡住内容;选定后深化成完整页面,导出给开发的设计变量(CSS / 小程序 WXSS)。
内置 10 类中文常见品类卡(茶饮点单、电商、教育、企业官网、后台……)。看不了图的模型也能用文字体检判断“三稿是不是换皮”。基于 oil-oil 开源的 oil-ui(MIT)改造,不联网、不装字体,WorkBuddy 自带的 Node 或 Python 即可运行,中文路径可用。路路有为出品。
阅读全文 (展开查看完整说明)
概述
方法和对比页思路来自 oil-oil 的开源项目 oil-ui(MIT)。核心:先认品类再设计——从产品事实看清这类产品该长什么样,出几个真正不同的方向让人亲眼比较,选定后才深化,最后看真实画面验收。
需要:Node 22+ 或 Python 3.8+(WorkBuddy 都自带)任一个即可生成对比页;截图、提案长图、体检需要 Node 22+ 和本机 Chrome 或 Edge。全程不联网、不下载浏览器、不装字体。
下文 <技能> 指本技能目录(本文件所在目录)。命令里的路径一律加英文双引号,中文和空格都没问题。
最常见的请求:“做三稿让我选”——最短路径
- 建任务目录,写
设计说明.md的产品事实(用户没给就自己假设并写明)。 - 读
references/品类卡.md找到对应品类,再读references/方向.md,写三张方向卡(必填 6 栏:名称、北极星、首屏骨架、字体、色彩、主视觉)。 - 在
第01轮/写三个首屏 HTML +manifest.json(小程序加"platform": "wechat")。 - 跑两条命令:
build-explorer.mjs(对比页)和shoot.mjs(截图 + 提案长图 + 体检)。 - 读
shots/report.txt末尾“汇总”:还要改的改完重跑;然后按第 4 步的格式交给用户,这一轮结束。
下面是完整说明。
先判断是哪种活
| 用户说的 | 走法 |
|---|---|
| 点名了改哪里、怎么改(“按钮换绿色”“标题改成…”) | 直接改,一两句话说明。不开方向、不做对比页 |
| “做三稿/几稿让我选”“出几个方向给我看” | 第 1–4 步,直接做出首屏和对比页,不再先问文字方向 |
| 要新界面/重新设计,但没说要看几稿 | 第 1–2 步后,先用文字把三个方向各写三四行发给用户,附推荐,问“按哪个直接做,还是三个都做成首屏放一起比”,这一轮结束 |
| “你定”“直接做”,或没人可问 | 第 1–4 步照做(对比页留档),自己选一稿写明理由,接着第 5 步 |
| “选第二稿”“选 2”“第01轮:选 02「…」”“按 xx 那稿继续” | 第 5 步(先按 references/对比页.md 第 6 节核对是哪一稿) |
| 给了参考截图,“照这个做/别换风格” | 不发散方向,按 references/评审.md 第 6 节精准还原 |
| 只要评审现有界面 | 截图后按 references/评审.md 评,只诊断不改 |
| “把设计规范给开发”“导出颜色字体” | 对选定页面跑 export-tokens.mjs(第 5 步第 5 点) |
用户已定的品牌、参考、页面结构优先。缺的信息只有会改变核心方向、又推断不出来时才问一次;其余自己假设并写明。回复和界面文案用用户的语言。
第 1 步:产品事实 + 任务目录
- 定任务目录:用户指定了文件夹(例如“客户 项目”)就在里面建
<任务名>/;没指定就在当前工作目录建UI设计/<任务名>/。新任务遇到同名目录已存在时,不覆盖旧文件:名字后加日期(茶店小程序首页-1028)另建;用户说的是“继续/选稿/改”时才进已有目录。目录结构见references/对比页.md第 1 节。 - 在任务目录写
设计说明.md,先写产品事实(用户、场合、品牌、首屏要完成的一件事、真实内容、主视口、限制)。写法见references/方向.md第 1 节。小程序/手机默认主视口 390×844,网站/后台 1440×900。
第 2 步:认品类 → 删减 → 三张方向卡
- 先读
references/品类卡.md:基线(照搬)、套路(至少一稿不用)、品类默认色(至少一稿跳出)、起步引擎。能上网就再看真实画面核对;不能就写“参考品类卡,未看图”。 - 读
references/方向.md,按顺序做:删除清单 + 唯一主角 + 唯一主动作 → 调性 → 三张方向卡 → 差异检验(三个都要适配可落地,不许陪跑;骨架、字体、色彩、主视觉四项任意两稿至多一项相同;至少一稿打破品类套路)。 - 方向卡写进
设计说明.md(下一步深化要用)。字体只用系统字体(references/视觉语言.md有字体栈表)。
第 3 步:做三个首屏
在 <任务目录>/第01轮/ 写三个独立 HTML:01-方向名.html、02-方向名.html、03-方向名.html。
- 只做首屏、一个视口、只有主状态;不写交互、不做动效。
- 三稿共用同一份产品事实和示例数据,结构和样式各写各的——不许用一个模板换几组颜色。
- 示例数据要像真的;画面上不写“示例/示意”;不伪造评价和销量背书。
- 图标和主视觉用内联 SVG 或排版;没有实拍就用取色色块占位并记下“待换实拍”。不引用任何网络资源。细则见
references/视觉语言.md。 - 小程序首页通常用自定义导航:页面顶部先留 47px 状态栏,标题栏内容放在 47–91px 之间,右上角约 100×40 的胶囊区只放背景,底部固定栏留出 34px。细则见
references/品类卡.md末尾。 - 写
manifest.json:方向卡的名字、北极星、字体、色板、特征填进去;小程序加"platform": "wechat"(抖音douyin、支付宝alipay);写上你推荐哪稿"recommend": "02"和一句"recommendReason"。格式见references/对比页.md第 2 节。
第 4 步:生成对比页 + 截图体检 + 交给用户
node "<技能>/scripts/build-explorer.mjs" "<任务目录>/第01轮"
node "<技能>/scripts/shoot.mjs" "<任务目录>/第01轮"没有 Node 时第一条换成 python "<技能>/scripts/build_explorer.py" "<任务目录>/第01轮",截图跳过并写明“未截图自查”。
shoot.mjs 一次产出(都在 第01轮/shots/):每稿首屏 PNG(小程序会画上状态栏和胶囊)、sheet.png 并排总览、sheet-squint.png 眯眼版、提案长图.png(可直接发微信给客户)、report.txt 文字体检。
自查(读 report.txt 末尾“汇总”):
- “还要改”的逐项改掉后重新跑两条命令;误报(例如有意叠字)可以不改,在交付说明里写一句。
- 相似度“结论”说哪两稿雷同,就回第 2 步给其中一稿换首屏骨架。
- 能看图:再看
sheet.png和sheet-squint.png。看不了图(例如 DeepSeek):按references/评审.md第 4 节,交付时写“未验证实际视觉”。
交给用户(格式见 references/对比页.md 第 5 节):对比页路径、提案长图路径、三个方向各一行、推荐哪稿和理由、怎么选(对比页点“选这一稿”,或直接回复数字“选 2”)、自查结论。这一轮到此结束,等用户选。
第 5 步:选定一稿 → 深化成完整页面
- 核对用户选的是哪一轮哪一稿(
references/对比页.md第 6 节),把选择和意见写进设计说明.md。设计说明.md里没有方向卡时,从manifest.json和那稿 HTML 源码反推一张补进去。 - 在任务目录建
深化-<编号>-<方向名>/index.html,从选中那稿出发:保留它的字体、色彩、控件语法和记忆点,并入用户意见;补齐首屏以下的区块和关键状态(例如点单:分类切换、加购后购物车条、售罄、空购物车)。颜色、字体、字号、间距、圆角写成:root里的 CSS 变量。 - 读
references/动效与素材.md,做三处基本动效。 - 截图评审(
--click后面写你自己页面里按钮的 CSS 选择器,点第一个匹配的元素;--query先加到地址上再点击):
node "<技能>/scripts/shoot.mjs" "<深化目录>/index.html" --size phone --platform wechat
node "<技能>/scripts/shoot.mjs" "<深化目录>/index.html" --size phone --platform wechat --click ".add" --out "<深化目录>/shots/加购后"
node "<技能>/scripts/shoot.mjs" "<深化目录>/index.html" --size phone --full --out "<深化目录>/shots/整页"按 references/评审.md 评一轮(能派独立子 Agent 就派),按清单改完再截一次,最多两轮。整页长图里底部浮动条的位置不准,看浮动条用首屏截图。
- 导出给开发:
node "<技能>/scripts/export-tokens.mjs" "<深化目录>/index.html"在 <深化目录>/开发交接/ 生成 设计规范.md(色板含对比度、字体栈、尺寸)、tokens.css、tokens.wxss(小程序,px 已换 rpx)、tokens.json。
- 用户想比版式:保持选定方向的字体、色彩、控件,只在骨架和主视觉摆法上拉开,做成首屏放进
第02轮/再出一次对比页和提案长图。
交付说明(每次交付都写)
- 选定的方向和理由;
- 做了什么、没做什么、为什么(例如“只做了 HTML 原型,未转成微信小程序 WXML”);
- 做了哪些动效;
- 评审方式和结果:独立评审 / 自检 / 未验证实际视觉;打分的附分数;
- 哪些是占位(待换实拍、模拟数据);
- 文件路径:对比页、提案长图、截图、设计说明、开发交接。
能力边界与降级
| 缺什么 | 怎么办 |
|---|---|
| 看不了图 | 用 report.txt 做结构化检查,不给视觉打分,写“未验证实际视觉”,请用户看对比页或提案长图 |
| 没有浏览器/Node | 不截图、不出提案长图;对比页用 Python 生成;写“未截图自查” |
| 不能上网 | 用品类卡,写明“未看图” |
| 不能派子 Agent | 自己完成概念和评审,写“未独立评审” |
| 不能生图 | SVG/排版当主视觉,或色块占位 + 写清拍摄需求 |
只用任务已授权的服务,不自己接入付费服务。对比页和截图都留在任务目录,不写进技能目录。