Communitygithub.com

ethanplusai/astro-conversion-kit

稽核上線或暫存網站,並在發佈前後報告可能出錯的地方——包括爬蟲與清單、索引性、網域轉移的重新導向、連結、圖片、表單、無障礙性、效能、分析、內容合理性,以及全頁截圖供視覺檢查。唯讀:絕不提交表單、點擊控制項或修改任何內容。

astro-conversion-kit 是什麼?

這是一個專為網站上線前後設計的唯讀稽核工具技能,能自動爬取暫存或正式上線的網站,並生成一份詳細的可行性報告。它涵蓋了索引性、重新導向、連結、圖片、表單、無障礙性、效能、分析、內容合理性以及全頁截圖等十個維度,幫助開發者或專案經理在網域轉換或上線前發現潛在問題。支援 Node.js 環境,並可搭配 Playwright 執行瀏覽器層級的檢查(如無障礙 axe 測試、Lighthouse 效能評分)。技能的核心原則是「只報告,不修改」,所有發現都以證據(如 URL、狀態碼、截圖路徑)呈現,並明確標示未檢查的項目。它適合在網站上線前後、QA 稽核、或網域轉移時使用,能大幅減少人工作業的遺漏。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ethanplusai/astro-conversion-kit/tree/HEAD/skills/launch-audit

在你喜歡的 AI 中提問

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

說明文件

launch-audit

爬取暫存或正式上線的網站,收集證據,並提供一份可供人員執行的報告。

黃金規則

唯讀,僅報告。 本技能不會編輯網站、提交表單、更改設定、寫入提供者 API,或點擊破壞性控制項。每個發現都是一個附有證據的建議,供人類決策者執行。

從此延伸出另外四條規則,您需要在呈交報告時再次說明:

  1. 沒有隱藏的限制。 每個範圍限制——最大頁數、深度、抽樣頁面、無法驗證的外部資源——都會在 未檢查項目 中按名稱報告。
  2. 每個發現都有證據。 一個 URL、一個狀態碼、一個標頭值、一個截圖路徑。
  3. 未檢查項目 絕不等於通過。 您必須逐字向人類重複該區段內容。
  4. 跳過不等於通過。 每個被跳過的檢查都有原因。

1. 收集輸入

詢問您尚未知道的資訊。不要猜測以下任何一項。

  • 要稽核的 URL。 必要。
  • 這是暫存還是正式環境? 暫存目標預期為 noindex;傳遞 --staging 可將全站 noindex 從阻礙降級為資訊性。在正式目標上,它是阻礙。
  • 這是否要取代現有網站? 如果是,請取得舊網站的 URL 並傳遞 --old-url。這必須在兩個網站仍然可訪問時進行——通常在 DNS 遷移之前。這是唯一能自動建立重新導向對應表的時機。
  • 可能洩漏到建置中的任何開發或暫存主機名稱。 使用 --dev-host 傳遞每個主機名稱。洩漏的主機名稱是一個阻礙,且稽核只能搜尋已知的名稱。
  • 是否已安裝 Playwright? 如果已安裝,則執行瀏覽器層級:截圖、axe 無障礙檢查、Lighthouse,以及分析是否確實觸發。如果未安裝,請說明——報告中約有三分之一的部分不會執行,報告會明確指出是哪三分之一。

2. 執行腳本

執行它;永遠不要讀取它的原始碼,也不要重複實作它的功能。它所做的一切都是唯讀的:它會擷取頁面、渲染其中一部分,並將結果寫入磁碟。

node scripts/launch-audit.mjs --url <url> [--old-url <url>] [--dev-host <host>] [--staging] [--browser auto|on|off] [--out <dir>]

路徑是相對於此技能自己的目錄——從該目錄執行命令,並使用 --out 將結果寫入工作目錄。

其他旗標:--max-pages(預設 200)、--max-depth(預設 4)、--ignore-robots、--baseline <path to an earlier baseline.json>、--json、--config <path>、--help。

瀏覽器層級預設為 auto:如果存在 Playwright 則執行,否則跳過並說明原因。使用 --browser on 將其缺失視為錯誤,使用 off 則刻意跳過。

無論有多少發現,它都會以退出碼 0 結束——這是報告,不是閘門。退出碼 2 表示使用錯誤。如果它建議安裝 Playwright,請轉達該建議;未經要求不要安裝任何東西。

3. 讀取結果包

腳本會印出結果包的路徑並寫入:

report.md        依維度分類的發現,然後是營運與存取準備度,最後是未檢查項目
findings.json    相同的發現,機器可讀格式
crawl.json       每個到達的 URL、其狀態、深度以及發現方式
baseline.json    上線後進行比對的快照
manifest.json    此執行寫入的確切檔案清單
redirects.csv    每個舊 URL 一行(僅在搭配 `--old-url` 時產生)
screenshots/     每個渲染頁面的桌面、平板和手機截圖(僅瀏覽器層級)
lighthouse/      Lighthouse 測量的分數和指標,按頁面和裝置類型分類(僅瀏覽器層級)

先讀取 report.md:阻礙,然後是未檢查項目,然後是其他所有內容。了解哪些項目未被檢查,會改變您閱讀乾淨區段的方式。references/reading-the-report.md 包含嚴重性表格以及如何使用結果包。

4. 自行執行三個判斷審查

腳本為三項任何檢查器都無法完成的審查收集證據。在呈現任何內容之前,請完成所有三項。每個審查都有參考檔案;請在審查之前閱讀,而不是之後。

截圖 — 請參閱 references/reading-the-report.md。並排打開每個渲染頁面的手機和桌面截圖,檢查版面破損、水平溢出、遺失圖片、文字被裁剪或截斷、在手機寬度下未收合的導航,以及上線時殘留的佔位圖片。如果沒有執行瀏覽器,就沒有截圖,此審查也未執行——請直接說明,不要讓其缺失被誤解為通過。

表單 — 請參閱 references/forms.md。根據報告中的證據,將清查中的每個表單分類為第一方、第三方或無效。然後告訴人員哪些表單需要測試提交,以及需要確認的具體事項:成功訊息、通知是否送達受監控的收件匣(而非垃圾郵件資料夾),以及記錄是否出現在預期位置。您絕對不要親手提交表單。

聯絡資訊 — 請參閱 references/content.md。將報告找到的所有電話號碼、電子郵件地址和郵寄地址收集到一個清單中,檢查 tel: 連結是否撥打旁邊顯示的號碼,並詢問網站所有者哪些是現行的。一個留在某個頁面上的第二個電話號碼會導致一半的來電無處可去,而從外部無法判斷哪個是正確的。

5. 呈交報告

按照報告的結構來總結您的摘要,並以結論而非數字開頭。來自同一個模板的四十個低嚴重性發現只是一個修復;一個阻礙就是一個上線延遲。

  1. 什麼阻礙了上線。 每個阻礙一句簡潔的陳述。如果沒有,請直接說明。
  2. 按維度分組的發現,每個維度內按最嚴重程度排序。 描述整體情況,而不僅僅是數字:「十四個頁面缺少描述——這來自同一個模板,所以是一個修復」。指出修復方式而非失敗本身,並用淺顯易懂的語言說明代價。
  3. 營運與存取準備度。 這些是網站所有者的工作,並且是毀掉上線日的禍首。逐條朗讀 [human] 項目並為每個項目取得答案。
  4. 未檢查項目,逐字呈現。 每一行,未經編輯,誠實地介紹:「以下是此稽核未檢查的項目」。永遠不要摘要它,永遠不要稱其為次要,也永遠不要因為清單很長而省略它。

永遠不會執行的兩個檢查

每個報告都以這兩項結尾,因為它們是傷害最大且任何爬蟲都無法觸及的兩個失敗點:

  • 文案與原始文件比對。 本技能不會比較網站上的文字與已簽核的文案。必須有人同時比對兩者並閱讀。
  • 頁面與約定範圍比對。 本技能不知道哪些頁面原本應該存在。一個從未建置的頁面對爬蟲來說是看不見的。

在呈交報告時,請將這兩項都說出來。一個網站可能通過此技能中的所有檢查,但仍缺少約定中一半的內容。

參考資料

在解釋某個維度的發現之前,請先閱讀該維度的參考檔案。每個檔案涵蓋發現的意義、為什麼在上線時重要、如何在常見技術堆疊上修復,以及檢查無法告訴您的事項。

檔案涵蓋範圍
references/reading-the-report.md嚴重性、截圖檢查清單、未檢查項目、向客戶報告
references/indexability.md爬蟲與清單、noindex、robots.txt、Sitemap、正規化標籤、hreflang
references/host.mdHTTPS、憑證、www vs apex、重新導向、安全性標頭、404 頁面
references/head.md標題、描述、標題標籤、圖示、社交卡片、結構化資料
references/links.md損毀與無法驗證的連結、連結文字、mailto: 和 tel:
references/images.md替代文字、尺寸、載入策略、大小、格式、影片
references/forms.md清查、端點、分類以及測試提交
references/accessibility.mdHTML 基礎、axe 違規以及十五分鐘的手動檢查
references/performance.md提示與測量、Lighthouse 以及工作排序
references/analytics.md標籤偵測、觸發、同意以及驗證檢查
references/content.md佔位文字、過期日期、聯絡資訊變體
references/redirects.md轉換映射表、redirects.csv 以及編寫規則
references/ops.md電子郵件驗證、法律頁面以及準備度檢查清單

執行位置

pre-launch 是在部署前針對儲存庫執行的閘門。launch-audit 是本技能:它只報告,絕不阻擋。post-launch 在 DNS 遷移後立即執行,並將正式環境與本稽核寫入的基準進行比對。請依此順序執行。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ethanplusai/astro-conversion-kit

Crawl a live website, read-only and paced, into a capture/ folder that a rebuild is checked against — every page's HTML, text and head tags, redirects with every hop, links, third-party scripts, the media set, stylesheets, fonts, logo and icons, feeds, templates, and live screenshots at three widths. Use before converting or rebuilding a site, when asked to crawl, capture, snapshot or inventory a site, or when a capture stopped on blocks and needs resuming.

ethanplusai/astro-conversion-kit

Convert a live website (WordPress first; Drupal, Webflow, Squarespace, Wix and static sites too) into a static Astro site with the same URLs, content, head tags, media, redirects and look, proven by parity gates and a pixel-level visual review, ending in one pull request, a noindexed staging deploy and a launch runbook. Use when asked to convert, rebuild, migrate or clone a site to Astro, when handed a site URL with this kit's link, to resume a conversion from .conversion/state.json, or with --apply <id> to apply one suggestion as a proposal.

ethanplusai/astro-conversion-kit

Freeze a site capture into baseline/ and prove an Astro build matches it — every route, redirect (one hop, through a simulation of the host), SEO head field, visible text, internal link, media file, sitemap entry, feed, form, third-party script and security header — with approved differences in exceptions.json and improvements in proposals.json. Use after a capture to build the baseline, when compiling redirects.csv for Vercel or Cloudflare, before calling any conversion page done, when a gate fails and needs reading, or to check a staging deploy against the baseline.

ethanplusai/astro-conversion-kit

The moment DNS moves and for the thirty days after — verifies the cutover (DNS propagation, certificate, http and www redirects, the noindex, robots and sitemap on the live host, every redirect the audit mapped, forms, analytics, the staging copy, the old host, security headers), diffs production against the pre-launch baseline, and schedules the watch. Use when asked did the launch work, is the site live, what should I check after launch, the domain just switched, or when a site went live in the last month and something looks wrong. It is read-only and exits 0 whatever it finds.

相關技能