以 Codex CLI 驅動的自走迴圈,對 skills.tenten.co 執行截圖、評分、修改、部署, 反覆迭代直到通過雙閘門。兩道閘門(量表 + 指標)、八個評分向度、十輪硬上限, 無需人工介入。
使用者在本機執行一條指令。Harness 以 headless 瀏覽器開啟 skills.tenten.co、 跨三種解析度截圖、執行 Lighthouse 與 axe,將結果交給 Claude,依八個向度的 設計評分量表打分。量表分數與客觀指標雙雙通過閾值時,迴圈停止。
未通過時,Harness 產出一份聚焦的修改指令,內容包含分數最低的三個向度、對應準則、及待修項目說明,交給 OpenAI Codex CLI。Codex 修改 repo、commit、 push 到 main。Vercel 部署完成後,Harness 執行 smoke test,進入下一輪。上限十輪。
每一輪成功 push 均即時反映至線上 production。若 smoke test 偵測到異常輸出, 該輪在下一輪開始前自動執行 git revert。Harness 結束時(通過閘門、撞上限或手動中止), 輸出最終報告,記錄 diff 歷程、每輪分數及所有 revert 記錄。
以下八項在前置設計階段透過四輪 Q&A 確認。迴圈執行中不重新討論。 審閱後若有任何一項需要修正,請修改規格文件,而非調整正在執行的 agent。
兩道閘門都得過。量表 AND 指標。
單目標設計。Vercel 部署。
使用者啟動才跑,不掛 daemon。不怕睡眠。
編輯式骨架配 Tenten 外衣。見 §03。
可加新頁、新功能、新互動。代價已記錄。
每一輪即時反映到線上。Fire-and-forget。
各向度等權。無單一軸線主導。
失敗自動 revert。無 diff 大小上限。
DeepMind 提供結構紀律:單色畫布、科學式克制、編輯式分段流。 Tenten Editorial 定義視覺表層:warm paper、Instrument Serif 配 DM Sans、sodium-vapor amber 節制使用、grain 紋理。結構層引用 DeepMind 編輯風格,視覺層對應 Tenten 品牌識別。
頁面骨架的設計原則,獨立於視覺表現。
套用於結構層之上的品牌視覺規格。
Claude 依多解析度截圖對每個關鍵頁的每個向度給 0–10 分。量表閘門通過條件: 平均 ≥ 8.0 且 每個向度個別 ≥ 6.0。 平均 8.5 但 Accessibility 僅 4 分時,閘門不通過。
視覺層級清晰度、段落順序、頁面可掃描性。
Instrument Serif & DM Sans 正確使用。字級比例、行高、不出現介於之間的字級。
白空間的大方程度、垂直節奏、桌機 section gap ≥ 96px。
Paper 底色主導。Amber 用得克制。暗區用 radial glow,不用純黑。
Staggered fadeUp 有調過。Hero 有 grain。動態克制。
WCAG AA 對比、semantic HTML、鍵盤導航、focus state、alt text。
讀起來具體是 Tenten Editorial,不是泛編輯感。與 tenten.co 對照。
IA 邏輯、文案具體不空洞、CTA 顯眼、無行銷話術。
單一量表無法攔截 a11y 退化的頁面;單一指標無法攔截視覺失格的高分頁面。混合停止條件(量表 AND 指標)是雙閘門設計的依據。
Claude 依準則對截圖評分。兩條條件同時成立方通過。
部署完成後以工具量測線上 URL。涵蓋所有 KEY_URLS、所有 viewport。
完全放權加直 push main 是此 harness 支援的最大授權配置,為前置設計階段主動選定。以下列出各項 trade-off,供執行前審閱。
完全放權之下,某一輪可能新增客戶證言區、pricing 頁或 chatbot widget,只要 Codex 判斷這對評分準則有幫助。
緩解:每輪結束後檢視 iteration log,以 git revert 移除不需要的 commit。
直接 push 到 main 表示 Vercel 編譯完成後,任何輪次的輸出均即時上線,包含渲染失敗的情況。
緩解:每次部署後執行 smoke test。非 200、缺少關鍵元素、頁面 JS 錯誤,任一條件觸發均在下一輪開始前自動執行 git revert。
Codex 可能採用 Inter、Space Grotesk、off-white、navy 等泛模板配色,字面符合準則描述,但偏離 Tenten Editorial 指紋。
緩解:Brand Fidelity 為八個評分向度之一,評審時以 tenten.co 為對照參考。v1.1 版本將把 tenten.co 校準截圖明確納入評審 prompt。
設計上不對單輪 diff 大小設上限。Codex 的推理能力需要完整的重構空間;設置上限會使其轉為保守的小幅修補,降低整體效果。
緩解:Smoke test 加 10 輪上限加跑完後人工 review。若某輪變更範圍過大但 smoke test 通過,可手動 revert。
若第 7 輪將 Accessibility 從 98 降至 64,迴圈繼續執行,停止條件僅因閾值未達而不通過。後續輪次不保證修復。
緩解:10 輪上限為兜底機制。若實際執行中此情況頻繁出現,v1.1 版本補上指標退化中止邏輯。
啟動前須完成以下三項確認,合計約三十分鐘,分兩個時間點執行:一次在啟動前,一次在 baseline 結果回來後。
逐條確認十二條設計原則的方向與閾值是否符合 skills.tenten.co 的規格需求。若有需要修正的項目,在第一次正式執行前直接修改 SKILL.md。
正式 push 前,harness 執行一次 baseline 模式:僅擷取現況截圖並評分,不觸發 Codex 也不 push。輸出結果為八向度分數卡加截圖。若任一向度評分明顯偏嚴、偏鬆或有誤判,在正式執行前修訂評審 prompt。
直接 push 到 production 是不可逆的配置選擇。若複閱後認為需要調整,例如改為先 push 到長期分支、加入 diff 大小上限或加入指標退化中止邏輯,請在第一次執行前直接修改 SKILL.md 配置。v1.0 版本已鎖定,尚未執行。
§07 三項確認完成後,執行一次 baseline 模式擷取截圖,再啟動第一輪正式迭代。第一輪 push 完成後,production 即同步更新。