Communitygithub.com

mahmouddido262-tech/website

將現有網頁重建為可運作的本地端程式碼,保留真實內容、素材、響應式版面與互動效果。適用於網站複製、重建或逆向工程,包含 Framer 網站與動畫頁面。

website 是什麼?

此技能允許 AI 代理將提供的網頁(包括 Framer 網站和具有動畫的頁面)重建為可編輯的本地端程式碼。它強調匹配來源的內容與行為,而不是依賴截圖或 iframe 作為實作。技能詳細說明一個分為四步驟的工作流程:首先,將來源 URL 映射到本地端路由和檔案;其次,透過在不同視窗尺寸和互動狀態下觀察來收集證據;第三,使用真實內容、字型和素材建立完整的第一版;最後,比較並修復差異直到準確。它在 Claude Code、Cursor、Codex 等基於終端機或 IDE 代理的環境中運作最佳,使用瀏覽器進行檢查,並依賴特定檔案結構(如 `src/components/sites/<site>/`)來組織複製的網站。主要優點在於其結構化的方法,確保高保真重建,同時保持程式碼可編輯,最終交付物包含路線圖、比較結果和運作說明。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mahmouddido262-tech/website/tree/HEAD/.agents/skills/clone-website

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

複製一個網站

在當前應用程式中重建所提供的頁面。在添加新的設計方向之前,應先與來源保持一致。交付可運作、可編輯的程式碼:截圖、iframe 和下載的生產環境包裝僅供參考,而非最終實作。

1. 規劃工作

閱讀專案說明、實際的框架/腳本以及現有路由。使用可用的瀏覽器開啟來源 URL。在可行時,優先使用直接 HTTP、素材工具或 API 進行提取;使用瀏覽器來確認外觀和行為。

記錄一份簡短的來源到本地端路由對應表,以及每個頁面擁有的檔案。遵循應用程式的慣例;在此範本中,使用 src/app/、src/components/sites/<site>/、public/sites/<site>/ 和 docs/research/<site>/。為來源、頁面和下載項目提供不同的名稱;當可讀名稱衝突時,添加連接埠或 URL 雜湊。

  • 第一個根複製可能會取代未經修改的範本首頁。
  • 對於來自同一來源的多個頁面,保留來源的路徑名稱。查詢/片段變體通常代表同一路由的不同狀態;請重現這些狀態。
  • 保留現有已建立的路由/素材。僅在要求時更新它們;在取代任何內容之前,先解決未經請求的路由衝突。
  • 在向現有複製添加頁面時,擴展其版面與全域樣式,但不要取代現有頁面使用的樣式。
  • 除非使用者想要一個合併的應用程式,否則為不同的來源使用不同的應用程式。合併的網站需要不同的路由前綴以及作用域化的字型、樣式和版面。
  • 使用框架支援的機制來轉義與框架語法(_、@、括號、圓括號)衝突的字面 URL 區段,然後驗證實際請求的 URL。

現有的複製品是很好的起點:將它們與當前來源進行比較,並記錄重複使用了哪些內容。當每個請求的 URL 都有了目標位置且檔案所有權明確時,即完成此步驟。

2. 在建立之前先觀察

在桌面和行動裝置寬度下檢查整個頁面。從上到下滾動以載入延遲媒體並顯示粘性/固定場景。然後練習選單、標籤頁、摺疊面板、輪播、懸浮狀態和主要連結。區分由滾動、點擊、懸浮或時間驅動的變化;用點擊來模擬滾動驅動的區塊是完全不同的做法。

將每個觀察結果視為某個規則的一個樣本。讀取宣告值(計算樣式、CSS 變數、函式庫的即時選項),而不是從一次渲染中推斷它們,並變化視窗寬度(包括比設計更寬的寬度)、視窗高度、輸入和狀態,直到你了解每個變化的驅動因素。使用訪客實際使用的輸入(滾輪、觸控、鍵盤、指標)來驅動頁面;腳本化的滾動會繞過附加在這些輸入上的行為,例如平滑滾動。

保存標有視窗、滾動位置和互動狀態的來源截圖。捕捉替代狀態的內容/素材。保持一份簡潔的頁面摘要:區塊順序、版式、版面測量值、素材對應和互動。僅在對獨立建構者有幫助時才添加區塊摘要。

閱讀檢查參考資料以了解提取和狀態比較的資訊。對於Framer 生成的頁面、粘性場景、顯示動畫或動畫媒體,請閱讀 Framer 與動畫。

使用來源的真實文字以及其實際載入的檔案:字型、圖片、SVG 和影片。來自其他供應商或圖示集的同名替代品具有不同的度量或形狀。測量重要的幾何形狀/計算樣式。在將視覺效果重建為 HTML 之前,檢查分層圖像和媒體元素。追蹤來源 URL → 本地端素材路徑,並驗證內容類型/尺寸:一個 .png URL 可能回傳 AVIF。

當每個區塊和有意義的狀態都有足夠的證據來建構,且已識別出不可用的細節時,即完成此步驟。大量的 DOM 轉儲並不能取代實際查看頁面。

3. 建立完整的第一版

首先建立字型、頁面寬度、顏色、素材、路由、頁面級行為和共享元件。為每個共享元件建立其所有觀察到的狀態(懸浮、焦點、斷點),以便建構者可以直接重用。重用合適的元件。優先使用 CSS 處理版面/簡單動畫,並在來源行為需要時使用動畫函式庫。

使用真實內容建構連貫的區塊。在共享檔案擁有者確定後,將獨立的頁面/區塊委派出去。為建構者提供截圖、相關測量值/狀態說明、素材路徑、目標檔案和具體的完成標準。包含精確檔案引用的簡潔摘要就足夠了;不需要固定的代理數量或每個元件的文書工作。

重現範圍內的互動。保留真實的外部目標連結。當本地端路由包含在範圍內時,將連結改寫為本地端路由;將超出範圍的目標保持指向來源,並揭露它們。可見的控制項必須執行它們所承諾的行為。

在整合完一個片段後,執行適當的專案檢查。當每個請求的區塊/路由都能使用實際素材渲染,且重要的控制項都能運作時,即完成此版本。

4. 比較、修復、重複

在相同的視窗、滾動位置和狀態下開啟來源/本地端頁面。讓字型、媒體和顯示動畫穩定下來。在步驟 2 發現規則變化的任何地方,以及在比設計更寬的視窗下,檢查整個頁面;使用真實輸入來判斷滾動和指標行為。並排比對可以找出偏差;全尺寸區塊可以確立細節。

首先修復最大的可見差異:幾何形狀、缺失的區塊/圖層、版式/換行、素材裁剪,然後是間距和動畫。重新檢查受影響的視圖。比較動畫區域的初始、活動和穩定狀態,必要時包括反向滾動。

演練真實的本地端工作流程:在複製的路由之間導航,行動選單,標籤頁/摺疊面板狀態,輪播邊界,主要操作,媒體控制項,以及觀察到的與滾動相關的轉換。檢查執行時期錯誤、缺失素材和水平溢出。在添加頁面時,驗證現有路由仍然正常運作。在這些邊界上進行幾次瀏覽器檢查,而不是對類別名稱進行斷言。

執行專案的生產環境檢查。完成需要成功的建置以及渲染後的比較。精確說明剩餘的差異,而不是將未經檢查的結果稱為像素完美。

交付

回傳預覽/執行說明、來源到本地端路由對應表、具代表性的桌面/行動裝置比較、實際執行的檢查,以及剩餘的視覺/功能差距。在維護可重複使用的範本時,將參考用的複製品保留在分開的應用程式中。

相關技能