Communitygithub.com

falconair/wireframes

在用户决定UI变更前,用于提出或比较方案——设计评审、交互审计、头脑风暴屏幕流程、权衡选项、草拟新页面、或布局空/加载/错误/手机状态时使用。不适用于颜色、对比度或字体微调,也不用于用户已决定并让你构建的变更。

wireframes 是什么?

该技能旨在帮助AI助手在用户决策前快速生成低保真线框图,以可视化方式呈现UI变更方案。它通过一个自包含的HTML文件,将“当前状态”与“提议方案”并排显示,仅对讨论中的元素使用真实标签,其余部分用灰色方块表示,从而大幅节约token成本。技能支持多种布局模式:`.pair`用于对比现有变更,`.opts`用于提供未决方案选项,`.solo`用于全新页面,`.strip`用于同一元素在不同状态下的显示。输出文件保存在项目内的`docs/mockups/`中,并附带清晰的标签、原因说明和待决策问题,确保用户能快速理解并做出选择。该技能可在任何支持HTML的工具中使用,但要求有浏览器截屏工具(如Claude桌面应用中的MCP)进行视觉验证。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/falconair/wireframes/tree/HEAD/skills/wireframes

在你喜欢的 AI 中提问

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

文档

wireframes 是做什么的?

概述

UI方案的呈现应是图片,而非长篇说明文字。将每个变更绘制为轻量线框图:当前与提议并列,未改动部分用灰色条表示,仅在讨论中的元素上使用真实标签,并用一句话说明原因。它不追求应用的逼真外观:无品牌色、无真实字体、无像素级精度。用户一眼即可看到变更,绘制成本极低。

**不适用场景:**变更仅涉及视觉风格(颜色、对比度、字体、间距标记),此时应描述或展示真实CSS。或者用户已做出决定并让你构建,此时直接构建。或者布局、控件或流程没有变化。

输出规范

一个自包含的HTML文件,按如下方式构建:

  1. 路径: 在项目中的docs/mockups/YYYY-MM-DD-<topic>.html,以便线框图与代码一同存放并可提交。如果项目已将线框图存放在其他mockups/文件夹中,则使用该文件夹。
  2. 头部: 原样复制kit.html中从<!doctype html>到</style></head><body>的所有内容。仅更改<title>。仅使用kit类。内联style仅用于尺寸和间距(宽度、高度、外边距、.menu的位置),绝不用于颜色。
  3. <h1>和一行.lede。
  4. 每个变更对应一个章节:<h2>N · 用用户的话描述期望结果</h2>,然后是一个布局:
情况布局标签
某元素存在且需要更改.pair:当前,然后提议.lbl.b “当前:问题是什么” · .lbl.g “提议:变更什么”
修复方案未定.opts:2-3个选项,若元素已存在则在上面加一个小型.solo当前状态.lbl.o “A · 名称(推荐)”;.why “+ 优点 · − 缺点”
全新页面.solo:仅提议.lbl.g;用数字编号.n标注,并在.why中解释
同一元素的不同状态或宽度.strip:每个状态一帧.lbl “空”、“加载”、“错误”、“手机”…;最多在strip下方加一个.why
  1. .pair的每一侧以及每个选项,都需有一个标签(不超过10个词)、其对应的帧或帧序列,以及一个.why句子。当变更为一个序列(如菜单,然后是菜单后的提示)时,在一侧使用两个帧。

请先阅读kit.html:在CSS下方有每种布局的示例以及所有类的索引。

绘制规则

  • **仅在决策点上使用真实文本:**变更的控件、其直接相邻元素,以及用于定位的应用名称或面包屑导航。其余内容都用.box(文本行,设置width)、.img(图片或图表)或灰色条的.row表示。
  • **标记发生变更的控件:**用.bad(红色虚线)标记当前状态的问题,用.good(绿色实线)标记提议状态的变更以及区分每个选项的特征。在.strip中不标记任何内容。勾勒控件轮廓,而不是全宽条或整个帧,因为帧会裁剪边缘的轮廓。
  • **缺失元素:**在它应属的位置绘制一个空虚线槽(<span class="in bad">此处无搜索</span>),而不是在附近元素上添加轮廓。
  • **适配约800px宽度:**每个.pair列约380px,因此保持.bar中的项目数约为5。
  • **应用类型:**Web或桌面端 → .f;窄屏或原生移动端 → .phone;终端UI → .f.mono.pad,包含真实文本行和未改动输出的灰色条。
  • 待定问题放在对应侧的.why中,以问句形式呈现。
  • **预算:**每个文件不超过约15 KB。如果某个章节超过约1.5 KB,说明绘制了无人决策的内容,应将这些内容替换为灰色条。

展示前检查

如果有可截图的浏览器工具可用,则打开文件查看。在Claude桌面应用中,这意味着使用mcp__Claude_Browser__preview_start并设置url: file://<绝对路径>,然后使用mcp__Claude_Browser__computer并执行screenshot动作。如果浏览器拒绝本地文件,则将页面视为未查看(见下文)。检查每个轮廓是否位于预期的元素上,无内容被裁剪或换行,覆盖层不遮挡其解释的内容。修复后再次查看。

在没有截图工具的情况下(CLI、无头模式、子代理),对照上述检查点重新审阅标记,并在交接说明中说明页面尚未被查看。

交接说明

在聊天中,仅写:

  • 文件链接,以相对于项目根目录的Markdown格式;
  • 每个章节一行:编号、标题和状态(“就绪”、“选择A/B/C”或待解决问句);
  • 你需要用户决策的事项:每项一行,包含你的推荐及主要理由。

图纸及其.why行已包含细节和权衡,因此无需再次描述。在用户做出选择前不要构建。如果没有用户可询问(子代理、无头模式),则返回上述三项内容并停止。

常见错误

错误正确做法
标记每个元素仅标记与决策相关的元素
重新设计以匹配应用原样使用Kit CSS;灰色条
在聊天中给每个图纸写一段说明提供链接,每章节一行,附决策事项

相关技能