Imported from EverMind-AI/Raven (
plugins-dist/design-engine/raven_design/skills/build-polished-visual-frontends/SKILL.md). Install upstream withnpx skills add EverMind-AI/Raven --skill build-polished-visual-frontends. Copyright stays with the author.
构建高完成度视觉前端
核心目标
让用户直接完成任务,让视觉、交互和专业对象来自同一组清楚的决定。让成熟工具解决已经 解决的问题,把模型的判断留给当前产品独有的任务、构图和体验。
遵循三个原则:
- 任务决定形态。 不因交付是 HTML 就默认应用壳、dashboard、landing page、卡片网格或 16:9。
- 一套视觉语言。 控件、导航、列表、面板、专业画布和反馈必须像同一个产品。
- 标准能力交给工具。 模型主要设计任务模型、工作顺序、整体构图和必要的连接层。
主要领域 Skill 决定内容模型、专业语义和领域门槛;visual-artifact-design 决定共享流程与
证据;本 Skill 只负责浏览器中的视觉方向、技术组合、工具边界和最终像素。用户当前要求与
已接受参考优先,其次是既有品牌、平台和领域约束。题材联想不能为任意颜色或装饰提供理由。
什么算好,八条判据(后文以代号引用):
- J1 主角与胆量:每个交付面能指认主角时刻,且有一个超出安全默认、能一句话说出的决定。
- J2 删测:删掉后页面不变差的元素,必须删。
- J3 一句话可述:整个产物能被一句话描述(“这是一张……的页”);说不出即没有方向。
- J4 具体胜过修辞:每个宣称可验证;用事实、真数字和真对象替代形容词。
- J5 主视觉先行:内容型/营销型 Web 先用真实成图锁定世界、空间与取景,再围绕它排版; 不允许先完成模板图槽,再用一张可拆换的图补空。
- J6 细节成系统:字体、标点、边界、图标、状态、运动与目标环境适配共同实现同一视觉命题; “没有命中反模式”不等于已精致。
- J7 逐区成品:每个可见区块和页面族都有明确职责、任务特有的内容关系与完成态;不能精修 首屏后,把其余部分留成默认组件、文字倾倒或模板余料。
- J8 示能诚实:任何看起来可点击、可选择、可展开或可切换的东西都兑现相应行为与反馈; 静态内容不借用按钮、选中态、悬停态或可点击卡片的视觉暗示。
1. 先读懂任务,再决定画什么
新建方向或大改前,先写一张短决策卡:
任务: 谁在什么场景完成哪一件主要事情
主要对象: 页面中真正需要看、读、编辑或操纵的对象
自然形态: 页面、工作台、长文、画布、地图、图解、游戏或其他形态
领域惯例: 该领域真实从业者交付此物时的成品形态与表达习惯;偏离惯例必须写出理由
参考与偏好: 实际看见的参考,以及用户明确喜欢和拒绝的特征
表达强度: quiet | editorial | expressive
视觉系统: 哪一套成熟设计语言负责字体、控件、表面、图标和反馈
专业引擎: 哪个领域工具负责图表、地图、排版、媒体、画布或其他核心对象
衔接合同: 两者如何共享 token、状态、字体、颜色、焦点、图例和导出
目标画面: 最能决定方向的尺寸、内容密度和关键状态
真实参考依次来自用户提供的画面、已接受的同项目产物、实际生产产品和成熟公共系统。参考先 回答领域惯例:该领域真实从业者交付这类产物时,成品长什么样、用什么表达;产物先像该领域的 真实交付物,再谈风格取向。必须看到真实画面再提取 3–6 个可观察特征;品牌印象、文章描述和 模型记忆不算视觉证据。需要自行 研究时,只查看覆盖主要风险的少量真实工作态、密集态和合同所列目标环境,不照搬独特版式、资产或 文案。按需读取审美路由。
表达强度由任务和参考决定:
| 强度 | 常见任务 | 默认表现 |
|---|---|---|
quiet |
产品、数据、地图、技术工作 | 让主要对象与状态主导;层级来自比例、字重、间距和关系 |
editorial |
内容网站、字体、演示、出版 | 用排版、图像角色、节奏和叙事顺序形成方向 |
expressive |
品牌、营销、插画、游戏 | 可使用强色彩和动效,但每个强信号都承担传播、叙事或玩法职责 |
内容型/营销型 Web 的前置参考分流
内容型或营销型 Web 在形成视觉方向之前,先分别锁定两条路线并写入 REFERENCE-CONTRACT:identity_route 决定
标识、色、字与既有视觉语言;layout_route 决定宏观结构与阅读顺序。identity_route 取 accepted_system 或
none;layout_route 取 pool_template 或 observed_benchmark,不因 identity_route 已锁定而省略。合同中至少
一条宏观结构/阅读顺序关系必须来自 layout_route 的来源画面。
accepted_system:用户已接受的参考、品牌系统或质量合格的既有视觉语言能够约束当前页面; 必须保存实际可查看的来源画面,名称、印象和模型记忆不算证据。它约束身份,不提供版式参照。pool_template:没有可沿用系统,且模板池存在不违反任务硬约束的候选;先完成 模板池「第零步」翻译、逐张查看候选截图并选定主要骨架。observed_benchmark:池中没有该形态候选,或每个候选均与已经声明的硬约束冲突;逐候选记录 来源画面、冲突约束、证据,以及为何通过内容替换、token 重映射或结构裁剪仍无法解决,之后才 允许选择真实生产标杆。
硬约束只来自用户要求、品牌、内容结构、功能、许可或运行环境;模型偏好的气质、色相、实现便利、
学习成本和「想手写」都不是硬约束。视觉参考路线与实现底座分开记录:clone、既有框架、预装骨架
或最薄手写骨架只是 implementation_base;手写代码不等于可以自创视觉语法,网络或 clone 失败也
不自动撤销已经锁定的参考关系。
按审美路由建立 REFERENCE-CONTRACT:记录实际来源帧、3–6 条
可观察关系、允许迁移轴、不可迁移项、实现对象和代表帧/终态证据。每条关系使用
fact_id / source_frame / observed_relation / protected_axis / target_object / representative_frame_evidence / final_frame_evidence / deviation_constraint;至少包含一条宏观结构或
阅读顺序、一条层级或密度关系、一条主对象或图像角色,只记录颜色关系不算完成。引用名称、描述
气质或只写进 brief 只是建立假设,不算参考已经执行。在
identity_route 与 layout_route 与合同完成前,不得生成视觉方向、风格合同或写第一行页面代码。
Web 技术底座预构建 gate
新建 Web 工程时,在生产视觉资产或实现页面前,先用当前环境声明的 initializer 与正式构建入口,
在临时探针目录完成一次空工程构建。具体命令、冻结档位与联网依赖方式只以
工具运行手册和当前 runtime 能力清单为准,不写成跨环境的审美要求。
这次探针只证明底座可用,不构成代表画面或页面完成度。失败时停止实现并保留原始错误;不得通过
修改项目配置、复制依赖、手工建立依赖链接或绕开正式入口来吸收 runtime 缺陷。通过后清理探针,
再按已锁定的 implementation_base 开始项目。
内容型/营销型 Web 的主视觉前置 gate
参考合同锁定后,先在 DESIGN-BRIEF.md 建立 VISUAL-THESIS,再建立
MASTER-VISUAL-CONTRACT。参考合同负责经验证的结构与章法;视觉命题负责项目身份。
参考是骨架,不是最终画面的身份来源。
VISUAL-THESIS 必须包含:
world: 用户进入什么具体世界
tension: 哪两个真实力量、时间或状态形成张力
memorable_moment: 三秒内最应被记住的画面
identity_strategy: 如何让产物区别于参考模板与通用同类页
manifestations: 视觉命题如何逐区进入主视觉、排印与规则、内容结构、交互与运动
“高级、克制、科技感、编辑感”等形容词不算命题。manifestations 必须覆盖最终产物的每个
顶层区块和页面族,写清它在那里通过什么对象、关系或行为成立;只列三处亮点、只精修首屏,
或用一句全局配色概括整页,都只是文档作文。无用户已接受的项目身份时,可以在参考合同的
free_axes 内提出 2–3 个互斥身份策略;候选只改身份与媒介,不重做已锁定的宏观布局。
MASTER-VISUAL-CONTRACT 必须包含:
role: world_builder | identity_carrier | narrative_stage
semantic_job: 它独自建立或传达什么
subject_and_action: 具体主体、动作与关系
composition: 视觉中心、空间层次与版面接口
copy_safe_zone: 可叠字区和最低对比要求
crop_anchor: 各目标画幅的焦点;盲裁失效时用 image edit 派生专用版本
asset_family_id: 母版与派生资产共用的家族标识
asset_family_plan: 同源不变量 / 页面族开场 / 后续辅助视觉 / 表现型符号 / 真实资产与精确图形层
page_family_visual_map:
- page_family: 页面族
opening_job: 开场首先要完成的阅读或操作职责
visual_role: dominant_background | integrated_visual_field | content_first
asset_lineage: 母版、同源裁切或 image edit 派生关系
reason: 选择该角色的任务证据
final_evidence: 最终入口与开场像素证据
truth_boundary: 不承担的事实、数据、人物或产品责任
final_asset: 成图、尺寸、lineage、原图查看与页面引用证据
新建或大改的公开内容站与营销站,默认先由 image_generate 取得一张项目级主视觉母版;已有的
合法真实资产只有在能完成同一 semantic_job 且用户或权威来源允许时才可替代。每个主要页面族
在布局前都要进入 page_family_visual_map,默认选择 dominant_background。integrated_visual_field 与
content_first 只对当前页面族的开场职责成立,不能用一个理由批量覆盖其余页面族;文字多、包含事实、没有真图、
担心生成图被误认或担心可读性,都不能单独构成选择这两种角色的理由。visual_role 的声明须与渲染返回的
opening_visual 读数相符:声明 dominant_background 而读数显示标题与图像重叠为 0%,即为不符,改声明或改图;
读数标为 uniform 时必须在 reason 中说明该区域为何属于画面;读数未回填或 uniform 无说明,该页面族的
visual_role 视为未结账。默认先按大背景路线完成代表帧;若实际像素显示它妨碍主要阅读或操作任务,
先检查构图、裁切与文字关系。若冲突来自任务本身,可改用 integrated_visual_field 或 content_first,
在当前页面族的 reason 与 final_evidence 中记录具体冲突、调整前后像素和主要任务改善的证据,
并更新参考合同与视觉角色声明。不得仅因实现便利、生成失败、资产成本或模型偏好放弃主视觉路线,
也不得把单个页面族的例外推广到全站。页面族可以复用母版的有意义裁切,或用 image edit 派生适配构图,
不要求每个内容实体重新生成。
dominant_background 只约束页面族开场,不要求每个后续区块重复铺图。离开开场后,可由同源资产、
排印关系、内容结构或交互继续身份;但不能退回与视觉命题无关的默认内容块。
主视觉母版必须在写页面 DOM、布局 CSS 或改造模板版式前真实取得并查看,之后才能围绕成图 决定标题位置、色彩、表面、边界与开场节奏。主视觉不授权制造空洞的营销壳面:主对象、主任务或 阅读起点仍须在同一画面成立,也不得烘焙关键文字、logo、数据、产品界面或事实证据。
dominant_background 不是面积较大的图片,而是开场构图的空间底座:它必须在无需滚动的画面可见,
是最大的非文字视觉场,标题、主要对象或操作进入其安全区、焦点、层次或边缘关系,图像裁切会直接
改变排版。仅把大图放在文字旁边,即使面积足够,也只是 integrated_visual_field 或普通图槽;
半出血只有在内容真正锚定进图像构图时才成立。content_first 的最终像素必须证明主要任务因此更
清楚。一个站若只有首页使用主视觉,其余主要页面族全部退回普通纸面、表格或默认模板,仍未形成
视觉系统。
image_generate 失败是能力缺口,不授权先用占位完成布局,也不授权改用 CSS 渐变、手写 SVG、
Canvas 或发光几何模拟。此 gate 没有真实母版、原图查看、完整页面族映射和对应最终开场像素即未完成。
2. 立意与方向,再落到一套视觉系统
在本节做出任何方向决定之前,完成两次阅读,顺序固定——先立标尺,后排雷:
- 先例:读取
references/design-precedents/page-1.jpg(使用规则与类型索引),再按本任务的 产物类型读取对应页。先例给出该类型的风格谱系与已被验证的决策,是标尺和词汇,不是模板。 - 风险路由:按
$review-against-ai-patterns第 1 节读取图鉴索引,并按实际风险读取标本页。
然后在工作区根目录(submission/ 之外)建立两份工作证据,与产物同为交付的一部分。工作证据是
随实现更新的短决策账本,不是说明报告:只记录会改变事实、像素、资产、行为或验收的决定,不得
复述本 Skill、附件或模板说明。方向阶段先登记风险与实现落点,完整逐项结账留到终态。
DESIGN-BRIEF.md——正面:要什么。包含:
- 第 1 节的决策卡;
- 内容型/营销型 Web 的
identity_route与layout_route、implementation_base与REFERENCE-CONTRACT; - 条件式方向候选:只有参考合同仍留下结构、媒介或叙事上的实质不确定性时,才提出 2–3 个 互斥候选并写出关键视觉取舍;否则直接采用已锁定方向,不为满足数量制造候选。选择模板时, 池内候选本身就是方向候选,不得另造一组越过模板事实的独立风格方向;
- 先例参照:选定方向参照了哪个先例的哪条决策,并逐区写明它在产物中的实际落点(概念锚点);
- 内容型/营销型 Web 的
VISUAL-THESIS、MASTER-VISUAL-CONTRACT、页面族视觉映射与实际母版证据; DETAIL-CONTRACT:包含SURFACE-MANIFEST与COMPONENT-BEHAVIOR-MAP。前者覆盖页面族、 顶层区块、独特状态与视觉例外,记录职责、主要对象、顺序、资产和最终证据;后者按独特行为类 记录示能、动作、反馈、恢复与自动遍历入口。由同一组件、状态合同和数据规则产生的重复实例可 共享视觉证据,但每个真实目标仍须由浏览器自动遍历;静态项若产生交互暗示,必须移除暗示或补齐 行为,不能靠文档解释过去;- 图像来源清单(按第 3 节图像来源纪律填写与更新);
- 工具清单(按第 3 节要求填写与更新)。
ANTI-SLOP-CHECK.md——负面:避什么。内容、格式与结账规则见 $review-against-ai-patterns。
先检查仓库已有框架、组件、字体、图标、浏览器支持、离线要求和许可。已有系统质量合格且 覆盖任务时直接沿用,不为追新制造第二套语言。
新建 React 产品界面且没有既有品牌或平台约束时,先查看 Appica 的真实样张,再与一至两个适合
当前任务的成熟系统比较。环境提供 visual-web-info 时,全部候选样张一律来自其 visual catalog
的本地图版;可联网时用 Appica UI 与各系统官方页面。
Appica 优先进入候选,但不自动获胜;选择能以最少例外覆盖任务、状态、密度、无障碍、部署和
用户偏好的那一套。按需读取设计系统路由。
视觉系统与专业引擎是两次不同的选择。视觉系统回答“整个产物如何说话”,专业引擎回答“核心 对象如何正确工作”;任何一方都不能替代另一方。地图引擎、图表语法、分页器或媒体引擎的默认 皮肤不自动成为成品审美,组件库也不能替代制图、统计编码、出版排版或媒体语义。两者都必须查看 真实样张,并在代表画面中证明可以融合成一种语言。
选定后,从真实样张、token 或计算样式中提取一份简短风格合同。内容型/营销型 Web 还必须先 查看已取得的主视觉母版,再把成图中真实存在的色域、光线、边缘、材质和空间节奏映射进合同;不得 先写一套皮肤再要求背景服从它:
字体角色与字重 / 控件高度与密度 / 间距步进 / 圆角族
表面与分隔策略 / 中性色与语义色 / 图标规格 / 焦点、反馈与运动
主设计系统负责全部可见界面语言,而不只是几个按钮。导航、筛选、列表、面板、空态、通知、 自定义组合组件和专业画布周边都消费同一合同。遮住现成控件后,剩余页面仍应像该系统自然 延伸出的产品;否则先统一系统,不继续补局部样式。
专业引擎内部可以保留其经过验证的对象语法,但字体、强调色、背景、选中、焦点、图例、tooltip 和控制层必须映射到风格合同。无法映射时应更换工具、缩小自定义边界或把它明确做成独立嵌入物, 不能在同一连续表面上留下两套视觉语言。
字体选型(中西文都必须显式选型)
裸用系统兜底链(system-ui/PingFang/雅黑/Noto Sans 链)交付=没有选型,与手写控件同级的
退化——中文标题一旦落回默认黑体,任何模板与配色都长成同一张脸。风格合同的字体行必须写明
标题字、正文字、等宽字的具体字面与选择理由。环境可出网时按下表从 npm 取字体
(npm i <包名>,按需子集化控制体积);拉丁字体可沿用模板自带的;安装失败才降级系统字体
并在 BRIEF 记录理由。
| 页面气质 | 中文标题/正文 | npm 包 | 拉丁配对 |
|---|---|---|---|
| 编辑、文化、档案、氛围 | 思源宋体(标题用足字重) | @fontsource/noto-serif-sc |
EB Garamond / Libre Caslon |
| 屏显人文、手记温度 | 霞鹜文楷 | lxgw-wenkai-webfont |
Inter / Source Serif 4 |
| 科技、工程、产品 | 思源黑体(Bold/Black 当标题,禁 Regular 大字) | @fontsource/noto-sans-sc |
@fontsource/space-grotesk / Inter |
| 数据、代码、编号点缀 | — | @fontsource/jetbrains-mono |
同左 |
标题的性格来自字重与字号的极端对比加上正确的字族,不来自加粗系统黑体; 中西文混排时拉丁与中文的字重视觉密度要对齐(拉丁常需降半档字重)。
3. 让成熟工具承担成熟能力
动手前先问:这个能力有没有人已经做好了?常用工具已在只读实验环境中锁定;使用方式见
工具运行手册——需要的能力优先从锁定 runtime 选择并实际使用,
禁止读取宿主仓库。环境可出网时,联网外采是被允许且被期待的:模板按模板池条款 clone,
字体按字体选型表 npm 安装,依赖走 npm registry——外采来源记入 THIRD_PARTY_NOTICES;
"锁定"指预装档位,不构成禁止外采。无网环境才禁止联网安装。环境未覆盖时先换已锁定的候选,
全部不覆盖才记录能力缺口。重新造轮子默认禁止:任何自建实现,必须先在
DESIGN-BRIEF.md 的工具清单里写明调研过哪些现成工具、不用的一句理由;写不出调研过程就
不允许自建。锁定候选确实都不覆盖时才允许降级自建,并在交付说明中写明。
遇到以下能力时,先寻找并实际检查成熟工具,不从事件监听、焦点管理、绘制算法或存储细节 开始手写:
- 选择、日期、拖放、弹窗、通知、表格、虚拟列表、上传等标准交互;
- 键盘、触摸、撤销、序列化、导出、跨浏览器状态或无障碍要求;
- 图表、地图、流程、富文本、媒体、图像、2D/3D、物理或游戏等专业对象;
- 大数据、大文件、本地持久化、协作和明显的性能风险;
- 用户、仓库、品牌或平台已经指定的合格工具。
简单静态排版和一个语义完整的浏览器原生控件不必增加依赖。工具不是越多越好;每个工具都 必须消除一个真实风险,并且每项能力只有一个主要负责人。
如何选型
- 先拆能力。 列出页面框架、可见控件、专业对象、数据或文件处理、持久化、导出和验证, 写清每项最难的状态以及目标设备、离线和交付要求。
- 先看现有环境。 以
visual-web-info --json和系统可执行命令为准;能完成任务就沿用, 不能时,再从同一锁定环境为关键能力列 2–4 个候选。 例外(优先级已定):有网环境的内容型/营销型站点,模板池优先于预装骨架——真实设计师的 模板是更高的美学与结构基线,预装骨架只在池内无匹配形态、或候选经截图目检确不适配时才用, 且降级理由必须写进「技术底座」。"骨架就在环境里、阻力最低"不构成理由。 - 看真实能力。 环境提供
visual-web-info时,先读其 visual catalog,逐张查看进入决选候选 的本地样张,每看一张当场记下图版文件名和一条可观察画面特征,这份记录直接成为决策卡的 「候选」栏;可联网时打开官方样张与文档。之后在当前环境运行能覆盖最难状态的最小示例。 样张不可达不构成跳过理由,更不允许退回凭名称、榜单或模型印象决定。 - 按任务比较。 依次比较任务覆盖、原生数据或场景模型、状态与无障碍、视觉默认值与主题能力、 框架集成、离线与浏览器、性能、维护、许可和包体;视觉新奇度不能覆盖硬约束,也不能把默认主题 的截图当成项目已经完成设计。
- 划清职责。 一项能力交给一个主工具。其他工具只能补它明确不负责的部分;两套组件系统、 两个图表语法或自制控件与库控件不能同时争夺同一表面。
- 原生采用。 使用工具的组件、状态、数据模型、键盘语义、主题和导入导出路径。让专业工具的 输出成为主要对象,不要把它缩成手写卡片中的装饰图。只导入一个按钮、一个图形标记或一个函数, 不算真正使用。
- 最后才自定义。 先比较锁定的替代工具;仍无法覆盖时,只实现被证明确实缺失的最小边界。 不得把宿主路径当作逃离实验边界的办法(有网时的联网外采按上文条款执行,不属逃离)。
新建方向或更换主要工具时,把这张决策卡写入 DESIGN-BRIEF.md 的工具清单,不再是可选记录,
只回答七件事:
能力: 要解决什么,以及最难状态是什么
候选: 逐张列出实际查看的图版文件名并各附一条可观察画面特征,写不出的候选视为未查看,不得进入结论;落选者各写一条可观察理由
选择: 选了什么,为什么它需要的例外最少
气质: 选中者的样张特征与本任务受众为何匹配
职责: 它负责什么,不负责什么
衔接: 如何服从主设计系统
验证: 最终产物中如何证明它真的工作
这份选择与验证记录属于工作证据,不是界面内容。候选比较、包版本、hash、claim ledger、工具调用和 内部限制默认留在 brief、源码或 evidence;面向评审与流程的话语(候选状态、审批免责、制作说明) 不进入面向使用者的画面。最终界面只显示用户完成当前任务所需的来源、状态、限制和下一步,并按 形态阶梯处理:能成为交互对象或结构化占位的不做静态标注,能做成设计化格律标注的不写免责小字。 不要把内部治理直接排成横幅、状态条、卡片墙或灰色微文案。
口述例:离线照片筛选工作台
用户要一个不上传云端的本地筛片网页:拖入照片、方向键浏览、按键保留或淘汰、放大细节、 导出清单。本例只示范选型方法;不要复制它的题材、布局、配色、文案、快捷键或技术栈。
先识别成熟能力:文件导入、高清查看、数百张缩略图滚动、EXIF 解析、本地恢复、清单导出——
全部有成熟工具;只有保留/淘汰的状态模型、审片顺序和画面构图是这个产品独有的问题。可见
界面比较两三套成熟系统的真实工作态,选例外最少的一套负责全部可见控件;专业能力各交给
专门工具(图片查看、虚拟滚动、IndexedDB、EXIF、CSV 各一个主责工具),它们不能各自发明
视觉风格。模型只编写状态模型、工具连接、整体构图和风格衔接。某工具的最小示例覆盖不了
需求时,先检查替代工具;都不合适才只实现被证明缺失的最小边界,而不是接管整个查看器。
最终以真实操作、刷新恢复和可重新解析的导出证明工具被使用;package.json 里出现依赖名
不算证据。
复杂图表、地图、编辑器、媒体、仿真或游戏同样遵循这套方法。按需读取 技术栈路由。
模板池(有网环境的内容型/营销型站点)
第 1 节的前置分流决定视觉参考,本节只处理实现。pool_template 选定后使用
git clone --depth 1 获取并深度定制;无法 clone 时可以更换 implementation_base,但仍须落实
已从候选截图锁定的参考合同。observed_benchmark 也只能用最薄骨架承载已观察事实,不能把
「手写」当作新的视觉路线。
模板不豁免反模式图鉴:示例内容与占位图全部清除。主视觉与资产家族仍按前置合同生产,模板图槽
不能反向决定资产计划。配色按 POOL 的色彩关系执行,结构、层级、图像角色与节奏按
REFERENCE-CONTRACT 执行,字体显式选型;外采来源记入 THIRD_PARTY_NOTICES。
视觉资产前置路由
构建代表画面前,先按整页定义图像角色,再按主要区块列出具体图像与 icon 槽位。每项填写
semantic_job(它独自传达什么)、与主视觉/排印/内容结构/交互中哪两项形成关系,并选择且只选择
一个 route;同系列资产另填 asset_family_id / master_asset / derived_from / final_size_check。
只用于填空、显得高级或增加题材气氛的资产删除:
truth_asset:任务资产、官方资产或可运行对象的真实截图;standard_symbol:既有设计系统或一个成熟 icon 家族中的标准功能符号;generated_visual:由image_generate创建的照片、场景、插画、纹理、表现型 icon、feature pictogram,或其他质量依赖构图、画风、材质、光影、有机形体与系列一致性的视觉资产;exact_graphic:由真实数据、文字、坐标或拓扑驱动的专业图表、地图、技术图形或结构关系。
不存在 manual_svg、decorative_css 或 placeholder_as_final 路线。搜索、关闭、菜单等标准功能
icon 来自现有设计系统或一个成熟家族;章节、类别、能力和场景等项目独有的表现型 icon/pictogram
走 generated_visual。它们先生成家族母图,再用 image edit 派生变体,并在最终显示尺寸检查轮廓、
透明背景与一致性;favicon 不代表页面已形成表现型 icon 家族。没有独立语义时不添加 icon,不能
为了显得丰富而给每个标题配图标。若需矢量交付,使用专业工具从已生成母版转换,不由模型重画;
Logo、公共/安全符号和品牌母版继续使用权威资产或对应专业工具。
generated_visual 必须有成功工具调用、原图查看、最终文件引用和生成/编辑范围记录。工具不可用
或调用失败是能力缺口,不授权改用手写 SVG、CSS 渐变、发光几何或 Canvas 装饰。SVG 是输出格式,
不是自绘许可:只允许权威矢量资产、成熟库资产、专业图形工具输出和数据/文字/拓扑决定的最小
精确几何。内容型页面的主要生成资产必须在代表画面中使用真实成图,禁止用占位框先定版再补图。
主视觉进入代表画面并稳定后,再按 asset_family_plan 生产子素材。页面存在后续关键区块、不同
页面族或需要快速辨认的类别时,优先把主视觉作为 image edit 输入,派生章节视觉、局部背景、纹理
或表现型 pictogram;若直接编辑会破坏小尺寸语义,先产出同命题的家族母图再派生。子素材不必重复
母版主体,但必须继承足以被看出的形体、视角、光线、材质、色域或背景处理。复制文件、机械裁切、
统一套滤镜或用互不相关的新 prompt 分别抽卡,都不构成资产家族。
图像来源纪律
素材与能力同理。产物里的每一张非代码绘制图像,来源都必须走完一条固定的优先级阶梯,
高档可得时禁止用低档:
优先级只在同一 semantic_job 内比较;一张可作档案证据的真图不会自动取消“建立整页世界”的主视觉角色,
除非它确实能完成同一语义工作且用户已接受。
- 任务资产里的真图。动手前先穷尽搜索工作区与任务材料(全部 png/jpg/webp/svg,包括草稿、 文档、测试记录之类不起眼的目录,逐张查看),产品截图、实物照片、官方物料 一律优先采用;
- 可运行对象的真截图。任务对象本身能在当前环境跑起来时(静态站点、纯前端、现成构建 产物),必须先尝试运行并截取真实画面;尝试记录(命令与结果原文)写入图像来源清单;
- 生成图像。环境提供图像生成工具时,概念、氛围与有语义职责的表现型图像用它生成,不用 CSS 渐变或摆设 SVG 凑数。质感门槛:凡目标画面离不开材质与光影词(金属、玻璃、体积光、景深、渲染)—— 硬件渲染 hero 背景、产品效果大图、品牌标识的质感呈现稿、氛围场景图——必须用图像 生成产出;用 CSS 渐变、发光弧线、抽象几何 SVG 手写模拟这一档质感即图鉴 D 组病,不许做 (判据与场景详见素材与图像生成第 3 节)。 禁止用生成图像冒充产品截图、实物照片或数据图表——那是编造。生成图的 route、lineage、 prompt 摘要、编辑范围和真实性边界一律进入图像来源清单;纯粹建立世界、气氛或节奏且不声称 事实的背景,只记录 provenance,不在成品页面展示制作过程。只有图像邻接真实人物、档案、事件、 客户、产品状态或其他事实 claim,省略说明会让普通读者误认其为证据时,才在页面用贴合内容语境 的短说明消除误认;无法消除误认时不得使用。无真图可用时,遵守该边界的生成图仍是默认选择, 禁止以“不敢编造”为由留白、裁掉图位或整页纯文字化;
- 精确图形。图表、地图、带可靠文字的结构示意由真实数据和专业工具绘制;标准功能 icon
走
standard_symbol,表现型 icon 走generated_visual。用手绘示意「还原」一个真实存在且 真图可得的界面,视为与手写控件同级的退化,必须在清单里写明第 1、2 档为何不可用。
档位只回答「从哪来」,不豁免「好不好」:任何档位的图像放上页面前,都必须先过第 4 节 代表画面标准——这张图在它所在的版面里能指认主体、构图撑得住尺寸。空态界面、大面积留白、 偶然的测试记录不能作为主视觉或整幅展示;先裁剪到主体或换同档更饱满的一张,同档全部 不合格时降一档并在清单写明理由。「这是真图」永远不是「这张图可以用」的理由;用一张空态 真图冒充产品的代表画面,与手绘假界面是同一种失败。
页面上只有产品语言:图注、标签与图像周边文字只回答产品用户关心的事(这是什么界面、 它在做什么),用产品自己的口吻。裁剪说明、「未重绘」「验收截图」「测试 fixture」、来源路径、 处理过程,以及为了证明合规而添加的制作过程标签——一切解释「我怎么做出这张页面」的话语, 一律只进图像来源清单与 evidence,不出现在页面任何角落;上一条为避免 事实误认所必需的内容说明不属于制作说明。成品是给产品的用户看的,不是给评审看的;把制作说明印上页面, 成品就变回了作业(与第 3 节「面向评审与流程的话语不进入画面」同一条纪律,对图像同样生效)。
位图上页先过清晰度账,糊等于没做:按 2 倍屏结账——图像物理宽度必须 ≥ 页面显示宽度的 2 倍;不够就缩小显示宽度、裁出局部重点,或换更高分辨率素材,禁止把低分辨率图整幅拉满版面。 界面截图属于文字加平色块,一律用无损格式(PNG / 无损 WebP),禁止 JPEG 与有损 WebP。 窗口外壳、阴影、圆角用 CSS 绘制保持矢量锐利,位图只承载内容区。文字型界面需要大幅呈现而 素材分辨率不足时,正确做法是以真截图为蓝本的 HTML/CSS 忠实转写(逐区对照蓝本,清单里 标注蓝本文件)——这是「矢量级清晰」的合法路径;没有蓝本的凭空重绘仍按第 4 档处理。 交付前的最终走查必须包含一次 2 倍缩放(deviceScaleFactor=2)下的截图对比,确认无一处 可见模糊,proof 留档。
DESIGN-BRIEF.md 必须包含图像来源清单:按页面主要区块逐行覆盖——配图的区块写明
位置、档位(资产真图/自截真图/生成/代码绘制)、真实性/披露处理与一句挑选理由(为什么是这张,
而不只是这一档);不配图的区块写明无图理由,而「无真图可用」不算理由——无真图的默认
动作是生成并在 provenance 写清边界。采用低档而高档可能存在的,附搜索或尝试记录。缺清单、或有主要
区块缺行,即未完成。无图区块仍须说明它如何延续页面的视觉家族;不能让主视觉之后的整页退回
与项目无关的默认排版。
4. 先完成决定成败的代表画面
完整扩展前,先构建一个代表性非空画面或关键帧。它应包含真实内容或明确标记的确定性 fixture、 主要对象、最高典型密度、核心判断、主要命令,以及决定方向所需的真实组件和专业引擎。 内容型/营销型 Web 的代表画面还必须使用已查看的最终主视觉,并直接在真实像素上验证文字安全区、 焦点、裁切、对比与主任务可见性;占位背景不是代表画面。
一个真实代表画面完成后,立即用当前环境声明的正式构建入口构建并从实际交付入口预览。 代表画面尚未同时通过构建、真实像素与 J1/J3 时,不得扩展其余区块、页面族或子素材;源码存在、 开发服务器可打开或文档声称方向成立都不能替代这一步。
按以下顺序查看实际渲染像素:
轮廓与空间分配
→ 视觉中心和主要对象
→ 阅读与操作顺序
→ 字体关系和可读性
→ 色彩职责与对比
→ 设计系统一致性
→ 图标、边界和动效细节
前四项不成立时,重新处理构图,不用阴影、圆角、渐变、标签、图标和说明文字掩盖问题。 代表画面还必须通过 J1 与 J3:能指认一个主角时刻——读者最先遇到的表面上,最值得记住的 对象、构图或表达,并且整个画面能被一句话描述。指认不出主角时刻的画面只是没有错误, 尚未成立。主角优先来自任务的世界——被展示、被分析、被使用的对象本身;主角只能指向交付 自身的步骤、分类或框架时,重选。方向与主角都稳定后,再扩展完整功能、状态和合同内目标环境。
5. 逐区完成,再扩展真实功能
方向稳定后,先把最终产物的顶层区块和页面族全部列入 SURFACE-MANIFEST,再按同一任务模型
逐区扩展。一个区块只有在真实内容、主要对象、阅读/操作顺序、任务特有细节、适用状态和目标环境
都已进入实际渲染,并在可读尺度下检查、修正和重渲染后,才从 built 进入 visually_verified。
首屏通过、构建成功、内容齐全或整页缩略图看起来统一,都不能替下方区块结账。
认真完成每一部分不等于让每一部分都使用不同造型。重复内容应复用同一组件和 token,连续叙事应 保持节奏;但每个区块都必须有适合自身任务的层级、密度、边界、图文关系和过渡,不能把未设计的 文字、表格或卡片接在精修首屏后面。整页截图只检查总节奏;文字、控件和细节必须另以足够清晰的 区块证据检查。
视觉面积、对比和位置跟随主要任务、主要对象与判断风险,不因某项内容“必须出现”就自动放大。 来源、真实性边界和方法限制应邻近其约束的 claim;除非该风险本身就是主要任务,不把它做成巨幅、 重复或比受影响内容更强的告示。
使用同一任务模型驱动界面、专业对象、摘要、详情和导出。按钮、筛选、导入、播放、编辑、保存、 下载和反馈必须真的改变状态并产生相符结果;不要用静态图形、固定数字或成功提示冒充能力。 实现后再从首次使用者视角检查全部视觉示能:按钮轮廓、下划线、chevron、悬停/焦点变化、选中/ 当前态、可点击卡片、行高亮、标签页和 disclosure 都会许诺交互。许诺成立就补齐真实动作、状态和 反馈;不成立就把它改成明显的静态表达。
最终交互检查必须在真实浏览器中遍历 COMPONENT-BEHAVIOR-MAP,不能只验证一条主路径。每种独特
行为、状态与视觉例外都要取得触发前状态、动作、可见结果和恢复/下一步证据;同组件、同状态合同
和同数据规则的重复实例可以共享视觉证据,但所有实际目标、状态变化或链接结果仍须自动遍历。
内部链接全部爬通,外部链接至少核对最终 href 与允许环境中的可达结果。只有全部结账的表面才能
进入最终检查。
多环境适配不是等比缩放。根据合同内目标环境保留主要对象和任务顺序,必要时改变导航、并排关系 和交互,但不改变内容语义。目标环境只来自用户任务与最终消费者合同;不得为“完整”自行扩张设备、 页面或模式范围。
需要图像、人物、场所或独特视觉世界时,按需读取 素材与图像生成。生成图不能冒充数据、地图事实、技术结构、 品牌标志或界面状态。
6. 看见这些迹象就停下来重构
制作中任一图鉴组在产物里成形,按 $review-against-ai-patterns 第 2 节立即停下重构并记账。
套壳(无端 dashboard、landing、16:9 应用壳)、题材配色、假能力与假对象同属此列。
浏览器中的持续辅助文字通常不小于 14 CSS px,正文通常不小于 16 CSS px;更小字号只用于
少量高对比刻度、单位或时间戳,不能承担字段名、状态、错误、下一步或关键判断。辨识度和惊喜
应来自任务独有的主要对象、关系或交互,不来自额外装饰。遇到“不够精致”,先做 J2 删测——
删除重复容器、标签、颜色、阴影和解释文字,再调整关系。
色条、顶边、标题旁竖线、局部 border-left、角括号、伪元素轨道和图标外框等强信号,只在它们
稳定编码选择、状态、进度、尺度、真实分组或已锁定身份语法时保留。“强调重点”“增加层次”
“显得精致”不是职责,CSS 属性名也不能自证职责。CSS 可以完成布局、排印、必要分隔、真实状态反馈,
以及真实图像的裁切、遮罩和可读性 scrim;不能凭渐变、边框或伪元素另造装饰资产。
7. 按风险检查,不制造审查循环
视觉判断不是固定三轮,也不按问题数量无限复审:
- 方向检查:新建方向或大改时,只看代表画面、参考特征和工具分工。
- 系统检查:多页面、多状态、目标环境适配或共享视觉规则发生实质变化时再做。
- 最终检查:最后一次可见修改后,在真实交付入口检查目标尺寸和关键状态。先以首次观看者
身份写下“没读过任务的人 3 秒内看到什么”,记入
DESIGN-BRIEF.md终检段,再对照概念锚点 与 J 判据逐条核对——制作者视角看到的是意图,首见描述暴露的才是效果。 - Diagnose/Audit:只读复现和定位问题,不进入制作轮次。
独立 reviewer 的调用判断、输入边界与 SELF_REVIEW_ONLY 见 $review-against-ai-patterns 第 3 节。
最终检查中的正向细节门槛独立于反模式图鉴。先逐行关闭 SURFACE-MANIFEST:在完整页面中
检查区块之间的节奏和承接,再以可读尺度检查每个区块的排印(中文标点、中西文混排、数字、字重、
断行与孤行)、对齐与边界、图标家族、内容密度、图文关系、hover/focus/selected/empty/error/loading、
有职责的运动,以及各目标画幅的背景焦点、sticky 遮挡与主任务顺序。随后逐项执行
COMPONENT-BEHAVIOR-MAP;DOM 中存在监听器或链接不算通过,真实输入后必须出现与示能一致的可见结果。
执行五个返工测试:
- 背景依赖测试:若移除或替换主视觉后,标题位置、token、边界和开场构图都无需变化,说明它
仍是图槽,返回
VISUAL-THESIS; - 家族连续性测试:离开开场后,页面不能再从同源背景、辅助视觉、排印关系或表现型符号辨认出 同一项目,说明身份只存在于 hero,返回资产家族计划;
- 模板距离测试:若只替换文案、色相和图像即可还原参考模板,或页面身份只存在于背景图,说明项目身份尚未 进入排印、结构和交互,返回代表画面;
- 信号职责测试:临时移除色条、边框、角标、伪元素和图标外框;若信息、状态、分组与身份均不变, 删除这些信号;
- 注意力归属测试:画面最强的三个区域必须对应主要任务、主要对象或关键判断,不能被免责声明、 装饰或元数据占据。
8. 完成条件
交付前确认:
- 内容型/营销型 Web 在首行页面代码之前完成
identity_route与layout_route与REFERENCE-CONTRACT;代表帧 和最终帧逐条写入实际像素证据,缺行、只引用名称或无硬约束地推翻主要关系即未完成; - 内容型/营销型 Web 在页面布局之前完成
VISUAL-THESIS和MASTER-VISUAL-CONTRACT,真实母版 已取得并查看;每个主要页面族均有预先锁定的视觉角色、资产 lineage 和开场证据,选择dominant_background的页面族由同一视觉家族主导开场,其他角色有任务证据且没有退回默认模板; 每个页面族的visual_role已与渲染返回的opening_visual读数对照回填,uniform读数已在reason说明; SURFACE-MANIFEST覆盖每个顶层区块和页面族;没有planned、built、待检查或缺证据行。 每一行均有最后一次可见修改后的可读尺度像素,整页缩略图不代替区块细节证据;COMPONENT-BEHAVIOR-MAP覆盖全部独特行为类和视觉交互暗示;所有具体目标已由浏览器遍历, 独特状态与例外有可见结果。看起来可点却没有行为,或有行为却没有反馈,均视为未完成;- 用户能在三秒内辨认主要对象、主任务和下一步;
- 视觉方向能追溯到用户、参考、设计系统或领域,而不是题材联想;
- 一套主视觉语言贯穿现成组件和自定义表面;
- 标准能力与专业对象由合适工具真实承担,实现与
DESIGN-BRIEF.md工具清单一致,自建项 均有调研记录,任务特有自定义保持最小; - “有一张生成图”只是能力送达证据,不构成视觉质量通过。内容型页面必须同时有完整页面族视觉映射、
asset_family_plan、VISUAL-THESIS.manifestations的最终像素落点,以及背景依赖、家族连续性和 模板距离测试的真实结论。主要区块的配图必须有任务意义;无图区块仍须延续家族而不退回默认模板。 精确数据与文字继续由代码或专业图形承担,生成图不冒充证据; - 所有表现型 icon、插画、hero、场景、纹理与其他依赖审美绘制的精致视觉均走
generated_visual;标准功能 icon 来自同一既有系统或成熟家族;源码中的新建 inline SVG、.svg、Canvas 与大面积 CSS 图形已扫描并逐项归类,未登记的手写 SVG 或用 CSS 模拟精致图像 即未完成; - 产物图像与
DESIGN-BRIEF.md图像来源清单一致:按主要区块逐行覆盖,每张图像有档位与 理由,低档替代高档处有搜索或尝试记录,没有生成图像冒充实物或数据;页面上的图注与图像 周边文字全部是产品语言,无任何制作过程话语; - 真实内容密度、关键状态、目标尺寸和承诺交互均已检查;每个区块都达到成品状态,不存在只因 位于长页下方、使用重复组件或不承担主角职责而被略过的部分;
- 最终像素晚于最后一次可见修改,并来自实际交付 URL 和消费环境,且至少一张主入口最终截图
已存档到工作区根目录
proof/下; DESIGN-BRIEF.md已更新终态:概念锚点逐处标注(成立,或调整及原因);终检段含首见描述, 以及与所选先例并排后写出的“它仍强于本产物的三点”;VISUAL-THESIS、主视觉、SURFACE-MANIFEST、COMPONENT-BEHAVIOR-MAP、背景依赖、家族连续性和模板距离测试均已按最终 像素和真实操作结账,不得留有“待回填/待检查/计划规避”;ANTI-SLOP-CHECK.md已按$review-against-ai-patterns的完成条件结账;- 只报告真实复用、项目定制、检查范围、
SELF_REVIEW_ONLY和已知限制。
需要诊断选择过程时再读取决策轨迹。示例只用于学习决策方法, 不得成为跨任务复用的布局、配色或技术模板。