Impeccable new-work 流程实战:从视觉权威判定到完成度审查的新表面七阶段设计管线

Impeccable new-work 流程实战:从视觉权威判定到完成度审查的新表面七阶段设计管线 Impeccable new-work 流程实战从视觉权威判定到完成度审查的新表面七阶段设计管线【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable本文围绕 Impeccable 技能包中的 new-work 参考文档展开讲清楚“为新表面或替换视觉身份而启动设计工作”的完整流程如何判定项目已有的视觉权威、如何向用户提出改变工作性质的问题、如何选择发明程度、如何把方向决策记录为 surface brief 中的 Direction contract以及如何用build-phase状态机驱动从 comp 测量到完成度审查的构建。读完本文你可以把一条“重做这个页面”的请求拆解为可执行、可验证、可交接的阶段序列并理解每个 CLI 命令在 Rust 引擎中的真实落点。流程定位三份上下文文件各司其职new-work 流程是 Impeccable 技能中处理“新表面”或“替换视觉身份”的专用 playbook。技能入口 SKILL.md 的路由规则明确无 PRODUCT.md 的新表面或替换型视觉世界先经 init 再进入 new-work而一般的细化请求则直接在既有实现上进行。流程开头确立了上下文三分的权责边界PRODUCT.md拥有产品事实战略层用户、品牌、原则DESIGN.md拥有耐久的视觉决策视觉层颜色、字体、组件surface brief只保存属于某一条路由或某一个工件的策略。当 PRODUCT.md 缺失时先完成 init.md而 DESIGN.md 缺失不会把请求路由回 init——这一点是后续“视觉权威判定”的逻辑前提。每条命令的语义可在 command-metadata.json 中逐条核对例如init负责多轮发现访谈并写入 PRODUCT.mddocument负责从既有代码生成 DESIGN.md。第一步判定什么已经是真的动手之前先读 DESIGN.md、代表性代码、tokens、组件与资产然后落入四种情形之一情形处置Redesign重做保留产品事实、内容、功能、约束与明确的品牌承诺替换旧视觉世界而不是打磨它。旧外观是“主题是什么”的证据不是“它将变成什么”的权威Established world已成立的世界继承它。DESIGN.md 缺失并不抹掉代码里已经自洽的身份——应把该身份记录下来而不是发明一个替代品Incomplete brand不完整的品牌保留已确认的资产与可识别特征然后与用户一起为这个表面扩展系统No visual authority无视觉权威与用户一起创建一个新世界文档还划出一条硬边界已成立表面内部的 section、组件、功能或状态一律继承该表面的世界。局部新增永远不能升级为一场身份重写。SKILL.md 用同一句话重申了这条原则“Visual authority is evidence, not a filename”——缺一个 DESIGN.md 文件不等于项目是 greenfield。第二步问出会改变工作性质的问题实现之前只要结构化提问工具可用就用它拿到用户的答案。问两三个相互关联的问题即可精确的请求只需要一次紧凑确认。跳过已定事实但不要跳过确认本身DESIGN.md 定的是视觉世界不是这个表面的目的或概念。四类模式各有一套必问题目Persuade说服谁必须行动他们应相信什么哪些真实的证据、内容或资产能赢得这份信任Operate操作任务是什么需要什么信息哪些状态重要使用频率约束Read阅读读者的问题是什么源材料是什么结构寻路方式Experience体验什么先行探索如何展开哪个交互或转场最重要跨模式统一追问三件事成功长什么样、什么绝对不能碰、什么会让一个“精致的结果”显得不对劲。文档明确禁止两件事不要向用户索要 CSS 具体值不要让用户在现成的审美赛道里做选择题。第三步选择正确的发明程度3.1 扩展现有表面继承其世界与构图只解决新增目的、内容、层级、状态、交互以及新加入如何融入周边体验。没有 concept tournament也不改 DESIGN.md——除非用户批准了耐久的系统级变更。3.2 在已成立世界内创造一个完整表面视觉系统保持固定。从内容、任务与用户行为派生57 个实质不同的结构按共鸣度排序。对一个真正开放的整页、整屏或整流程运行.agents/skills/impeccable/scripts/impeccable concept-seed --scope surface --mode mode脚本从你列出的结构里“发三张牌”骰子决定哪三个到达用户面前打破你按排名取前三的惯性而用户保留真实选择权。呈现规则很具体决策页上以等显著性的完整卡片呈现被发到的头牌置于 kicker “THE ROLL” 之下附 steer 与 re-roll用户在 surface scope 下锁定其一。surface scope 没有 canon 卡、没有 pick 卡——世界已经定了每张卡可视化的是构图而非身份。卡片如何落地取决于执行路径见 3.4 的 buildPath 段落有图像生成且 comp-led 默认时每张卡声明.impeccable/mocks/decision/下的一个comp在服务决策页之后、按阅读顺序生成遵循 visualize.md 的 comp 纪律。每张 comp 锚定在已成立的身份上把代表性现有页面的截图作为参考图harness 图像工具的输入图或impeccable generate-image --ref提示词以新表面的结构开头、点名 DESIGN.md 的调色板、字体与组件气质。文档的提醒是对设计系统的文字转述会漂移像素参考不会。无图像生成或 code-led 默认时每张卡携带一张wireframe示意图impeccable serve-question --schema给出的 payload 形状由页面自己绘制。锁定卡片即批准并设定构建路径锁定的 comp 以 comp-led 方式构建该 comp 就是已批准 comp免除 visualize 的三选一回合且无第二次审批点锁定的 wireframe 以 code-led 方式构建其雄心由 direction contract 承载。局部扩展或精确指定的窄请求绝不运行此脚本——直接做。3.3 创造或替换视觉世界这是 new-work 中最重的一条路径五步走第 1 步命名。用一句话命名产品的独特机制写下受众的真实场景、其文化归属、以及这个首要表面必须证明什么。同时记下“这个品类永远会发货的那个页面”和它可预测的反面——两者都是 rut惯性坑要排除在七候选之外。会自己画图的 brief、产品名、有标题的工件、治理性隐喻只能占一个候选其余必须来自受众世界的别处。第 2 步列七候选。从那个文化世界列出 7 个受众烂熟于心的具体视觉系统、工件、场所或仪式每个附一行“为什么共鸣、凭什么承载该机制”按共鸣度排序。受众世界包括其图形与屏幕传统而非只有实物它每日阅读的记谱法、出版物、识别系统、数据图形与界面。可命名的抽象系统一种海报学派、一套文档标准与任何实物一样是合格候选。近重复只计一次若 7 个中超过 3 个共享同一材料家族说明推导停在了主题最显眼的工件上——继续挖直到列表跨至少三个家族。第 3 步把材料变成完整方向。每个方向把一个可复用的视觉世界接到一个具体的首要表面体验上。第 4 步跑骰子不可跳过。.agents/skills/impeccable/scripts/impeccable concept-seed --scope direction --mode mode文档把跳过此步定为契约违规在新或替换世界写任何工件代码之前此脚本必须已运行并确认其分配。脚本把方向分配给你并发出 catalog 挑战者challenger。判定流程是先融合再评判挑战者提供形式及其系统语法产品提供所有事实清晰度在冲突中胜出只沿两根轴比较受众认同、产品清晰度。输给扎实的落地材料是合法结果逐个给出裁决wins两根轴都赢成为构建候选、competitive守住一根轴保留为完整备选、declined两根轴都输。declined 不等于作废说出它的系统中被分配方向缺少的那一项纪律在呈现前把分配方向抬到同等水平捐赠而非换装raise 转移的是雄心与系统纪律一种调色板的总承诺、一个网格的密度勇气、一种形式的结构诚实永远不是挑战者的外衣。被提升的动机只是“戏服注记”一次世界里只能有一个主人。每处 raise 要作为独立行写进呈现的方向里并以捐赠者命名——读不出来的 raise 等于没发生。第 5 步呈现。只呈现一个方向完全投入且已被其击败的对手抬升过世界、首视口、访客路径、签名交互、跨表面延伸、诚实风险。挑战者按裁决分流——wins 与 competitive 是带 QUALITY BAR 卡的一行立论的完整备选declined 的降级为紧凑静默的行带裁决与方向从它那里保留的东西。一手最多三张完整卡发牌超过时三张最强的上桌其余进 re-roll 池。若你的排名第一候选不是被分配方向补一张 kicker 为 “IMPECCABLE’S PICK” 的卡 anatomy 与其他卡一致、诚实风险行点明其熟悉度——最多一张 pick 卡永不构成排名列表骰子把第一名发给你时不存在 pick 卡被分配卡上注明它曾居你列表之首。re-roll 支持三档 register由用户而非你预选plain新手同样分布、safer你剩余的常规落地候选加 canon 对抗具名竞品、bolder仅外域形式全承诺。用户在方向轮打开时说 “bolder” 或 “safer”指的就是这些 register永远不是bolder/harden命令。register 通过时重跑 concept-seed 并加--register value与下一轮--reroll。Standing exit常设出口每个方向轮提供一个安静、永久存在的备选——品类标准正着做。它是用户的门永不是你的永不推荐、永不与被发方向权衡、永不软化被发方向。用户接住它时canon 动作、safer steer、或白话要求熟悉的路径约定即承诺问一次“应与哪两三个产品并列”以其工艺水准为标尺全保真执行 canon无讽刺、无夹带的怪癖若作为常设偏好记入 PRODUCT.md 的品牌承诺。双通道呈现决策页卡片与 board与结构化提问工具名称加一行论共享同一结构、只富集度不同结构化通道的选项列表依次为被分配方向、pick、wins 与 competitive 挑战者、standing exit 殿后declined 挑战者折进被分配选项的描述里成为其保留行。serve-question 的命令序列完整协议# 先看 payload 形状 .agents/skills/impeccable/scripts/impeccable serve-question --schema # 启动daemonize打印页面 URL 与 key 后退出 .agents/skills/impeccable/scripts/impeccable serve-question --start --payload file # 收集选择exit 3 表示仍在等待重复调用 .agents/skills/impeccable/scripts/impeccable serve-question --wait --key key # ANSWER 以 JSON 打印re-roll 的循环必须走--update绝不开第二个服务器、绝不退回聊天——那样会把打开的标签页晾在一个永不到达的手上# ANSWER 为 {optionId:reroll} 时 .agents/skills/impeccable/scripts/impeccable concept-seed --scope direction --mode mode \ --from seed-key --reroll n # 第一次 re-roll 传 1逐次递增 .agents/skills/impeccable/scripts/impeccable serve-question --update --key 同一key --payload file # 然后回到 --wait --key key退出码语义exit 4 表示页面未答即关闭——通过结构化提问工具重呈现一次仍无答案则带着已声明的假设按被分配方向无人值守推进exit 2且仅在启动时出现才是把决策路由到结构化工具的 fallback不是要重试的错误。可能把 shell 挂在后台的 harness 可以不带--start运行让它自动打开并阻塞。comp 生成纪律有图像生成时每张卡含 canon 卡都声明.impeccable/mocks/decision/下的comp路径。先服务页面再产 comp——页面按槽位 shimmer-wait用户可以在 comp 落地前回答。每张图是该方向在自身语法下全保真的北极星 comp请求表面的首视口、结构主导的提示词、真实产品名与真实内容、不虚构商业声明、使用该卡自己的调色板/字体/材料世界。帧的纵横比就是表面自己的原生或移动优先的表面用竖屏设备视口桌面 web 用横屏——横屏 comp 的手机屏是坏帧不是中性默认。按阅读顺序生成被分配卡、pick、完整卡手、canon每个文件完成即写 prompt sidecardeclined 挑战者没有 compcatalog 缩略图即其面孔。有并行子代理时每卡一个最多 4 个在飞每个 spawn 即随行的资产生产者加单 comp 任务包代理返回时仍空的槽位内联补生无并行则在主线按同序生成。被选中卡的 comp 不因选择而花掉comp-led 时它进入 comp 轮成为构图选项一code-led 时它回到完成度审查充当批判参考。未选 comp 留在.impeccable/mocks/decision/作为该轮打过的手牌不携带也不暗示任何批准。执行路径buildPath是一次性工作流偏好不是逐表面决策任何回合都不询问它。默认值读自.impeccable/config.json的buildPath字段gitignored 的.impeccable/config.local.json在单机与团队值不同时胜出两者皆无时只要有图像生成comp-led 即默认。所有 payload 都写buildPath: { value: 默认, toggle: true }页面渲染页脚开关ANSWER 回传buildPath与buildPathFlipped。翻转变只绑定当次会话且永不写回——唯一例外是当buildPathFlipped为 true 而项目从未记录过buildPath时回合结束后问一次是否存为常设默认两个答案都写.impeccable/config.json答案只决定值。旧的两卡执行契约回合已退役followup: true保留为经由--update在同一张桌上投递后续回合的通用机制。Catalog 世界是工作系统不是情绪参考。活下来的世界其调色板与材料、字体与构图、拓扑、控件与状态、响应式规则都要带进产品若来源本身是一种界面语言就在导航、内容、控件与状态上全提交其原生语法。选择落定的那一刻就打开该世界的 QUALITY BAR board 与 hero——它们设定的是构建必须达到的工艺水平渲染参考的完成度、承诺度、艺术指导而非构图。每个可能被骰子命中的方向必须预先可行它可视化的一切关系与声明为真、真实调色板与组件家族、有一个产品专属体验的鲜明构图、在既有资产/工具/性能预算内可按整表面尺度落地。在真实性上失败的候选在骰子之前替换永不靠骰子挽救。真理约束的是声明而非演示greenfield 工作中概念需要的示意材料可以全保真编写但在访客可能误认为真的地方标注 synthetic并把“哪些要换回真实材料”的清单交给用户。不可发明的只有商业与事实声明价格、客户、基准、端点、产品不具备的能力。分模式验收Persuade 的开场必须让 offer 可理解、可欲望暴露清晰行动并演示只有本产品能证明的东西——一个一行落地的 hook、可见的主行动、可读的阅读顺序Operate 中表达永不遮蔽任务、状态与熟悉控件Read 保持理解与寻路完好Experience 让作品本身从首视口领路。第四步提交视觉世界先选颜色战略再选颜色。四档战略战略含义适用Restrained中性色 一个强调色访客来操作或阅读时的默认Committed一个饱和色承载 30–60% 的表面Persuade / Experience 有权限Full palette3–4 个命名角色Persuade / Experience 有权限Drenched表面本身就是颜色Persuade / Experience 有权限颜色按页面尺度提交拥有整片区域的字段不是撒在中性底上的强调。暗或亮永不是默认值写一句物理场景谁在用、在哪里、什么光线下让它逼出答案。像从主题世界里选物件一样选字体。Operate 与 Read 表面适合系统栈与工装 UI 字体Persuade 与 Experience 表面需要带观点的字体。文档直接列出了训练数据默认黑名单——Fraunces、Playfair Display、Cormorant、Lora、Crimson、Newsreader、Syne、Space Grotesk、Space Mono、IBM Plex、Inter 作 display、DM Sans、DM Serif、Outfit、Plus Jakarta Sans、Instrument Sans——点名其中任何一个都需要“其他任何字体都无法满足”的理由而主题联想书想要衬线、书店想要手写字、科技想要等宽恰恰是这份清单要打破的联想。校准识别 AI 界面的聚集长相。无论主题为何AI 生成界面总聚集在几种长相上暖米色底 高对比衬线 display 陶土/信号红强调近黑底 单一霓虹强调 发光边缘报纸编辑式发丝线 斜体衬线 display 小字距 mono 标签。这些在 brief 要求时都合法但当 brief 对审美保持自由时落入其中任何一种意味着自检失败——若仅凭品类或品类加“避雷”就能猜出你的审美就返工到两个答案都不显然为止。补充三条易误读行为的否定约束不游戏化、不炒作排除的是那些手段而非欢腾产品行为形容词安静的支持、冷静的辅导不规定表面能量书籍/儿童向主题不软化校准——书布、线装、护封、环衬的饱和光谱里米色纸是最小的角落。第五步把决策记录成契约写代码之前把所选方向作为仅开发用的契约记录在相应 surface brief 的## Direction contract段落下。方向契约是耐久的路由或工件策略所以即使没有其他表面策略需要持久化也要创建或更新 brief。六个短块、约 150 词块内容THESIS这个表面独占的那一个想法以及它拒绝的品类默认排布OWN-WORLD调色板与组件语言具体到删掉全部内容仍可辨认STORY访客理解了什么、相信了什么、做了什么FIRST VIEWPORT精确构图什么在哪里、什么尺度、主行动坐落何处FORM所选形式、其在排序列表中的位置、脚本打印的 seed keyFINISH逐字照抄的运行退出条件“unreviewed and undocumented is unfinished; this build ends with the finish review, the verdict, DESIGN.md, and every shipping raster carrying its provenance”surface brief 是后续代理跨编辑、跨会话重新加载的提醒一个看起来完整但 FINISH 行未清偿的页面不是完成而是在终点线被放弃。任何一块读起来像“情绪”而不是决策方向就还没定。两条硬规则永不把方向契约复制进实现源码或任何浏览器交付的工件HTML/框架注释、隐藏 DOM、template、data-*属性、JSX/TSX 输出、序列化 props、RSC payload、客户端 bundle、metadata/JSON-LD、无障碍专用文本都在列编译器剥离开发元数据不构成安全边界。审查者与文档者从 surface brief 拿契约。新或替换世界的 DESIGN.md在 finish 时由随行的 documenter 从建好的世界写起——构建前写的规则本会被拿去对抗现实而不是描述现实还给设计系统检测器一个不稳定目标新世界不带 DESIGN.md 上线仍是未完成运行。普通扩展不改写 DESIGN.md。brief 的读写用两条命令更新前先读.agents/skills/impeccable/scripts/impeccable surface-brief read primary-target .agents/skills/impeccable/scripts/impeccable surface-brief write primary-target body-file [related-target ...]写入后再读一次确认六个契约块与 seed key 都在然后才允许构建。brief 保持小scope 与访客模式受众、任务、行动、证据/内容、约束所选方向与难忘时刻未决决策。不要把全局产品事实或 DESIGN.md tokens 抄进来。构建路径上 comp-led 且有任意图像生成可用时harness 原生工具或impeccable context报告的 API fallback锁定的方向在构建前先按 visualize 纪律可视化——三个构图选项摆到用户面前被选中卡的决策 comp 加两个变体。code-led 时 comp 轮按契约跳过而非按漂移跳过它本该承载的雄心住在 FIRST VIEWPORT 块与命名的签名交互里由完成度审查者在行为上审计。shape命令在此止步把选定的方向交还 shape.md在持久化或实现前停下。第六步全承诺构建构建被分配的方向而不是它的安全解释。形式提供结构、阅读顺序、组件约定与原生动效产品提供所有事实。每个原子都要提交导航、按钮、输入、链接都用形式的词汇重建已提交形式里出现一个货架组件就是失职。6.1 comp-ledcomp 是一份可测量的契约存在已批准 comp 时它是空间契约而非情绪板——只有用户可以用明确措辞降级其权威。文档直言模型系统性地会相信自己的 HTML/CSS/SVG 重绘成功而它并没有所以构建以磁盘上的状态机运行闸门把屏幕对着 comp 测量而不是靠你记住。只启动一次让它告诉你下一步# 方向选择后立刻运行这同时是选择 pingroll 的输出会给出确切命令 .agents/skills/impeccable/scripts/impeccable build-phase start --direction seed key --kind assigned|pick|challenger|canon # 表面轮已锁定 comp 时 .agents/skills/impeccable/scripts/impeccable build-phase start --comp approved comp随后按顺序推进每关由build-phase advance关闭以下每个动词都以.agents/skills/impeccable/scripts/impeccable verb运行exit 2 表示闸门失败并打印原因修好再 advance早期限门未关时不写后续阶段阶段 0 · compsvisualize.md 的 comp 轮——请求表面在其自身视口下的三个构图 comp置于.impeccable/mocks/各带 prompt sidecar摆到用户面前被选中者 sidecar 加approved: true。闸门计数并读取批准start --comp跳过此阶段因为它已发生。文档的诚实注脚comp-led 是前沿级任务要求构建者守住测量布局、把 plate 放进盒子、跨越十次尝试执行数字读数更小更快的模型能产出可辨认的页面却在 hero 闸门下停滞——如果手里的模型属于此类在方向轮之前就说清楚并取 code-led 路径。阶段 1 · spec测量 comp。impeccable comp-spec --comp comp --grid # 在 comp 上写坐标网格 impeccable comp-spec --comp comp --regions file impeccable comp-spec --print # 从此起构建的参考打开网格图用一个 regions 文件按网格跨度命名每个显著区域文本与控件区域会吸附到跨度内最大墨块——名为 B1:E4 的标题量出来就是标题而不是旁边的列snap: false保留跨度显式box按画面上取。kind 分两类一切被画出来的——插图、照片、图形、产品物件、材料纹理——是plate/image/texture代码画出的才是text/control/chrome。每个区域带note说明 comp 在那里画了什么。spec 携带每区域的 box、采样调色板与介质。字体是测出来的不是猜的impeccable font-match --measure text region从像素读 cap height、宽度类与字重impeccable font-match --rank region --text ...以 Google Fonts 目录指纹索引中的最近候选加--candidates传的名字在该 cap height 用区域原词渲染按指纹距离排名——USE行即 CSSproof sheet 展示 comp 对前三名的对照。无可解析浏览器时记录目录最近字体并注明尺寸为估计值。spec 闸门在主文本区域被测量并排名前拒绝关闭绝不手写chosen字体进 spec——闸门只认 font-match 写下的。spec 阶段还有一组防漂移拒绝描述被画材料却挂了代码 kind 的 note 被拒重新归类为 plateregions 文件留下未命名的 comp 墨块被拒永不被命名的东西永远不会被发现缺失超过 comp 四分之一的 text/control/chrome 区域被拒那是列不是元素超出图标预算的内联 SVG 在 hero 被拒comp 的裁剪图永远不是 plate闸门拒绝 comp 区域的重采样文件——comp 的颗粒度、邻居边缘与分辨率会随图发货plate 的 box 必须含住整件作品留边spec 测量作品与 box 边缘的接触bleed: true仅当页面确实在那里裁切。spec 里没有的东西页面上不存在comp 不显示的边框、规则线、容器、chrome 一律没有。豁免只有三项字体可获得的最近字体、图标字形足够接近图标库由用户选择时精确——只覆盖象形图本身不覆盖控件 chrome、comp 的真实缺陷如拼写错误。阶段 2 · plates每个栅格区域都以 plate 形式发货——从 comp 裁剪在资产分辨率上重绘、去除 UI 文本、存到其plate路径。孤立墨块/图形/物件用原生透明 PNG 坐在页面自己的底上照片与纹理保持不透明纹理纸、布、颗粒是 comp 区域的干净补丁镜像平铺仅当不存在干净补丁时才生成。impeccable comp-spec --crop id # 写参考图 impeccable comp-spec --plate-prompt id --background transparent # 抠图提示词 # 或 --background opaque提示词存为文件后 impeccable embed-prompt plate --prompt-file prompt.txt # API fallback impeccable generate-image --ref crop.png --prompt-file prompt.txt \ --out plate.png --size WxH --quality high --background transparent优先 harness 原生图像工具带该 crop 与提示词。先建输出目录。在浅底深底上验证真实 alpha、白色前景、细边缘与干净孔洞不对原生输出做色键。闸门把资产对着 comp 打分同时肉眼检查摆放与尺度。有并行子代理时 spawn 随行的资产生产者impeccable-asset-producercodex 中impeccable_asset_producerCursor 中/impeccable-asset-producer并给出 spec 路径让它一次产完。plates 闸门检查每个 plate 存在、至少 1.5 倍区域尺寸、且可读作该区域——页面代码等这个闸门plate 存在前写出的页面就是用 CSS 画材料的页面。单文件交付物不改变任何事plate 以同法生产后内联为 data URI。--force只用于一种情形——用户以措辞降级 comp 权威且你用--reason逐字引用该措辞脚本拒绝一切其他理由。阶段 3 · heroimpeccable build-phase scaffold它把测量出的布局写成 CSS 自定义属性.impeccable/build/scaffold/layout.css--r-id-x/y/w/h占 comp 的百分比加 cap height、font-size、family、weight并写出参考页hero-reference.html——每个区域在其 box、每个 plate 就位。把数字绑定到你自己的语义结构每区域一个元素参考页只是位置核对绝不是页面本身重叠的 box 就是重叠的。然后只构建首视口、在 comp 自身尺寸上、comp 的文字逐字拷贝用户批准的就是那些字改写是 hero 通过后的明示决定永不是其内部的默不作声。每个文本区域按其测量 cap height 定尺寸、排在其排名字体上。plate 先行任何文本或控件之前先把每个 plate 放到 spec boxobject-fit: cover的img、背景图或以其命名的内联 data URI截图到.impeccable/review/hero-repro.png运行impeccable build-phase record hero一次在文本还不存在时亲眼确认 plate 区域读作 match再按 spec 的调色板与 box 在 plate 上铺语义层然后 advance。闸门先拒绝“任一 plate 未被源码引用”然后运行impeccable comp-diff写.impeccable/review/diff/hero/并排、热图、每区域一对配对裁剪、report.json72% 总得分通过且无未消硬否决区域缺失、plate 或文本块被矛盾、SVG 插图、plate 被裁切、任意得分下的虚构墨块。达标后数字读数降级为随 pass 打印的建议留给响应式之前的打磨pass。闸门还逐区域读 cap height、行数、字重、墨色、位置每条 chrome 条的高度以及 comp 平静处的墨水多出的 kicker、多出的导航项、分隔线把每处失误说成数字“构建里 cap height 78pxcomp 里 103px”——那些数字就是编辑指令。失败时按顺序打开它列出的区域裁剪再动手missing需要材料、contradicted需要从 spec box 重新推导结构、drift是尺寸间距编辑的去处同一区域第三次只挪数值的尝试会被闸门拒绝。文档的判断这一关决定整个运行的雄心成败——在这里重试花分钟在终点以重建裁决花掉整个运行。阶段 4 · sections在 spec 的系统内构建剩余表面——同样的圆角语言、线宽、调色板comp 从未显示的东西一概没有。comp 未覆盖的区域继承已记录的系统。阶段 5 · motion签名交互、reveal 与动效编排一次而非散落。阶段 6 · responsive其余视口以及常见桌面宽度1280–1600下的首视口不只是 comp 的精确尺寸流式列不出现窄一百像素就换行的固定像素网格。截图desktop.png1440 宽整页与mobile.png390 宽到.impeccable/review/闸门把桌面截图对着 comp 做 diff拒绝只在 comp 宽度下成立的首视口。移动优先的 comp’d 表面就是竖屏 comp 的plate 就是为该帧生产的。6.2 code-led没有 comp也不为它道歉雄心住在方向契约的 FIRST VIEWPORT 块与命名的签名交互里完成度审查者在行为上审计那些承诺。选中的决策 comp 随行到完成度审查充当批判参考。6.3 两条路径共享的原则首视口是论点不是页头。立即、按形式在现实中的尺度演示机制不要把概念关进标准 hero 或卡片壳。记忆测试若有人只看了一个视口就离开一小时后他会描述什么诚实答案是“一种情绪”时概念还没有提交。证明别宣称。展示主体在做其工作界面运转中、机制被戏剧化、竞品无法复制粘贴的细节。演示数据是设计材料全保真编写并标注 synthetic声明保持不可发明。编写资产永不以 chrome 替代。伟大的表面活在精心制作的内容上名字、条目、文案、封面、缩略图、纹理。greenfield 中每个 ask 轮留下的空白都由你在生产保真度上编写内容可编写、声明可标注、无章节可省略。渐变、玻璃、通用图标瓷砖、以及该有编写资产处的大量顶点clip-path多边形是缺口穿着 chrome 的衣服检测器标记后两者。构建形式的 web 杠杆。所选世界点名某技术canvas、WebGL、view transitions、生成式动效时构建该技术本身不是它的静态模仿。像工作室一样控制滚动节奏。单一语法内变换密度、尺度、图像、动效与安静密段挣来静段页面以真实收尾锚定结束。全程一种间距节奏标题上方比下方更空。brief 暗示时用真实、可验证的图像。搜主题的实物而非品类一张决定性照片胜过五张平庸照片。验证 stock URL 可解析。把动效当材料编写。页面获得形式的原生动效一次、有编排地而非散落的 hover 效果。给昂贵效果设边界内容默认可见。同时保持语义、可访问性、性能、响应式、项目约定与既有行为。第七步检验并完成批量截图一轮完成检验web 上桌面与移动原生平台ios/android/adaptive按 ios.md / android.md 的 “Verifying the build” 一节从模拟器采集各 OS 已发货设备类。harness 报告了用户真实视口in-app 浏览器尺寸、命名分辨率时把那个宽度加入集合——会断的宽度正是用户第一眼看到的。对照用户请求与方向契约批判渲染修复实质缺口两轮封顶修复在轮间批量执行不为单点微调挣截图。comp-led 构建运行.agents/skills/impeccable/scripts/impeccable comp-diff --comp approved comp \ --build .impeccable/review/desktop.png \ --spec .impeccable/build/spec.json \ --out-dir .impeccable/review/diff/final把其区域行与配对裁剪当批判来读——并排视图是构建线程自己永远没有的视角它评 missing 或 contradicted 的区域无论页面凭记忆看起来如何都是修复项。永不凭一张整页缩略图判断保真度它恰好藏住要紧的失败。Persuade 表面还要验证模式做到了工作首次访客数秒内以形式自己的词汇弄清这是什么、为何重要、该做什么。截图先验证再发送。先安定或禁用入场动效被动画时序藏住的元素读作缺失元素会被修成回归从文档顶部拍整页comp 对比在 comp 自身像素尺寸上拍。然后每个文件打开一次确认它显示其名字所声称的内容无黑屏/空白区、无正确文件名后面的错误章节、无半加载状态。一份畸形截图送出去花掉整轮——审查者以disposition: recapture作答它所审的一切不具约束力。第二轮检验后构建线程的打磨结束不再有缺陷狩猎、微编辑脚本或重建剩下的交给交接新上下文发现得更好也更便宜。web 上本 harness 不跑设计钩子时对改动目标运行一次.agents/skills/impeccable/scripts/impeccable detect --json修复机械项其余发现连同截图交给审查者无钩子的 web 构建跳过这一步就把钩子存在要抓的所有 tell 都发出去。原生平台完全跳过检测器——它读 HTML 和 CSS对原生代码没有裁决权审查者的 floor 检查是唯一门槛。截图存.impeccable/review/每视口一文件webdesktop.png、mobile.png用户视口加入集合时加user-width.png原生每设备类一个如phone.png、tablet.pngadaptive 按 OS 加后缀目录不存在就创建。传给审查者的路径即其规格你检验过的每个视口都在任务包里列为 required。spawn 随行的完成度审查者impeccable-finish-reviewercodex 中impeccable_finish_reviewerCursor 中/impeccable-finish-reviewer输入包包含原始请求、已确认答案、工件路径、截图路径、方向契约、既有钩子发现、QUALITY BAR 卡与已批准 comp 路径code-led 构建没有已批准 comp——选中的决策 comp 以“批判参考”名义占该槽、comp-led 时的构建状态.impeccable/build/state.json、spec、diff 目录.impeccable/review/diff/hero/与.impeccable/review/diff/final/的并排/热图/区域对/report.json即保真度证据、craft-floor 参考路径以及原生平台的平台参考路径。审查者没有浏览器——你没传过去的截图就是它跑不了的检查。spawn 前不读随行代理的定义文件harness 在 spawn 时加载你只欠输入包对代理等待用一次长超时而非短轮询循环。核验返回携带五个契约段recapture 返回只携带其 recapture 列表空或绞杀的返回用相同输入重 spawn 一次。审查永不在构建线程内运行、永不继承它——codex 中fork_turns: 0新 spawn继承你转录的审查者会继承你的框架、乐观与抽象。完全没有子代理能力的 harness 用 degraded/finish-reviewer.md 走一次完全退出构建上下文后的新线程 pass且替换或失败重替的审查在 finish 时一行披露。处置词只有四个recapture证据失败了不是构建。按返回点名的项目、按截图有效性规则重拍然后对新证据做完整审查——建立在无效证据上的审查不具约束力其后不得出现 pass 裁决。rebuild保真度整体失败不是打补丁。跳过修复批次立即执行重建重新推导被点名区域、产出被点名资产、把结果送回全新完整审查重建整体替换区域所以整个矩阵在重拍上再跑一遍。告知用户在发生什么而不是征求修复失败的许可仅在第二次 rebuild 指令、两裁决并排、或重建会丢弃用户已批准内容时咨询用户。ship无可欠按其范围报告裁决继续到 documenter。fix一个批次应用实质修复重建一次对相同视口、相同文件重拍。重拍测的是位置、加载与溢出测不出修复是否达到了发现所指的质量所以把重拍截图送回同一审查者做裁决给每条实质修复打 resolved / partial / unresolved 分无代理续接时按 degraded/finish-reviewer.md 的 Verdict Pass 新跑。partial 或 unresolved 再进一批修复、重拍、裁决。无人值守运行的预算是两轮即止有attended会话的上限属于用户——第二轮裁决仍列开项时把表格摆到用户面前让其选择按现状发货还是再投一轮。无论谁决定某轮什么都没解决时即停审查者的发现是你唯一的工作清单永不重开你自己的狩猎。不运行第二个检测器。rebuild 与 fix 轮共享一条资产规则任一栅格资产仍按 visualize.md 的 Produce 一节是资产工作保留provenance该轮放弃的栅格在同批删除。任一轮回评审或裁决之前对工件栅格发货目录运行.agents/skills/impeccable/scripts/impeccable embed-prompt --scan asset-dir...把它报告的每个文件清掉生产栅格嵌精确生成提示词来源/stock/既有栅格嵌出处。scan 只读删除只保留给该轮放弃的栅格绝不用于被 scan 标记的文件。最终裁决以审查者自己的处置词、在其真实范围内报告。pass 裁决只计所列修复“the reviewer scored all three fixes resolved” 是其能支撑的声明“no material issues remain” 不是。带开项实质发现的表格永不宣布为 pass、永不软化、永不把只评分了修复列表包装成整表面批准。用户以证据反驳 ship 时其自己的截图、与 comp 的具名不一致那份证据高于你拍的所有截图把它放进任务包spawn 新审查者做全新完整审查。内联打补丁加自我认证正是被拒页面第二次发货的方式。最后一轮修正后spawn 随行 documenterimpeccable-documentercodex 中impeccable_documenter带项目根、工件路径、方向契约、PRODUCT.md、document.md 与写入边界无子代理时先加载 degraded/documenter.md 与 document.md。核验结果新世界与已批准系统变更要求带 tokens 的 DESIGN.md 且.impeccable/design.json纯散文不行。普通扩展对照完成构建与既有系统保留其文件并报告核对过的证据既有漂移只报告、不擅自修。后续编辑后复查。只有审查与文档都完成运行才算完成。附录命令在引擎中的真实落点new-work 文档里的每条命令都不是脚本层的空壳而是 Rust 引擎中的一等公民。从源码结构看CLI 入口 把动词直接路由到各 cratesurface-brief、embed-prompt、concept-seed、serve-question落在impeccable_contextcomp-spec、comp-diff、font-match、build-phase落在impeccable_comp_verbs。concept-seed的核心是 concept_seed.rsfetch_rollconcept_seed.rs#L66-L94把scope、key、reroll、mode、grain、platform组装成表单参数请求 roll 端点返回含非空challengers数组的 roll 数据ping_chosen则校验kind必须属于assigned|pick|challenger|canon、register只能是safer|bolder——这正是文档中裁决词与 register 三档在代码侧的取值约束。离线或 API 不可达时脚本退化为本地分配这也是“永远不要预测 fallback跑脚本只有 exit 2 才路由到结构化工具”的原因。serve-question的状态机在 serve_question.rs每个 key 在问题目录下持有key.state.json、key.answer.json、key.flip.json、key.next.json四个状态文件serve_question.rs#L41-L52存活判定用心跳12 秒窗口加进程探测。--wait拿到答案后打印ANSWER: json并按字段追加指令行——选中的 world 打印 “CHOSEN CARD”要求立即打开 board 与 hero 图、canon打印 “CANON CHOSEN”、带 register 的 reroll 打印 “REGISTER” 并给出确切的重跑参数、buildPath翻转打印会话绑定语义与唯一写回例外。页面本体由 question_page.rs 内嵌决策页从 payload 字段渲染身份卡、自动降级 declined 挑战者。build-phase的状态机在 build_phase.rsstart/advance/record的退出码 2 语义闸门失败并打印原因即文档反复引用的闸门协议。字体测量侧font-match --rank的指纹索引来自 Google Fonts 目录对应实现见 font_fingerprint.rs 与索引数据 font-index.json。图像与 provenancegenerate-image的 API fallback 实现见 generate_image.rsembed-prompt含--scan见 embed_prompt.rs前者是 plates 阶段 API 路径的底层后者是“每个出货栅格携带 provenance”规则的机械执行者。可执行入口文档中的.agents/skills/impeccable/scripts/impeccable是 launcher 脚本。它的解析顺序为$IMPECCABLE_BIN→ 脚本同级bin/os-arch/impeccable→~/.impeccable/bin/impeccable→ 版本钉住的缓存 → PATH 上的impeccable不信任的候选先过engine-probe握手打印impeccable-engine version以避开同名退役 npm CLI最终 fallback 从发布通道按VERSION文件下载平台二进制且先校验.sha256sidecar 再执行——无 sidecar 或哈希工具时拒绝运行未验证下载。这也解释了文档中“sandbox 里走沙箱最少的命令路径开页面端口”的操作要求下载与端口绑定都不受沙箱影响时才可能成功。适用前提与限制流程面向“新表面或替换视觉身份”已有表面的局部细化不走 concept-seed直接按既有世界扩展。comp-led 路径要求图像生成能力harness 原生工具或 API fallback与前沿级模型能力无图像生成时 code-led 是唯一路径文档要求在 payload 中一行说明而非询问。依赖文件约定PRODUCT.md、DESIGN.md、.impeccable/config.json与 gitignored 的config.local.json、.impeccable/mocks/decision/、.impeccable/build/、.impeccable/review/Windows 无sh时改用.agents/skills/impeccable/scripts/impeccable.cmd。骰子 roll 依赖引擎的 roll 端点IMPECCABLE_API_TIMEOUT默认 4000ms超时或不可达时脚本本地分配流程本身不中断。【免费下载链接】impeccableThe design language that makes your AI harness better at design.项目地址: https://gitcode.com/GitHub_Trending/im/impeccable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考