提取
根據公開網站建立有根據的 DESIGN.md。提取可觀察的設計模式;請勿將網站複製為可執行的程式碼,或聲稱其為官方品牌指南。
命令行為
當使用者輸入 /extract <url> 時,視為立即執行此工作流程的請求。
如果使用者僅輸入 /extract,請要求提供公開 HTTPS URL,並且在他們提供之前不要開始提取。
預設輸出:
- 證據包:
.blueprint-extractor/<slug>/ - 最終文件:使用者目前專案中的
DESIGN.md,除非他們要求其他路徑
工作流程
- 驗證目標 URL。
- 在使用者的專案中建立證據資料夾
.blueprint-extractor/<slug>/。 - 從公開頁面資料收集證據:
- HTML title 與 meta 資料
- 連結與內嵌 CSS
- 代表性元素的計算樣式
- 當瀏覽器工具可用時,擷取桌面螢幕截圖(1440x900)
- 當瀏覽器工具可用時,擷取行動螢幕截圖(390x844)
- 僅從取得的 CSS、計算樣式或記錄的螢幕截圖中提取具體代幣。
- 在撰寫最終散文之前,先寫入
blueprint.json和sources.json。 - 使用
references/DESIGN_TEMPLATE.md中精確的九段式合約來綜合DESIGN.md。 - 在最終確定之前進行自我審查:
- 透過觀察到的元件配方提高實作實用性;
- 當有螢幕截圖支援時,改善定性主題語言;
- 將提取的證據與螢幕截圖推斷的行為和實作指導分開;
- 移除在提取的 CSS 中不可見或不存在的一般產品主張;
- 保留目標專案的領域、資訊架構和核心工作流程;僅轉移視覺語言;
- 在重複使用前抽象化來源領域的元件,例如將「播放清單」改為「集合清單」或將「專輯封面」改為「視覺縮圖」;
- 除非標記為定性或推斷,否則將不支援的範例保留在
DESIGN.md之外。
- 根據範本和證據驗證最終的 Markdown。
- 在最終回應中報告輸出路徑和任何信心度警告。
URL 安全性
當 URL 不安全或超出範圍時,使用簡短說明拒絕請求:
- 不是
https:// - localhost、loopback、私有 IP、link-local 或私有主機名稱
- 需要驗證或付費的內容
- 非 HTML 回應
- 無法存取、空白或重新導向次數過多
- 繞過登入、抓取私有儀表板、提取 Figma 或複製可執行程式碼的請求
請勿追蹤表單、登入流程、結帳流程、破壞性動作或用戶特定頁面。
提取
如果 scripts/extract-blueprint.mjs 存在且相依項目可用,請先執行它並將其產出作為事實來源。如果不可用,則手動使用可用的瀏覽器、HTTP 和檔案系統工具來收集等效的證據。
優先選擇確定性證據而非視覺猜測:
- 顏色必須來自 CSS、計算樣式、SVG 屬性或取樣的螢幕截圖。
- 字型系列必須來自 CSS、計算樣式或
@font-face。 - 斷點必須來自 media query,或明確標記為從螢幕截圖推斷。
- 間距、圓角半徑、陰影、邊框和動畫必須引用 CSS 或計算樣式。
- 如果只有螢幕截圖可用,請將觀察保留為定性,並避免發明數值代幣。
在建立或編輯 blueprint.json 和 sources.json 之前,請閱讀 references/EXTRACTION_SCHEMA.md。
當提取部分完成或受阻時,請閱讀 references/FAILURE_MODES.md。
在將生成的 DESIGN.md 視為好範例或可發布的輸出之前,請閱讀 references/QUALITY_CHECKLIST.md。
合成規則
使用使用者要求的語言。如果未要求語言,則以英文撰寫 DESIGN.md。
最終的 DESIGN.md 必須包含以下順序的精確 H2 章節:
1. 視覺主題與氛圍2. 色彩調色盤與角色3. 排版規則4. 元件樣式5. 佈局原則6. 深度與層次7. 注意事項8. 響應式行為9. 代理提示指南
請勿在 DESIGN.md 中新增「來源」、「信心度」或「附錄」章節。將信心度警告放在最終的助手回應或證據包中。
DESIGN.md 中的每個具體代幣都必須可追溯到 blueprint.json。將不確定的發現標記為定性觀察而非精確值。
請勿使最終文件成為枯燥的代幣傾印。將證據轉換為可重複使用的設計指導:
- 僅當從擷取的頁面中可見時,才命名網站原型,例如「儀表板外殼」、「編輯登陸頁面」、「商業目錄」、「媒體播放器」或「文件網站」。
- 謹慎對待知名品牌:除非擷取的頁面、CSS 或計算樣本支援,否則不要匯入眾所周知的產品模式、品牌傳說或官方系統聲明。
- 保留目標應用程式的領域模型、資訊結構和使用者工作流程。來源網站提供視覺語言,而非將目標專案轉換為來源網站產品類別的許可。
- 將可轉移的設計特徵與不可轉移的來源領域物件分開。轉移顏色、排版、間距、密度、形狀、表面分層和互動感覺;除非使用者明確要求該產品結構,否則不要轉移領域物件,例如曲目、播放清單、購物車、文件頁面、儀表板或結帳流程。
- 當來源元件有用時,將其表述為領域中立的模式:「集合/導覽側邊欄」而非「播放清單側邊欄」、「重複內容項目」而非「曲目行」、「視覺縮圖或重點區塊」而非「專輯封面」。
- 在散文中保留觀察到的代幣、螢幕截圖推斷的佈局行為和實作指導之間的區別。
- 將觀察到的重複元件轉變為緊湊的配方:用途、表面、排版、間距、圓角半徑、邊框/陰影、互動。
- 優先選擇可跨頁面一般化的模式,而非一次性裝飾值。
- 區分提取的斷點和實作便利性斷點。
- 使用「7. 注意事項」來提供簡潔的限制條件,以防止可能的誤讀,包括過度使用強調色、新增不支援的元件、匯入來源網站的領域模型,或改變目標專案的產品類別。
- 使「9. 代理提示指南」實用:快速顏色參考、範例元件提示,以及當證據支援時的迭代指導。
- 保持指導為「受啟發」且「可立即實作」,而無需指示代理複製目標網站。
驗證
在完成之前:
- 確認
DESIGN.md存在於預期的輸出路徑。 - 確認 H2 章節名稱和順序與
references/DESIGN_TEMPLATE.md相符。 - 確認每個十六進位顏色、字型系列、斷點、圓角半徑、陰影和間距值都出現在
blueprint.json中,或明確標記為推斷/定性。 - 在建立範例或發布候選版本時,確認輸出符合
references/QUALITY_CHECKLIST.md。 - 如果驗證失敗,請修正證據或將不支援的值降級,然後再呈現結果。