:從視覺權(quán)威判定到完成度審查的新表面七階段設(shè)計管線)
Impeccable new-work 流程實戰(zhàn)從視覺權(quán)威判定到完成度審查的新表面七階段設(shè)計管線【免費下載鏈接】impeccableThe design language that makes your AI harness better at design.項目地址: https://gitcode.com/GitHub_Trending/im/impeccable本文圍繞 Impeccable 技能包中的 new-work 參考文檔展開講清楚“為新表面或替換視覺身份而啟動設(shè)計工作”的完整流程如何判定項目已有的視覺權(quán)威、如何向用戶提出改變工作性質(zhì)的問題、如何選擇發(fā)明程度、如何把方向決策記錄為 surface brief 中的 Direction contract以及如何用build-phase狀態(tài)機驅(qū)動從 comp 測量到完成度審查的構(gòu)建。讀完本文你可以把一條“重做這個頁面”的請求拆解為可執(zhí)行、可驗證、可交接的階段序列并理解每個 CLI 命令在 Rust 引擎中的真實落點。流程定位三份上下文文件各司其職new-work 流程是 Impeccable 技能中處理“新表面”或“替換視覺身份”的專用 playbook。技能入口 SKILL.md 的路由規(guī)則明確無 PRODUCT.md 的新表面或替換型視覺世界先經(jīng) init 再進入 new-work而一般的細(xì)化請求則直接在既有實現(xiàn)上進行。流程開頭確立了上下文三分的權(quán)責(zé)邊界PRODUCT.md擁有產(chǎn)品事實戰(zhàn)略層用戶、品牌、原則DESIGN.md擁有耐久的視覺決策視覺層顏色、字體、組件surface brief只保存屬于某一條路由或某一個工件的策略。當(dāng) PRODUCT.md 缺失時先完成 init.md而 DESIGN.md 缺失不會把請求路由回 init——這一點是后續(xù)“視覺權(quán)威判定”的邏輯前提。每條命令的語義可在 command-metadata.json 中逐條核對例如init負(fù)責(zé)多輪發(fā)現(xiàn)訪談并寫入 PRODUCT.mddocument負(fù)責(zé)從既有代碼生成 DESIGN.md。第一步判定什么已經(jīng)是真的動手之前先讀 DESIGN.md、代表性代碼、tokens、組件與資產(chǎn)然后落入四種情形之一情形處置Redesign重做保留產(chǎn)品事實、內(nèi)容、功能、約束與明確的品牌承諾替換舊視覺世界而不是打磨它。舊外觀是“主題是什么”的證據(jù)不是“它將變成什么”的權(quán)威Established world已成立的世界繼承它。DESIGN.md 缺失并不抹掉代碼里已經(jīng)自洽的身份——應(yīng)把該身份記錄下來而不是發(fā)明一個替代品Incomplete brand不完整的品牌保留已確認(rèn)的資產(chǎn)與可識別特征然后與用戶一起為這個表面擴展系統(tǒng)No visual authority無視覺權(quán)威與用戶一起創(chuàng)建一個新世界文檔還劃出一條硬邊界已成立表面內(nèi)部的 section、組件、功能或狀態(tài)一律繼承該表面的世界。局部新增永遠(yuǎn)不能升級為一場身份重寫。SKILL.md 用同一句話重申了這條原則“Visual authority is evidence, not a filename”——缺一個 DESIGN.md 文件不等于項目是 greenfield。第二步問出會改變工作性質(zhì)的問題實現(xiàn)之前只要結(jié)構(gòu)化提問工具可用就用它拿到用戶的答案。問兩三個相互關(guān)聯(lián)的問題即可精確的請求只需要一次緊湊確認(rèn)。跳過已定事實但不要跳過確認(rèn)本身DESIGN.md 定的是視覺世界不是這個表面的目的或概念。四類模式各有一套必問題目Persuade說服誰必須行動他們應(yīng)相信什么哪些真實的證據(jù)、內(nèi)容或資產(chǎn)能贏得這份信任Operate操作任務(wù)是什么需要什么信息哪些狀態(tài)重要使用頻率約束Read閱讀讀者的問題是什么源材料是什么結(jié)構(gòu)尋路方式Experience體驗什么先行探索如何展開哪個交互或轉(zhuǎn)場最重要跨模式統(tǒng)一追問三件事成功長什么樣、什么絕對不能碰、什么會讓一個“精致的結(jié)果”顯得不對勁。文檔明確禁止兩件事不要向用戶索要 CSS 具體值不要讓用戶在現(xiàn)成的審美賽道里做選擇題。第三步選擇正確的發(fā)明程度3.1 擴展現(xiàn)有表面繼承其世界與構(gòu)圖只解決新增目的、內(nèi)容、層級、狀態(tài)、交互以及新加入如何融入周邊體驗。沒有 concept tournament也不改 DESIGN.md——除非用戶批準(zhǔn)了耐久的系統(tǒng)級變更。3.2 在已成立世界內(nèi)創(chuàng)造一個完整表面視覺系統(tǒng)保持固定。從內(nèi)容、任務(wù)與用戶行為派生57 個實質(zhì)不同的結(jié)構(gòu)按共鳴度排序。對一個真正開放的整頁、整屏或整流程運行.agents/skills/impeccable/scripts/impeccable concept-seed --scope surface --mode mode腳本從你列出的結(jié)構(gòu)里“發(fā)三張牌”骰子決定哪三個到達用戶面前打破你按排名取前三的慣性而用戶保留真實選擇權(quán)。呈現(xiàn)規(guī)則很具體決策頁上以等顯著性的完整卡片呈現(xiàn)被發(fā)到的頭牌置于 kicker “THE ROLL” 之下附 steer 與 re-roll用戶在 surface scope 下鎖定其一。surface scope 沒有 canon 卡、沒有 pick 卡——世界已經(jīng)定了每張卡可視化的是構(gòu)圖而非身份??ㄆ绾温涞厝Q于執(zhí)行路徑見 3.4 的 buildPath 段落有圖像生成且 comp-led 默認(rèn)時每張卡聲明.impeccable/mocks/decision/下的一個comp在服務(wù)決策頁之后、按閱讀順序生成遵循 visualize.md 的 comp 紀(jì)律。每張 comp 錨定在已成立的身份上把代表性現(xiàn)有頁面的截圖作為參考圖harness 圖像工具的輸入圖或impeccable generate-image --ref提示詞以新表面的結(jié)構(gòu)開頭、點名 DESIGN.md 的調(diào)色板、字體與組件氣質(zhì)。文檔的提醒是對設(shè)計系統(tǒng)的文字轉(zhuǎn)述會漂移像素參考不會。無圖像生成或 code-led 默認(rèn)時每張卡攜帶一張wireframe示意圖impeccable serve-question --schema給出的 payload 形狀由頁面自己繪制。鎖定卡片即批準(zhǔn)并設(shè)定構(gòu)建路徑鎖定的 comp 以 comp-led 方式構(gòu)建該 comp 就是已批準(zhǔn) comp免除 visualize 的三選一回合且無第二次審批點鎖定的 wireframe 以 code-led 方式構(gòu)建其雄心由 direction contract 承載。局部擴展或精確指定的窄請求絕不運行此腳本——直接做。3.3 創(chuàng)造或替換視覺世界這是 new-work 中最重的一條路徑五步走第 1 步命名。用一句話命名產(chǎn)品的獨特機制寫下受眾的真實場景、其文化歸屬、以及這個首要表面必須證明什么。同時記下“這個品類永遠(yuǎn)會發(fā)貨的那個頁面”和它可預(yù)測的反面——兩者都是 rut慣性坑要排除在七候選之外。會自己畫圖的 brief、產(chǎn)品名、有標(biāo)題的工件、治理性隱喻只能占一個候選其余必須來自受眾世界的別處。第 2 步列七候選。從那個文化世界列出 7 個受眾爛熟于心的具體視覺系統(tǒng)、工件、場所或儀式每個附一行“為什么共鳴、憑什么承載該機制”按共鳴度排序。受眾世界包括其圖形與屏幕傳統(tǒng)而非只有實物它每日閱讀的記譜法、出版物、識別系統(tǒng)、數(shù)據(jù)圖形與界面??擅某橄笙到y(tǒng)一種海報學(xué)派、一套文檔標(biāo)準(zhǔn)與任何實物一樣是合格候選。近重復(fù)只計一次若 7 個中超過 3 個共享同一材料家族說明推導(dǎo)停在了主題最顯眼的工件上——繼續(xù)挖直到列表跨至少三個家族。第 3 步把材料變成完整方向。每個方向把一個可復(fù)用的視覺世界接到一個具體的首要表面體驗上。第 4 步跑骰子不可跳過。.agents/skills/impeccable/scripts/impeccable concept-seed --scope direction --mode mode文檔把跳過此步定為契約違規(guī)在新或替換世界寫任何工件代碼之前此腳本必須已運行并確認(rèn)其分配。腳本把方向分配給你并發(fā)出 catalog 挑戰(zhàn)者challenger。判定流程是先融合再評判挑戰(zhàn)者提供形式及其系統(tǒng)語法產(chǎn)品提供所有事實清晰度在沖突中勝出只沿兩根軸比較受眾認(rèn)同、產(chǎn)品清晰度。輸給扎實的落地材料是合法結(jié)果逐個給出裁決wins兩根軸都贏成為構(gòu)建候選、competitive守住一根軸保留為完整備選、declined兩根軸都輸。declined 不等于作廢說出它的系統(tǒng)中被分配方向缺少的那一項紀(jì)律在呈現(xiàn)前把分配方向抬到同等水平捐贈而非換裝raise 轉(zhuǎn)移的是雄心與系統(tǒng)紀(jì)律一種調(diào)色板的總承諾、一個網(wǎng)格的密度勇氣、一種形式的結(jié)構(gòu)誠實永遠(yuǎn)不是挑戰(zhàn)者的外衣。被提升的動機只是“戲服注記”一次世界里只能有一個主人。每處 raise 要作為獨立行寫進呈現(xiàn)的方向里并以捐贈者命名——讀不出來的 raise 等于沒發(fā)生。第 5 步呈現(xiàn)。只呈現(xiàn)一個方向完全投入且已被其擊敗的對手抬升過世界、首視口、訪客路徑、簽名交互、跨表面延伸、誠實風(fēng)險。挑戰(zhàn)者按裁決分流——wins 與 competitive 是帶 QUALITY BAR 卡的一行立論的完整備選declined 的降級為緊湊靜默的行帶裁決與方向從它那里保留的東西。一手最多三張完整卡發(fā)牌超過時三張最強的上桌其余進 re-roll 池。若你的排名第一候選不是被分配方向補一張 kicker 為 “IMPECCABLE’S PICK” 的卡 anatomy 與其他卡一致、誠實風(fēng)險行點明其熟悉度——最多一張 pick 卡永不構(gòu)成排名列表骰子把第一名發(fā)給你時不存在 pick 卡被分配卡上注明它曾居你列表之首。re-roll 支持三檔 register由用戶而非你預(yù)選plain新手同樣分布、safer你剩余的常規(guī)落地候選加 canon 對抗具名競品、bolder僅外域形式全承諾。用戶在方向輪打開時說 “bolder” 或 “safer”指的就是這些 register永遠(yuǎn)不是bolder/harden命令。register 通過時重跑 concept-seed 并加--register value與下一輪--reroll。Standing exit常設(shè)出口每個方向輪提供一個安靜、永久存在的備選——品類標(biāo)準(zhǔn)正著做。它是用戶的門永不是你的永不推薦、永不與被發(fā)方向權(quán)衡、永不軟化被發(fā)方向。用戶接住它時canon 動作、safer steer、或白話要求熟悉的路徑約定即承諾問一次“應(yīng)與哪兩三個產(chǎn)品并列”以其工藝水準(zhǔn)為標(biāo)尺全保真執(zhí)行 canon無諷刺、無夾帶的怪癖若作為常設(shè)偏好記入 PRODUCT.md 的品牌承諾。雙通道呈現(xiàn)決策頁卡片與 board與結(jié)構(gòu)化提問工具名稱加一行論共享同一結(jié)構(gòu)、只富集度不同結(jié)構(gòu)化通道的選項列表依次為被分配方向、pick、wins 與 competitive 挑戰(zhàn)者、standing exit 殿后declined 挑戰(zhàn)者折進被分配選項的描述里成為其保留行。serve-question 的命令序列完整協(xié)議# 先看 payload 形狀 .agents/skills/impeccable/scripts/impeccable serve-question --schema # 啟動daemonize打印頁面 URL 與 key 后退出 .agents/skills/impeccable/scripts/impeccable serve-question --start --payload file # 收集選擇exit 3 表示仍在等待重復(fù)調(diào)用 .agents/skills/impeccable/scripts/impeccable serve-question --wait --key key # ANSWER 以 JSON 打印re-roll 的循環(huán)必須走--update絕不開第二個服務(wù)器、絕不退回聊天——那樣會把打開的標(biāo)簽頁晾在一個永不到達的手上# 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 表示頁面未答即關(guān)閉——通過結(jié)構(gòu)化提問工具重呈現(xiàn)一次仍無答案則帶著已聲明的假設(shè)按被分配方向無人值守推進exit 2且僅在啟動時出現(xiàn)才是把決策路由到結(jié)構(gòu)化工具的 fallback不是要重試的錯誤??赡馨?shell 掛在后臺的 harness 可以不帶--start運行讓它自動打開并阻塞。comp 生成紀(jì)律有圖像生成時每張卡含 canon 卡都聲明.impeccable/mocks/decision/下的comp路徑。先服務(wù)頁面再產(chǎn) comp——頁面按槽位 shimmer-wait用戶可以在 comp 落地前回答。每張圖是該方向在自身語法下全保真的北極星 comp請求表面的首視口、結(jié)構(gòu)主導(dǎo)的提示詞、真實產(chǎn)品名與真實內(nèi)容、不虛構(gòu)商業(yè)聲明、使用該卡自己的調(diào)色板/字體/材料世界。幀的縱橫比就是表面自己的原生或移動優(yōu)先的表面用豎屏設(shè)備視口桌面 web 用橫屏——橫屏 comp 的手機屏是壞幀不是中性默認(rèn)。按閱讀順序生成被分配卡、pick、完整卡手、canon每個文件完成即寫 prompt sidecardeclined 挑戰(zhàn)者沒有 compcatalog 縮略圖即其面孔。有并行子代理時每卡一個最多 4 個在飛每個 spawn 即隨行的資產(chǎn)生產(chǎn)者加單 comp 任務(wù)包代理返回時仍空的槽位內(nèi)聯(lián)補生無并行則在主線按同序生成。被選中卡的 comp 不因選擇而花掉comp-led 時它進入 comp 輪成為構(gòu)圖選項一code-led 時它回到完成度審查充當(dāng)批判參考。未選 comp 留在.impeccable/mocks/decision/作為該輪打過的手牌不攜帶也不暗示任何批準(zhǔn)。執(zhí)行路徑buildPath是一次性工作流偏好不是逐表面決策任何回合都不詢問它。默認(rèn)值讀自.impeccable/config.json的buildPath字段gitignored 的.impeccable/config.local.json在單機與團隊值不同時勝出兩者皆無時只要有圖像生成comp-led 即默認(rèn)。所有 payload 都寫buildPath: { value: 默認(rèn), toggle: true }頁面渲染頁腳開關(guān)ANSWER 回傳buildPath與buildPathFlipped。翻轉(zhuǎn)變只綁定當(dāng)次會話且永不寫回——唯一例外是當(dāng)buildPathFlipped為 true 而項目從未記錄過buildPath時回合結(jié)束后問一次是否存為常設(shè)默認(rèn)兩個答案都寫.impeccable/config.json答案只決定值。舊的兩卡執(zhí)行契約回合已退役followup: true保留為經(jīng)由--update在同一張桌上投遞后續(xù)回合的通用機制。Catalog 世界是工作系統(tǒng)不是情緒參考?;钕聛淼氖澜缙湔{(diào)色板與材料、字體與構(gòu)圖、拓?fù)?、控件與狀態(tài)、響應(yīng)式規(guī)則都要帶進產(chǎn)品若來源本身是一種界面語言就在導(dǎo)航、內(nèi)容、控件與狀態(tài)上全提交其原生語法。選擇落定的那一刻就打開該世界的 QUALITY BAR board 與 hero——它們設(shè)定的是構(gòu)建必須達到的工藝水平渲染參考的完成度、承諾度、藝術(shù)指導(dǎo)而非構(gòu)圖。每個可能被骰子命中的方向必須預(yù)先可行它可視化的一切關(guān)系與聲明為真、真實調(diào)色板與組件家族、有一個產(chǎn)品專屬體驗的鮮明構(gòu)圖、在既有資產(chǎn)/工具/性能預(yù)算內(nèi)可按整表面尺度落地。在真實性上失敗的候選在骰子之前替換永不靠骰子挽救。真理約束的是聲明而非演示greenfield 工作中概念需要的示意材料可以全保真編寫但在訪客可能誤認(rèn)為真的地方標(biāo)注 synthetic并把“哪些要換回真實材料”的清單交給用戶。不可發(fā)明的只有商業(yè)與事實聲明價格、客戶、基準(zhǔn)、端點、產(chǎn)品不具備的能力。分模式驗收Persuade 的開場必須讓 offer 可理解、可欲望暴露清晰行動并演示只有本產(chǎn)品能證明的東西——一個一行落地的 hook、可見的主行動、可讀的閱讀順序Operate 中表達永不遮蔽任務(wù)、狀態(tài)與熟悉控件Read 保持理解與尋路完好Experience 讓作品本身從首視口領(lǐng)路。第四步提交視覺世界先選顏色戰(zhàn)略再選顏色。四檔戰(zhàn)略戰(zhàn)略含義適用Restrained中性色 一個強調(diào)色訪客來操作或閱讀時的默認(rèn)Committed一個飽和色承載 30–60% 的表面Persuade / Experience 有權(quán)限Full palette3–4 個命名角色Persuade / Experience 有權(quán)限D(zhuǎn)renched表面本身就是顏色Persuade / Experience 有權(quán)限顏色按頁面尺度提交擁有整片區(qū)域的字段不是撒在中性底上的強調(diào)。暗或亮永不是默認(rèn)值寫一句物理場景誰在用、在哪里、什么光線下讓它逼出答案。像從主題世界里選物件一樣選字體。Operate 與 Read 表面適合系統(tǒng)棧與工裝 UI 字體Persuade 與 Experience 表面需要帶觀點的字體。文檔直接列出了訓(xùn)練數(shù)據(jù)默認(rèn)黑名單——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——點名其中任何一個都需要“其他任何字體都無法滿足”的理由而主題聯(lián)想書想要襯線、書店想要手寫字、科技想要等寬恰恰是這份清單要打破的聯(lián)想。校準(zhǔn)識別 AI 界面的聚集長相。無論主題為何AI 生成界面總聚集在幾種長相上暖米色底 高對比襯線 display 陶土/信號紅強調(diào)近黑底 單一霓虹強調(diào) 發(fā)光邊緣報紙編輯式發(fā)絲線 斜體襯線 display 小字距 mono 標(biāo)簽。這些在 brief 要求時都合法但當(dāng) brief 對審美保持自由時落入其中任何一種意味著自檢失敗——若僅憑品類或品類加“避雷”就能猜出你的審美就返工到兩個答案都不顯然為止。補充三條易誤讀行為的否定約束不游戲化、不炒作排除的是那些手段而非歡騰產(chǎn)品行為形容詞安靜的支持、冷靜的輔導(dǎo)不規(guī)定表面能量書籍/兒童向主題不軟化校準(zhǔn)——書布、線裝、護封、環(huán)襯的飽和光譜里米色紙是最小的角落。第五步把決策記錄成契約寫代碼之前把所選方向作為僅開發(fā)用的契約記錄在相應(yīng) surface brief 的## Direction contract段落下。方向契約是耐久的路由或工件策略所以即使沒有其他表面策略需要持久化也要創(chuàng)建或更新 brief。六個短塊、約 150 詞塊內(nèi)容THESIS這個表面獨占的那一個想法以及它拒絕的品類默認(rèn)排布OWN-WORLD調(diào)色板與組件語言具體到刪掉全部內(nèi)容仍可辨認(rèn)STORY訪客理解了什么、相信了什么、做了什么FIRST VIEWPORT精確構(gòu)圖什么在哪里、什么尺度、主行動坐落何處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 是后續(xù)代理跨編輯、跨會話重新加載的提醒一個看起來完整但 FINISH 行未清償?shù)捻撁娌皇峭瓿啥窃诮K點線被放棄。任何一塊讀起來像“情緒”而不是決策方向就還沒定。兩條硬規(guī)則永不把方向契約復(fù)制進實現(xiàn)源碼或任何瀏覽器交付的工件HTML/框架注釋、隱藏 DOM、template、data-*屬性、JSX/TSX 輸出、序列化 props、RSC payload、客戶端 bundle、metadata/JSON-LD、無障礙專用文本都在列編譯器剝離開發(fā)元數(shù)據(jù)不構(gòu)成安全邊界。審查者與文檔者從 surface brief 拿契約。新或替換世界的 DESIGN.md在 finish 時由隨行的 documenter 從建好的世界寫起——構(gòu)建前寫的規(guī)則本會被拿去對抗現(xiàn)實而不是描述現(xiàn)實還給設(shè)計系統(tǒng)檢測器一個不穩(wěn)定目標(biāo)新世界不帶 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 ...]寫入后再讀一次確認(rèn)六個契約塊與 seed key 都在然后才允許構(gòu)建。brief 保持小scope 與訪客模式受眾、任務(wù)、行動、證據(jù)/內(nèi)容、約束所選方向與難忘時刻未決決策。不要把全局產(chǎn)品事實或 DESIGN.md tokens 抄進來。構(gòu)建路徑上 comp-led 且有任意圖像生成可用時harness 原生工具或impeccable context報告的 API fallback鎖定的方向在構(gòu)建前先按 visualize 紀(jì)律可視化——三個構(gòu)圖選項擺到用戶面前被選中卡的決策 comp 加兩個變體。code-led 時 comp 輪按契約跳過而非按漂移跳過它本該承載的雄心住在 FIRST VIEWPORT 塊與命名的簽名交互里由完成度審查者在行為上審計。shape命令在此止步把選定的方向交還 shape.md在持久化或?qū)崿F(xiàn)前停下。第六步全承諾構(gòu)建構(gòu)建被分配的方向而不是它的安全解釋。形式提供結(jié)構(gòu)、閱讀順序、組件約定與原生動效產(chǎn)品提供所有事實。每個原子都要提交導(dǎo)航、按鈕、輸入、鏈接都用形式的詞匯重建已提交形式里出現(xiàn)一個貨架組件就是失職。6.1 comp-ledcomp 是一份可測量的契約存在已批準(zhǔn) comp 時它是空間契約而非情緒板——只有用戶可以用明確措辭降級其權(quán)威。文檔直言模型系統(tǒng)性地會相信自己的 HTML/CSS/SVG 重繪成功而它并沒有所以構(gòu)建以磁盤上的狀態(tài)機運行閘門把屏幕對著 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隨后按順序推進每關(guān)由build-phase advance關(guān)閉以下每個動詞都以.agents/skills/impeccable/scripts/impeccable verb運行exit 2 表示閘門失敗并打印原因修好再 advance早期限門未關(guān)時不寫后續(xù)階段階段 0 · compsvisualize.md 的 comp 輪——請求表面在其自身視口下的三個構(gòu)圖 comp置于.impeccable/mocks/各帶 prompt sidecar擺到用戶面前被選中者 sidecar 加approved: true。閘門計數(shù)并讀取批準(zhǔn)start --comp跳過此階段因為它已發(fā)生。文檔的誠實注腳comp-led 是前沿級任務(wù)要求構(gòu)建者守住測量布局、把 plate 放進盒子、跨越十次嘗試執(zhí)行數(shù)字讀數(shù)更小更快的模型能產(chǎn)出可辨認(rèn)的頁面卻在 hero 閘門下停滯——如果手里的模型屬于此類在方向輪之前就說清楚并取 code-led 路徑。階段 1 · spec測量 comp。impeccable comp-spec --comp comp --grid # 在 comp 上寫坐標(biāo)網(wǎng)格 impeccable comp-spec --comp comp --regions file impeccable comp-spec --print # 從此起構(gòu)建的參考打開網(wǎng)格圖用一個 regions 文件按網(wǎng)格跨度命名每個顯著區(qū)域文本與控件區(qū)域會吸附到跨度內(nèi)最大墨塊——名為 B1:E4 的標(biāo)題量出來就是標(biāo)題而不是旁邊的列snap: false保留跨度顯式box按畫面上取。kind 分兩類一切被畫出來的——插圖、照片、圖形、產(chǎn)品物件、材料紋理——是plate/image/texture代碼畫出的才是text/control/chrome。每個區(qū)域帶note說明 comp 在那里畫了什么。spec 攜帶每區(qū)域的 box、采樣調(diào)色板與介質(zhì)。字體是測出來的不是猜的impeccable font-match --measure text region從像素讀 cap height、寬度類與字重impeccable font-match --rank region --text ...以 Google Fonts 目錄指紋索引中的最近候選加--candidates傳的名字在該 cap height 用區(qū)域原詞渲染按指紋距離排名——USE行即 CSSproof sheet 展示 comp 對前三名的對照。無可解析瀏覽器時記錄目錄最近字體并注明尺寸為估計值。spec 閘門在主文本區(qū)域被測量并排名前拒絕關(guān)閉絕不手寫chosen字體進 spec——閘門只認(rèn) font-match 寫下的。spec 階段還有一組防漂移拒絕描述被畫材料卻掛了代碼 kind 的 note 被拒重新歸類為 plateregions 文件留下未命名的 comp 墨塊被拒永不被命名的東西永遠(yuǎn)不會被發(fā)現(xiàn)缺失超過 comp 四分之一的 text/control/chrome 區(qū)域被拒那是列不是元素超出圖標(biāo)預(yù)算的內(nèi)聯(lián) SVG 在 hero 被拒comp 的裁剪圖永遠(yuǎn)不是 plate閘門拒絕 comp 區(qū)域的重采樣文件——comp 的顆粒度、鄰居邊緣與分辨率會隨圖發(fā)貨plate 的 box 必須含住整件作品留邊spec 測量作品與 box 邊緣的接觸bleed: true僅當(dāng)頁面確實在那里裁切。spec 里沒有的東西頁面上不存在comp 不顯示的邊框、規(guī)則線、容器、chrome 一律沒有?;砻庵挥腥椬煮w可獲得的最近字體、圖標(biāo)字形足夠接近圖標(biāo)庫由用戶選擇時精確——只覆蓋象形圖本身不覆蓋控件 chrome、comp 的真實缺陷如拼寫錯誤。階段 2 · plates每個柵格區(qū)域都以 plate 形式發(fā)貨——從 comp 裁剪在資產(chǎn)分辨率上重繪、去除 UI 文本、存到其plate路徑。孤立墨塊/圖形/物件用原生透明 PNG 坐在頁面自己的底上照片與紋理保持不透明紋理紙、布、顆粒是 comp 區(qū)域的干凈補丁鏡像平鋪僅當(dāng)不存在干凈補丁時才生成。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優(yōu)先 harness 原生圖像工具帶該 crop 與提示詞。先建輸出目錄。在淺底深底上驗證真實 alpha、白色前景、細(xì)邊緣與干凈孔洞不對原生輸出做色鍵。閘門把資產(chǎn)對著 comp 打分同時肉眼檢查擺放與尺度。有并行子代理時 spawn 隨行的資產(chǎn)生產(chǎn)者impeccable-asset-producercodex 中impeccable_asset_producerCursor 中/impeccable-asset-producer并給出 spec 路徑讓它一次產(chǎn)完。plates 閘門檢查每個 plate 存在、至少 1.5 倍區(qū)域尺寸、且可讀作該區(qū)域——頁面代碼等這個閘門plate 存在前寫出的頁面就是用 CSS 畫材料的頁面。單文件交付物不改變?nèi)魏问聀late 以同法生產(chǎn)后內(nèi)聯(lián)為 data URI。--force只用于一種情形——用戶以措辭降級 comp 權(quán)威且你用--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——每個區(qū)域在其 box、每個 plate 就位。把數(shù)字綁定到你自己的語義結(jié)構(gòu)每區(qū)域一個元素參考頁只是位置核對絕不是頁面本身重疊的 box 就是重疊的。然后只構(gòu)建首視口、在 comp 自身尺寸上、comp 的文字逐字拷貝用戶批準(zhǔn)的就是那些字改寫是 hero 通過后的明示決定永不是其內(nèi)部的默不作聲。每個文本區(qū)域按其測量 cap height 定尺寸、排在其排名字體上。plate 先行任何文本或控件之前先把每個 plate 放到 spec boxobject-fit: cover的img、背景圖或以其命名的內(nèi)聯(lián) data URI截圖到.impeccable/review/hero-repro.png運行impeccable build-phase record hero一次在文本還不存在時親眼確認(rèn) plate 區(qū)域讀作 match再按 spec 的調(diào)色板與 box 在 plate 上鋪語義層然后 advance。閘門先拒絕“任一 plate 未被源碼引用”然后運行impeccable comp-diff寫.impeccable/review/diff/hero/并排、熱圖、每區(qū)域一對配對裁剪、report.json72% 總得分通過且無未消硬否決區(qū)域缺失、plate 或文本塊被矛盾、SVG 插圖、plate 被裁切、任意得分下的虛構(gòu)墨塊。達標(biāo)后數(shù)字讀數(shù)降級為隨 pass 打印的建議留給響應(yīng)式之前的打磨pass。閘門還逐區(qū)域讀 cap height、行數(shù)、字重、墨色、位置每條 chrome 條的高度以及 comp 平靜處的墨水多出的 kicker、多出的導(dǎo)航項、分隔線把每處失誤說成數(shù)字“構(gòu)建里 cap height 78pxcomp 里 103px”——那些數(shù)字就是編輯指令。失敗時按順序打開它列出的區(qū)域裁剪再動手missing需要材料、contradicted需要從 spec box 重新推導(dǎo)結(jié)構(gòu)、drift是尺寸間距編輯的去處同一區(qū)域第三次只挪數(shù)值的嘗試會被閘門拒絕。文檔的判斷這一關(guān)決定整個運行的雄心成敗——在這里重試花分鐘在終點以重建裁決花掉整個運行。階段 4 · sections在 spec 的系統(tǒng)內(nèi)構(gòu)建剩余表面——同樣的圓角語言、線寬、調(diào)色板comp 從未顯示的東西一概沒有。comp 未覆蓋的區(qū)域繼承已記錄的系統(tǒng)。階段 5 · motion簽名交互、reveal 與動效編排一次而非散落。階段 6 · responsive其余視口以及常見桌面寬度1280–1600下的首視口不只是 comp 的精確尺寸流式列不出現(xiàn)窄一百像素就換行的固定像素網(wǎng)格。截圖desktop.png1440 寬整頁與mobile.png390 寬到.impeccable/review/閘門把桌面截圖對著 comp 做 diff拒絕只在 comp 寬度下成立的首視口。移動優(yōu)先的 comp’d 表面就是豎屏 comp 的plate 就是為該幀生產(chǎn)的。6.2 code-led沒有 comp也不為它道歉雄心住在方向契約的 FIRST VIEWPORT 塊與命名的簽名交互里完成度審查者在行為上審計那些承諾。選中的決策 comp 隨行到完成度審查充當(dāng)批判參考。6.3 兩條路徑共享的原則首視口是論點不是頁頭。立即、按形式在現(xiàn)實中的尺度演示機制不要把概念關(guān)進標(biāo)準(zhǔn) hero 或卡片殼。記憶測試若有人只看了一個視口就離開一小時后他會描述什么誠實答案是“一種情緒”時概念還沒有提交。證明別宣稱。展示主體在做其工作界面運轉(zhuǎn)中、機制被戲劇化、競品無法復(fù)制粘貼的細(xì)節(jié)。演示數(shù)據(jù)是設(shè)計材料全保真編寫并標(biāo)注 synthetic聲明保持不可發(fā)明。編寫資產(chǎn)永不以 chrome 替代。偉大的表面活在精心制作的內(nèi)容上名字、條目、文案、封面、縮略圖、紋理。greenfield 中每個 ask 輪留下的空白都由你在生產(chǎn)保真度上編寫內(nèi)容可編寫、聲明可標(biāo)注、無章節(jié)可省略。漸變、玻璃、通用圖標(biāo)瓷磚、以及該有編寫資產(chǎn)處的大量頂點clip-path多邊形是缺口穿著 chrome 的衣服檢測器標(biāo)記后兩者。構(gòu)建形式的 web 杠桿。所選世界點名某技術(shù)canvas、WebGL、view transitions、生成式動效時構(gòu)建該技術(shù)本身不是它的靜態(tài)模仿。像工作室一樣控制滾動節(jié)奏。單一語法內(nèi)變換密度、尺度、圖像、動效與安靜密段掙來靜段頁面以真實收尾錨定結(jié)束。全程一種間距節(jié)奏標(biāo)題上方比下方更空。brief 暗示時用真實、可驗證的圖像。搜主題的實物而非品類一張決定性照片勝過五張平庸照片。驗證 stock URL 可解析。把動效當(dāng)材料編寫。頁面獲得形式的原生動效一次、有編排地而非散落的 hover 效果。給昂貴效果設(shè)邊界內(nèi)容默認(rèn)可見。同時保持語義、可訪問性、性能、響應(yīng)式、項目約定與既有行為。第七步檢驗并完成批量截圖一輪完成檢驗web 上桌面與移動原生平臺ios/android/adaptive按 ios.md / android.md 的 “Verifying the build” 一節(jié)從模擬器采集各 OS 已發(fā)貨設(shè)備類。harness 報告了用戶真實視口in-app 瀏覽器尺寸、命名分辨率時把那個寬度加入集合——會斷的寬度正是用戶第一眼看到的。對照用戶請求與方向契約批判渲染修復(fù)實質(zhì)缺口兩輪封頂修復(fù)在輪間批量執(zhí)行不為單點微調(diào)掙截圖。comp-led 構(gòu)建運行.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把其區(qū)域行與配對裁剪當(dāng)批判來讀——并排視圖是構(gòu)建線程自己永遠(yuǎn)沒有的視角它評 missing 或 contradicted 的區(qū)域無論頁面憑記憶看起來如何都是修復(fù)項。永不憑一張整頁縮略圖判斷保真度它恰好藏住要緊的失敗。Persuade 表面還要驗證模式做到了工作首次訪客數(shù)秒內(nèi)以形式自己的詞匯弄清這是什么、為何重要、該做什么。截圖先驗證再發(fā)送。先安定或禁用入場動效被動畫時序藏住的元素讀作缺失元素會被修成回歸從文檔頂部拍整頁comp 對比在 comp 自身像素尺寸上拍。然后每個文件打開一次確認(rèn)它顯示其名字所聲稱的內(nèi)容無黑屏/空白區(qū)、無正確文件名后面的錯誤章節(jié)、無半加載狀態(tài)。一份畸形截圖送出去花掉整輪——審查者以disposition: recapture作答它所審的一切不具約束力。第二輪檢驗后構(gòu)建線程的打磨結(jié)束不再有缺陷狩獵、微編輯腳本或重建剩下的交給交接新上下文發(fā)現(xiàn)得更好也更便宜。web 上本 harness 不跑設(shè)計鉤子時對改動目標(biāo)運行一次.agents/skills/impeccable/scripts/impeccable detect --json修復(fù)機械項其余發(fā)現(xiàn)連同截圖交給審查者無鉤子的 web 構(gòu)建跳過這一步就把鉤子存在要抓的所有 tell 都發(fā)出去。原生平臺完全跳過檢測器——它讀 HTML 和 CSS對原生代碼沒有裁決權(quán)審查者的 floor 檢查是唯一門檻。截圖存.impeccable/review/每視口一文件webdesktop.png、mobile.png用戶視口加入集合時加user-width.png原生每設(shè)備類一個如phone.png、tablet.pngadaptive 按 OS 加后綴目錄不存在就創(chuàng)建。傳給審查者的路徑即其規(guī)格你檢驗過的每個視口都在任務(wù)包里列為 required。spawn 隨行的完成度審查者impeccable-finish-reviewercodex 中impeccable_finish_reviewerCursor 中/impeccable-finish-reviewer輸入包包含原始請求、已確認(rèn)答案、工件路徑、截圖路徑、方向契約、既有鉤子發(fā)現(xiàn)、QUALITY BAR 卡與已批準(zhǔn) comp 路徑code-led 構(gòu)建沒有已批準(zhǔn) comp——選中的決策 comp 以“批判參考”名義占該槽、comp-led 時的構(gòu)建狀態(tài).impeccable/build/state.json、spec、diff 目錄.impeccable/review/diff/hero/與.impeccable/review/diff/final/的并排/熱圖/區(qū)域?qū)?report.json即保真度證據(jù)、craft-floor 參考路徑以及原生平臺的平臺參考路徑。審查者沒有瀏覽器——你沒傳過去的截圖就是它跑不了的檢查。spawn 前不讀隨行代理的定義文件harness 在 spawn 時加載你只欠輸入包對代理等待用一次長超時而非短輪詢循環(huán)。核驗返回攜帶五個契約段recapture 返回只攜帶其 recapture 列表空或絞殺的返回用相同輸入重 spawn 一次。審查永不在構(gòu)建線程內(nèi)運行、永不繼承它——codex 中fork_turns: 0新 spawn繼承你轉(zhuǎn)錄的審查者會繼承你的框架、樂觀與抽象。完全沒有子代理能力的 harness 用 degraded/finish-reviewer.md 走一次完全退出構(gòu)建上下文后的新線程 pass且替換或失敗重替的審查在 finish 時一行披露。處置詞只有四個recapture證據(jù)失敗了不是構(gòu)建。按返回點名的項目、按截圖有效性規(guī)則重拍然后對新證據(jù)做完整審查——建立在無效證據(jù)上的審查不具約束力其后不得出現(xiàn) pass 裁決。rebuild保真度整體失敗不是打補丁。跳過修復(fù)批次立即執(zhí)行重建重新推導(dǎo)被點名區(qū)域、產(chǎn)出被點名資產(chǎn)、把結(jié)果送回全新完整審查重建整體替換區(qū)域所以整個矩陣在重拍上再跑一遍。告知用戶在發(fā)生什么而不是征求修復(fù)失敗的許可僅在第二次 rebuild 指令、兩裁決并排、或重建會丟棄用戶已批準(zhǔn)內(nèi)容時咨詢用戶。ship無可欠按其范圍報告裁決繼續(xù)到 documenter。fix一個批次應(yīng)用實質(zhì)修復(fù)重建一次對相同視口、相同文件重拍。重拍測的是位置、加載與溢出測不出修復(fù)是否達到了發(fā)現(xiàn)所指的質(zhì)量所以把重拍截圖送回同一審查者做裁決給每條實質(zhì)修復(fù)打 resolved / partial / unresolved 分無代理續(xù)接時按 degraded/finish-reviewer.md 的 Verdict Pass 新跑。partial 或 unresolved 再進一批修復(fù)、重拍、裁決。無人值守運行的預(yù)算是兩輪即止有attended會話的上限屬于用戶——第二輪裁決仍列開項時把表格擺到用戶面前讓其選擇按現(xiàn)狀發(fā)貨還是再投一輪。無論誰決定某輪什么都沒解決時即停審查者的發(fā)現(xiàn)是你唯一的工作清單永不重開你自己的狩獵。不運行第二個檢測器。rebuild 與 fix 輪共享一條資產(chǎn)規(guī)則任一柵格資產(chǎn)仍按 visualize.md 的 Produce 一節(jié)是資產(chǎn)工作保留provenance該輪放棄的柵格在同批刪除。任一輪回評審或裁決之前對工件柵格發(fā)貨目錄運行.agents/skills/impeccable/scripts/impeccable embed-prompt --scan asset-dir...把它報告的每個文件清掉生產(chǎn)柵格嵌精確生成提示詞來源/stock/既有柵格嵌出處。scan 只讀刪除只保留給該輪放棄的柵格絕不用于被 scan 標(biāo)記的文件。最終裁決以審查者自己的處置詞、在其真實范圍內(nèi)報告。pass 裁決只計所列修復(fù)“the reviewer scored all three fixes resolved” 是其能支撐的聲明“no material issues remain” 不是。帶開項實質(zhì)發(fā)現(xiàn)的表格永不宣布為 pass、永不軟化、永不把只評分了修復(fù)列表包裝成整表面批準(zhǔn)。用戶以證據(jù)反駁 ship 時其自己的截圖、與 comp 的具名不一致那份證據(jù)高于你拍的所有截圖把它放進任務(wù)包spawn 新審查者做全新完整審查。內(nèi)聯(lián)打補丁加自我認(rèn)證正是被拒頁面第二次發(fā)貨的方式。最后一輪修正后spawn 隨行 documenterimpeccable-documentercodex 中impeccable_documenter帶項目根、工件路徑、方向契約、PRODUCT.md、document.md 與寫入邊界無子代理時先加載 degraded/documenter.md 與 document.md。核驗結(jié)果新世界與已批準(zhǔn)系統(tǒng)變更要求帶 tokens 的 DESIGN.md 且.impeccable/design.json純散文不行。普通擴展對照完成構(gòu)建與既有系統(tǒng)保留其文件并報告核對過的證據(jù)既有漂移只報告、不擅自修。后續(xù)編輯后復(fù)查。只有審查與文檔都完成運行才算完成。附錄命令在引擎中的真實落點new-work 文檔里的每條命令都不是腳本層的空殼而是 Rust 引擎中的一等公民。從源碼結(jié)構(gòu)看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組裝成表單參數(shù)請求 roll 端點返回含非空challengers數(shù)組的 roll 數(shù)據(jù)ping_chosen則校驗kind必須屬于assigned|pick|challenger|canon、register只能是safer|bolder——這正是文檔中裁決詞與 register 三檔在代碼側(cè)的取值約束。離線或 API 不可達時腳本退化為本地分配這也是“永遠(yuǎn)不要預(yù)測 fallback跑腳本只有 exit 2 才路由到結(jié)構(gòu)化工具”的原因。serve-question的狀態(tài)機在 serve_question.rs每個 key 在問題目錄下持有key.state.json、key.answer.json、key.flip.json、key.next.json四個狀態(tài)文件serve_question.rs#L41-L52存活判定用心跳12 秒窗口加進程探測。--wait拿到答案后打印ANSWER: json并按字段追加指令行——選中的 world 打印 “CHOSEN CARD”要求立即打開 board 與 hero 圖、canon打印 “CANON CHOSEN”、帶 register 的 reroll 打印 “REGISTER” 并給出確切的重跑參數(shù)、buildPath翻轉(zhuǎn)打印會話綁定語義與唯一寫回例外。頁面本體由 question_page.rs 內(nèi)嵌決策頁從 payload 字段渲染身份卡、自動降級 declined 挑戰(zhàn)者。build-phase的狀態(tài)機在 build_phase.rsstart/advance/record的退出碼 2 語義閘門失敗并打印原因即文檔反復(fù)引用的閘門協(xié)議。字體測量側(cè)font-match --rank的指紋索引來自 Google Fonts 目錄對應(yīng)實現(xiàn)見 font_fingerprint.rs 與索引數(shù)據(jù) font-index.json。圖像與 provenancegenerate-image的 API fallback 實現(xiàn)見 generate_image.rsembed-prompt含--scan見 embed_prompt.rs前者是 plates 階段 API 路徑的底層后者是“每個出貨柵格攜帶 provenance”規(guī)則的機械執(zhí)行者??蓤?zhí)行入口文檔中的.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 從發(fā)布通道按VERSION文件下載平臺二進制且先校驗.sha256sidecar 再執(zhí)行——無 sidecar 或哈希工具時拒絕運行未驗證下載。這也解釋了文檔中“sandbox 里走沙箱最少的命令路徑開頁面端口”的操作要求下載與端口綁定都不受沙箱影響時才可能成功。適用前提與限制流程面向“新表面或替換視覺身份”已有表面的局部細(xì)化不走 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默認(rèn) 4000ms超時或不可達時腳本本地分配流程本身不中斷?!久赓M下載鏈接】impeccableThe design language that makes your AI harness better at design.項目地址: https://gitcode.com/GitHub_Trending/im/impeccable創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考