
impeccable Visualize 阶段实战指南三方案方向稿的生成、审批与资产产出【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable导读本指南完整拆解 impeccable 技能包.kiro/skills/impeccable/中 visualize.md 所定义的Visualize 阶段在 comp-led以方向稿驱动构建中如何为选定视觉方向产出三张高保真方向稿comp、如何在唯一的审批点拿到用户决策、又如何把审批通过的方向稿量化为可度量的构建规格与带出处provenance的栅格资产。读完你将掌握从impeccable build-phase start到impeccable embed-prompt --scan的完整命令链以及支撑这一流程的底层状态机、图像生成、规格测量与保真度对比实现。一、触发条件什么情况下加载 Visualize什么情况下跳过Visualize 不是一条独立流程而是新视觉工作流new-work.md里 comp-led 构建路径的中段。它的加载和跳过都有硬性约定comp-led 且具备图像生成能力时加载。图像生成能力指两类来源harness 原生图像工具或 API 回退impeccable context所报告的可用性。此时必须加载本文件并按流程执行。code-led 路径按契约跳过不是漂移drift。code-led 下不需要 comp其野心由方向契约中的 FIRST VIEWPORT 块与具名签名交互承载由 finish 评审在行为层面审计。前置条件PRODUCT.md 与 DESIGN.md 必须已就绪缺失 PRODUCT.md 时先走 init.md。new-work 已解析过视觉世界本文件不得重新打开视觉世界议题must not reopen it。已履行的 surface 级轮次可免一轮如果 surface 范围的 structure round 已经向用户展示了三张可视化卡片见 new-work.md 的 decision round那么锁定卡片的 comp 就是已审批的方向稿直接记录审批并跳到 After approval 继续不再生成任何新图。Visualize 的探测probe只检验构图、叙事、层级、密度、焦点时刻、签名使用与图像需求不是第二次身份工作坊。DESIGN.md 中已定案的调色板、字体方向、材质语言、组件性格、图像立场与动词语法全程保持固定。二、阶段状态机build-phase 与 comps 阶段comp 轮次运行在构建的阶段状态内。命令链以impeccable build-phase start开启.kiro/skills/impeccable/scripts/impeccable build-phase start --direction seed key --kind assigned|pick|challenger|canonroll 的输出会给出确切命令。--kind对应方向轮次中该方向的身份如果 surface 轮次已经锁定了一张 comp则改用impeccable build-phase start --comp approved comp此时 comps 阶段直接跳过。从源码 build_phase.rs 可以确认阶段状态机的全貌阶段常量定义于 build_phase.rs共八个阶段依次为comps → spec → plates → hero → sections → motion → responsive → review每个阶段由impeccable build-phase advance关闭退出码 2 表示门禁失败并打印原因上一个门禁未关闭时不得为后续阶段写任何内容。状态落在磁盘上的.impeccable/build/state.json因此会话中断后可以从断点恢复。两条必须遵守的时序约束comp 必须生成在 start 之后。契约规定impeccable generate-image在 start 运行之前拒绝向.impeccable/mocks/写入harness 原生图像工具受同一顺序约束。早于 start 渲染的 comp 处于状态之外从该点恢复的会话没有可继续的阶段。comp 阶段门禁由gate_comps实现见 build_phase.rs其检查清单就是 Visualize 轮次的验收标准.impeccable/mocks/下至少有三张 comppng/webp/jpg每张 comp 都有.jsonprompt sidecar{prompt: ...}generate-image会自动写恰好有一张 comp 的 sidecar 带approved: true——没有审批、或多于一张审批都会被拒。三、生成三个组合方向稿3.1 基本约定三张高保真 north-star comp保存到.impeccable/mocks/下使它们跨会话存活。在 surface 自身的 viewport 构图原生 App 或 mobile-first 表面按设备尺寸竖屏构图其余桌面场景横屏。手机屏幕被 comp 成横屏是在任何东西被构建之前就歪曲了构图。comp 是构建线程自己的工作绝不委托写 prompt 的线程握有方向的完整上下文且在构建开始时已经看过每一张 comp。用工作区相对路径打开每张图沙箱化查看器拒绝绝对路径而项目根下的一切都有相对路径。基于真实内容与已与用户共同发展的 surface 概念。3.2 既有世界锚定真实身份在 established world 上每一张 comp 都要锚定真实身份截取一张代表性现有页面的截图作为参考图传入——harness 图像工具的 input image或impeccable generate-image --ref。Prompt 以新 surface 的结构开头而参考图承载调色板、字体与组件性格——DESIGN.md 的文字会漂移像素参考不会prose paraphrases drift where a pixel reference does not。命名参考图贡献什么、必须不贡献什么chrome、调色板、字体、组件性格可以继承参考页自身的内容不继承。把参考页的 banner、hero 或卡片逐字搬过来是参考图泄漏不是保真度。源码印证impeccable generate-image的--ref参数在 generate_image.rs 中实现多个--ref会以 multipart/form-data 的image[]字段发送到POST /v1/images/editsgpt-image-2 模型参考图会被写入输出文件的 sidecar 的refs字段中。3.3 为什么是三三张是一个刻意选择的数字一张 comp 会招致橡皮图章式通过rubber-stamping三张之间的差异才暴露出值得构建的构图。默认流程下已选卡片的 decision comp 就是三张中的第一张——它已经在这一纪律下以全保真渲染了该方向因此只需再生成两张、在第一个方向稿固定之处做出变化然后把三张一起送到审批点。只有带着空手到达的轮次degraded roll、identity-mode 页面、未经 decision round 固定的方向才在这里完整渲染三张。3.4 四条构图纪律失败模式与自检纪律一comp 是设计好的 surface不是主题的照片。Prompt 要以 surface 自身的结构开头本设计拥有的区域按顺序命名并给出比例关系没有导航的页面就明说没有而不是发明一个非常规的 surface 要陈述其非常规骨架。以氛围开头的 prompt 只会得到一张小插画——模型会画出鱼市而不是鱼市的网站。每次渲染后自检如果它挂起来像张海报、或读起来像一张压了文字的摄影作品它就不是 comp要用更字面的布局脚手架重新生成。纪律二反过来同样失败——surface 里没有任何主题内容。主题以区域所承载的内容出现世界只是装饰画框绝不取代画框展示的内容。删除通常搭乘在 prompt 的排除清单exclusion list上混进来所以排除项要绑定发明出来的主张禁止某种媒介属于已承诺的图像立场而不是谨慎。接受渲染前指认主题所在一张只画了世界、什么都没画主题的渲染氛围再忠实也算失败要逐区域命名主题内容重新生成。纪律三把 comp 当作要上线的屏幕来评判。游客的任务必须仅凭图像就能读出来。不给说明文字就命名 surface 的模式读不出模式的渲染只是艺术指导不是 surface。用游客的工作作为 prompt 的脊柱重新生成。纪律四承诺是深度不是覆盖面。世界通过一个主导动作加上支撑它的材质、字体与间距进入其余区域保持安静让那个动作可被读取。一个在世界的语法中老老实实完成本职工作的区域比一个表演概念的区域更能承载方向。检查削减的是竞争不是内容安静下来的区域保留信息只是停止表演。与命名的焦点时刻同尺度的第二元素就是喊叫没有命名焦点时刻时多个区域同时表演概念同样是喊叫。重新生成时保留最强的动作、安静其余。Busy is louder, not bolder忙乱只是更吵不是更大胆。3.5 变体策略与边界用户短列了多个概念时把三张分散到这些概念上方向已承诺时变化图像能消解的结构不确定性拓扑、序列、密度、层级、焦点构图或交互取景展示超出开场时刻的部分证明概念能统治整个 surface不生成调色板工件、不再问新的氛围问题、不引入不同的字体声音、不发明新母题。如果已承诺的世界撑不起这个概念回到概念短名单而不是改变世界。每张 comp 都是方向测试不是截图规格。核心 UI 文案、响应式行为、可访问性、语义与交互状态仍属于实现责任。四、唯一的审批点4.1 呈现与提问把三张 comp 一起展示在 decision page 上impeccable serve-question每个选项一张 comp、以 comp 作为其 hero或仅在 harness 能以行内方式渲染图片时展示在 harness 里纯文本表面不算展示。向用户问三件事什么应该被带向前carry forward什么对这个世界感觉虚假feels false to the world选中的概念应当被批准、合并、修订还是拒绝。然后停下等待。结构化的模拟用户同样算被服务收到同样的问题。4.2 委托与记录用户批准方向或明确委托选择之前不得开始写代码。若被委托依据任务简报、PRODUCT.md 与 DESIGN.md 选择并陈述证据。批准完善任务概念不修改 DESIGN.md。该审批点没有替代品、没有跳过条件。回退链是结构化问题工具报错 → 回退到 decision page只有两者都失败后才可以把选择视为委托被委托的选择记录方式与审批完全相同并在第一条回复而非最后一条中披露。finish 评审把 comp 轮次中没有记录审批的 comp 视为 material finding实质性发现.impeccable/mocks/decision/下的 decision comps 是方向轮次的手笔不是 comp 轮次的产出本身不隐含审批。4.3 记录审批surface brief sidecar审批后要把选择记录到工具能找到的地方审批 comp 的路径写入 surface brief.impeccable/surfaces/下的 brief 文件由impeccable surface-brief write维护见 surface_brief_cli.rs其.jsonprompt sidecar 写入approved: true。通过impeccable generate-image生成的每张 comp 都有 sidecar生成逻辑见 generate_image.rs写入 prompt、createdAt、tool、model、refs 字段若 harness 原生工具没写则手动创建。sidecar 与 mocks 目录一起流转因此审批能跨越会话与机器存活即使机器永远看不到 briefimpeccable build-phase advance正是读取它来关闭 comps 阶段见 build_phase.rs 对approved: true的读取。收尾动作总结构图与 comp 中**不得被字面化literalize**的部分回到 new-work.md从已批准的概念记录方向契约然后开始构建。4.4 背后的决策页实现impeccable serve-question的完整用法源码 serve_question.rs# 1. 查看 payload 结构 impeccable serve-question --schema # 2. 启动决策页守护进程化打印 URL 与 key impeccable serve-question --start --payload options.json # 3. 等待答案退出码 3 表示尚无答案重复执行 impeccable serve-question --wait --key key # 4. 轮次内更新 payload如重掷后的新手牌 impeccable serve-question --update --key key --payload next.json # 5. 停止 impeccable serve-question --stop --key key与 Visualize 轮次直接相关的行为约定退出码 2无浏览器/被禁用的环境应改用结构化问题工具见 serve_question.rs 的 headless 检测退出码 3答案尚未到达重复--wait --key key退出码 4页面被关闭且未作答——通过结构化问题工具重述一次再无答案才无人值守继续并陈述假设payload 中每个 option 的comp字段携带该方向稿路径如.impeccable/mocks/decision/assigned.webp见 serve_question.rs 的 schema 示例页面按需轮询 comp 槽位直到落盘页面绑定127.0.0.1并校验 Host/Origin避免被外部请求利用。五、审批之后comp 变成规格已审批的 comp 是翻译成语义化、响应式、可访问代码的北极星而不是重新构图的许可证保住调色板与氛围却重画拓扑是第二次艺术指导。同时不要把核心 UI 文本或控件栅格化未经询问不得在审批后替换不同的视觉驱动visual driver。5.1 被度量而非被记住new-work 第 6 节以impeccable build-phase把构建跑成分阶段状态机。spec 阶段把 comp 变成带采样调色板的区域盒子impeccable comp-spec而每个区域的媒介由像素本身是什么来决定而不是由什么好构建来决定媒介判定标准处理方式plate/image/texture栅格图形、产品对象、机械、任何含透视/阴影/绘画技巧的插画以及任何按名出现的纹理编织布、纸纹、织物、皮革、拉丝金属以栅格raster交付产出为 platetext/control/chrome语义文本、控件、chrome、元素可数的图表、扁平形状系统、任何必须移动/缩放/响应的东西由代码绘制给雕刻面板的饰面写 CSS、或用多顶点的clip-path去模拟撕裂边缘都是对已批准设计的静默删除detector 的organic-clip-path与buried-raster规则、hero 门禁的区域评分会抓住它organic 扫描在 build_phase.rs 中注入。删除图像原生的区域是用户在审批点做出的范围决策绝不是审批后默默扁平化。生成的图像是材料不是主张证据规则约束的是断言、规格、推荐语与被呈现为真实的照片而不是渲染保真度。5.2 comp-spec从网格到规格impeccable comp-spec的实操流程源码 comp_spec.rs# 1. 在 comp 上绘制 10x10 标注网格A0 左上到 J9 右下同时打印调色板与水平带 impeccable comp-spec --comp comp --grid # 输出 .impeccable/build/comp-grid.png # 2. 按网格区间写 regions 文件并测量 impeccable comp-spec --comp comp --regions regions.json # 输出 .impeccable/build/spec.json # 3. 此后构建以此为基准 impeccable comp-spec --print # 4. 取区域参考裁剪用于生成 plate绝不直接作为资产 impeccable comp-spec --crop id # 5. 取区域的再生 prompt impeccable comp-spec --plate-prompt idregions 文件的形状见 comp_spec.rs 的 usage{ regions: [ { id: exploded-plate, kind: plate, grid: E0:H4, note: exploded carburetor drawing }, { id: masthead, kind: chrome, grid: A0:J0, note: navy bar } ] }源码级要点kind 枚举plate插画/图解/图形、image照片、texture材质底纹为栅格text、control、chrome为代码绘制comp_spec.rs。note 必填至少 8 字符note 驱动 plate prompt 与门禁消息描述绘制材料的 note命中 PAINTED_NOTE 正则见 comp_spec.rs如 diagram、drawing、photograph、texture 等却被标成代码 kind 会被拒绝。代码区域上限text/control/chrome区域不得超过 comp 的 25%MAX_CODE_REGION_AREAcomp_spec.rs——那是栏column不是元素会把其中的 plate、表格与注释藏起来内部元素逐个命名只有真正不可分割的元素才用container: true。未命名墨迹即拒绝comp 中有墨迹的网格单元超过 3 个未被任何区域命名uncoveredInkCellscomp_spec.rs时拒绝——从未被命名的东西永远不会被发现缺失。裁剪检测plate 区域的盒子必须完整容纳作品并留边距作品触及盒子边缘artwork_touches_edges会被拒绝除非bleed: true表示页面确实在此处裁切否则object-fit: cover会切掉盒子失去的那一侧。文字的测量类型由impeccable font-match --measure region从像素读取 cap height、宽度类别与字重font-match --rank region --text ...从 Google Fonts 目录的指纹索引取候选并按指纹距离排序USE行就是 CSS。spec 门禁在主导文本区域被测量并排序前拒绝关闭且手写的 chosen 字体不被接受——门禁只认 font-match 写入的选择见 build_phase.rs。不在规格中的东西就不存在于页面comp 未显示的任何边框、规则、容器、chrome 都不该出现仅有的三项让步是字体可得的最接近字面、图标字形接近即可、以及 comp 自身的真实缺陷如拼写错误。六、图版Plates与出处Provenance6.1 plates 阶段每个栅格区域的图版在plates 阶段产出先于任何页面代码由随附的资产生产者或当前线程完成# 方式一CLI 端到端生成 评分 impeccable generate-image --plate id # 方式二harness 原生图像工具裁剪作为输入图plate prompt 作为 prompt impeccable comp-spec --crop id # 输入图 impeccable comp-spec --plate-prompt id # prompt有并行子代理时可派生随附的impeccable-asset-producer代理Codex 中impeccable_asset_producer、Cursor 中/impeccable-asset-producer、Copilot 中说 Use the impeccable-asset-producer agent批量产出无子代理则在当前线程产出。墨迹落在平坦地面上的图版在色度键chroma key上生成并 key 到 alpha这样它落在页面自己的地面上而不是第二张纸上纹理纸、布、颗粒是 comp 区域的干净补丁镜像平铺到尺寸仅在无干净补丁时才生成。comp 的裁剪是参考绝不是上线的像素plates 门禁会拒绝与 comp 区域重采样相同的文件见 build_phase.rsstructure ≥ 0.95 即判定为 comp 裁剪门禁还检查每张 plate 存在、至少为区域尺寸的 1.5 倍宽min_w min(1536, px_w * 1.5)、并读起来与区域一致结构/颜色/细节评分PLATE_MIN 0.4。页面代码等待该门禁在 plate 存在之前就写页面等于用 CSS 画材料。单文件交付物也不例外——plate 以同样方式产出并作为 data URI 内联。--force只为一个场景存在用户在你能引用的原话--reason中降低了 comp 的权威脚本拒绝其他任何理由。impeccable generate-image --plate的 plate prompt 由 comp_spec.rs 组装以裁剪为已批准的视觉参考按plate/image/texture三种 kind 给出不同指令插画保持线条与阴影、照片保持主体与取景、纹理要求无缝可平铺移除所有 UI 文本、信箱边、卡片圆角与布局背景不新增对象、不改变概念。6.2 出处生成上下文是资产的一部分用任何工具生成任何图像之后运行.kiro/skills/impeccable/scripts/impeccable embed-prompt image --prompt prompt必须使用工具实际收到的那条精确字符串impeccable generate-image自己会做这件事见 generate_image.rs 的内嵌调用让意图活在文件内部。配套子命令impeccable embed-prompt --read image # 恢复已内嵌的 prompt impeccable embed-prompt --scan dir # 列出仍缺 prompt 的栅格文件有缺失时退出码 3实现细节embed_prompt.rsPNG 用关键字impeccable:prompt写入tEXt块幂等重建替换旧的 prompt 块JPEG 写入 COM 段其他格式回退到image.jsonsidecar--read的读取顺序是PNG/JPEG 内嵌 → sidecar 回退--scan递归遍历目录跳过node_modules与点开头目录报告每个缺出处的栅格。内嵌 prompt 规格中该区域的行就是栅格资产的出处provenanceartifact 引用的每张栅格都必须携带它来源sourced、图库stock或既有栅格则内嵌其来源。修复批次或评审者重建中新创建或替换的栅格以同样方式产出修复放弃的栅格在同一批次中删除。embed-prompt --scan只读删除仅保留给批次中被放弃的栅格绝不针对被扫描标记的文件。6.3 格式转换用impeccable context启动时报告IMAGE_TOOLS 行的转换器转换图像只有当它报告没有转换器时才探测probe每会话至多一次绝不每张图一次。七、回归 new-work收尾审批、spec 与 plates 之后回到 new-work.md方向契约direction contract在那里记录分阶段构建在那里继续——hero 阶段用impeccable comp-diff度量首屏与 comp 的差距72% 整体通过、无硬性否决为过关见 build_phase.rs 的HERO_MIN与 hero 门禁comp-diff 的逐区域判定词missing / contradicted / drift / match定义于 comp_diff.rsside-by-side、热力图与成对裁剪输出到.impeccable/review/diff/hero/随后是 sections、motion、responsive最后是 finish 评审——随附的 finish 评审impeccable-finish-reviewer会把已批准 comp 与.impeccable/review/diff/final/的保真证据纳入审计而未被选中的 comps 留在.impeccable/mocks/作为该轮次已花费的手牌它们不携带审批、也不隐含任何审批。整条链路的设计意图可以概括为一句话方向稿把好看变成用户批准的决策规格把决策变成可测量的坐标出处把资产变成可审计的证据——Visualize 阶段就是这条链路的起点与闸门。【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考