Community寫作與編輯github.com

ethanplusai/astro-conversion-kit

DNS 轉移後的三十天內,驗證轉換是否成功(DNS 傳播、憑證、HTTP 與 www 重新導向、noindex、robots 與 Sitemap、稽核中所有的重新導向、表單、分析工具、測試環境副本、舊主機、安全標頭),並比較正式環境與上線前的基準差異,排定監控時程。

astro-conversion-kit 是什麼?

這個技能專門用於網站上線後的檢查與監控,特別是在 DNS 轉移後的關鍵三十天內。它能自動驗證轉換是否確實生效,包括 DNS 傳播、SSL 憑證、HTTP/HTTPS 重新導向、noindex 與 robots 設定、Sitemap 可用性、所有稽核時定義的重新導向、表單端點、分析工具是否正常運作,以及安全標頭是否符合預期。同時,它會將正式環境的狀態與上線前的基準(baseline.json)進行比對,找出任何不應發生的變動。 此技能僅為唯讀操作,不會修改任何設定或發送通知,只會產出報告與 watch.json。它支援 cutover 與 watch 兩種模式:cutover 在 DNS 轉移後立即執行,確認上線是否真的完成;watch 則在後續三十天內每天執行一次,檢查是否有任何偏離。技能會明確標示出阻斷性問題(blockers)與高優先級發現,並要求人工處理六項必要項目(如提交 Sitemap、確認 Search Console 屬性等)。 它適用於 Claude Code、Cursor、Codex 等開發者工具平台,幫助開發者與 AI Agent 使用者確保網站上線過程順利,避免遺漏關鍵環節。

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

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

上線後監控

監控指令。在 DNS 轉移的那一刻開始執行,然後每天執行一次,持續三十天。它只會產生報告;不會阻止、不會修復、也不會主動通知任何事項。

唯一規則

阻斷性問題優先閱讀,最後才宣布。 在上線的任何宣布之前——無論是電子郵件、貼文、客戶電話——必須等到這份報告完全乾淨才能進行。宣布是上線過程中唯一無法收回的步驟,而這裡的兩個阻斷性問題正是上線尚未真正發生的兩種狀態:一個任何人都無法通過的憑證,以及一個告訴搜尋引擎忘記該網站的 noindex。這兩種情況在你已經登入的瀏覽器中看起來都很正常。

如果有人要求你在阻斷性問題仍然存在時宣布,請直接說明阻斷性問題是什麼以及它會造成什麼損失,不要委婉修飾。

唯讀

此技能為唯讀操作。它會擷取正式網站、測試主機、舊主機以及重新導向對應表中的網址,並向四個公開 DNS 解析器查詢網域指向何處。它只會寫入兩項資料,而且都是操作者自己的記錄:報告套件以及其中的 watch.json。它絕不會編輯網站、提交表單、切換設定、呼叫提供者 API 或碰觸 DNS。

以下是三條規則,你在報告時必須重申:

  1. 每個發現都需要證據。 一個網址、一個狀態碼、一個標頭、一個 DNS 回應、一行 CSV 資料。
  2. 跳過不等於通過。 你沒有提供的每個輸入都會成為「未涵蓋」中的一個命名行。
  3. 「未涵蓋」永遠不是通過。 你必須將該區塊原封不動地重複給人類。

兩種模式

模式時機回答的問題
--mode cutoverDNS 轉移的那一刻,以及任何修復之後上線是否真的發生
--mode watch每天一次,第 1 到 30 天今天到期的項目是什麼,是否有任何偏離

先執行 cutover,修復它發現的問題,再次執行直到乾淨為止,然後再宣布。同一天開始監控。

1. 收集輸入

你遺漏的每個輸入都會變成一個無法執行的檢查。請一一詢問,不要猜測。

  • 正式環境網址。 必要。
  • baseline.json — 來自 pre-launch 套件,或是在轉換前針對測試環境執行 launch-audit 所產生的。這是用來衡量「是否有任何變動」的基準。沒有它,四個檢查就無從比較,第五個檢查則會回退到 --expect-analytics。所有這些檢查都會明確指出缺失。
  • redirects.csv — 來自使用 --old-url 建置的 launch-audit 套件。每一行都會以當初寫入時的網址重新請求。
  • 舊網站的網址(如果要取代的話)。
  • 測試環境網址,以便執行確認測試環境副本現在已被封鎖。
  • 分析測量 ID,用於沒有基準的情況。
  • 預期應設定的 DNS 記錄,以 apex= 和 www= 值提供。

如果你沒有基準或重新導向對應表,請在執行前說明,而不是事後才說:它們來自前兩個階段,而轉換之後就無法再重新建立。

2. 執行轉換檢查

執行腳本;不要閱讀原始碼,也不要重新實作它所做的事情。

node scripts/post-launch.mjs --mode cutover --url <production url> \
  --baseline <path to baseline.json> --redirects <path to redirects.csv> \
  --old-url <old site url> --staging-url <staging url> \
  --expect-analytics <measurement id> --expect-dns apex=<ip>,www=<host> --out <dir>

路徑相對於此技能自己的目錄——請從該目錄執行指令。套件會寫入目前工作目錄:如果沒有 --out,它會落在 ./website-launch/<host>-post-launch-<date>/,這在使用上述指令時意味著此技能自己的目錄內。請使用 --out 將套件寫入你想要的工作位置。

其他旗標:--dev-host <host>(可重複)、--browser auto|on|off、--out <dir>、--config <path>、--json、--help。

結束代碼: 永遠是 0,無論轉換有多糟。2 表示使用錯誤或 I/O 失敗。結束代碼為 0 絕不代表「上線沒問題」——這只是報告,不是把關。請閱讀報告內容。

3. 按此順序閱讀報告

references/reading-the-report.md 包含套件佈局。references/cutover-day.md 說明了當天執行順序的原因——在開始亂序修復之前請先閱讀。

  1. 阻斷性問題。 以粗體印刷,無論它們來自哪個步驟,都放在最前面。在修復這些問題之前,以及告知任何人網站已上線之前,必須先處理。
  2. 高優先級發現。 重新導向偏離、遺失的頁面、無效的表單端點、仍在運作的測試環境副本、仍在提供服務的舊主機——這些都是正在導致流量或諮詢流失的問題。這是今天的工作,不是本週的工作。
  3. 基準差異。 references/baseline-diff.md 說明了哪些欄位在上線時本應變動,哪些絕不應變動。不要把整個差異都說成是損害;只報告那些沒有人要求變動的部分。
  4. 中等與資訊。 閱讀它們。說明它們是什麼。今天不要修復它們。
  5. 未涵蓋,逐字照錄。 每一行,未經編輯,包括兩個爬蟲無法看到的項目。

然後重新執行,並持續重新執行直到阻斷性問題消失。

4. 處理六項人工項目

它們會在每次執行結束時列出,而且不是可選的:

提交 Sitemap(Search Console 和 Bing)   ·   為熱門頁面請求索引
確認新的 Search Console 屬性          ·   即時驗證分析工具
保持舊主機在線並啟用重新導向           ·   僅在此項乾淨後才宣布

絕不要替別人打勾。「端點回傳 200」不等於「有人收到了測試提交」,而「標籤存在於 HTML 中」也不等於「即時出現了點擊」。

5. 每天執行監控

node scripts/post-launch.mjs --mode watch --url <production url> --day <n>

它會列出逾期項目、今天到期的項目以及未來七天即將到期的項目,然後重新執行自動化部分並記錄此次執行。references/thirty-day-watch.md 包含了完整的排程、每天在 Search Console 和分析工具中應查看的內容,以及「健康」的狀態定義,這樣正常的發布後流量下降就不會被報告為災難。

如果省略 --day,它會從第一次執行開始計算天數。如果某天監控從未執行,該天的自動化任務會持續標示為逾期,直到有執行涵蓋該日;人工任務則會持續標示為逾期,直到有人手動清除,因為腳本無法證明有人打開了 Search Console。

6. 第 30 天

有兩件事需要處理,而且都不是自動化的:

  • 回顧檢討。 哪些地方退步了、重新導向對應表遺漏了什麼、應該在 pre-launch 閘門中加入哪些項目,以免下次上線重蹈覆轍。請記錄下來。
  • 舊主機決策。 只有在 Search Console 顯示不再抓取舊網址並且重新導向已生效至少三十天後,才能停用舊主機。在兩項條件都滿足之前,請繼續為它付費。過早關閉它會浪費舊網站所累積的所有連結。

7. 呈現結果

以決策為開頭,而不是數字統計。

  1. 裁決。「轉換有一個阻斷性問題」或「轉換乾淨順利」。一句話。
  2. 阻斷性問題,並說明修復方式。
  3. 正在流失的項目,按原因分組:高優先級發現,用白話說明。
  4. 與基準相比未被要求的變動。
  5. 未涵蓋,逐字照錄。
  6. 人工項目,說明哪些已完成、哪些未完成。
  7. 是否可以宣布上線。 明確說明可以或不可以。

兩個永遠不會執行的檢查

  • 文案與原始文件比對。 沒有人比較正式頁面上的文字與最終確認的文案。必須由人親自閱讀兩者。
  • 頁面與約定範圍比對。 沒有人知道哪些頁面本來應該存在。從未被建立的頁面在這裡是完全看不見的。

參考文件

檔案涵蓋內容
references/cutover-day.md當天的有序腳本,以及每個步驟為什麼排在該位置
references/thirty-day-watch.md排程、在 Search Console 和分析工具中應讀取的內容、健康狀態的定義、舊主機規則
references/baseline-diff.md每個差異欄位,哪些變動在上線時是預期的、哪些不是
references/reading-the-report.md套件結構、嚴重性等級、ID、如何分類處理

這個技能的位置

pre-launch 在部署前對儲存庫進行閘門檢查和阻斷。launch-audit 爬取測試或正式網址並產出報告。post-launch 就是這個:轉換以及之後的三十天監控。請按順序執行它們——這個技能所需的基準和重新導向對應表只能由前兩個技能產生,而且只能在舊網站仍在線時進行。

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

Audit a live or staging website and report what would go wrong at launch — crawl and inventory, indexability, redirects for a domain cutover, links, images, forms, accessibility, performance, analytics, content sanity, and full-page screenshots for a visual pass. Use before or right after a site launch, when asked to QA, audit, or review a website, when a site is moving to a new domain, or when somebody asks whether a site is ready to go live. Read-only: it never submits a form, clicks a control, or edits anything.

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.

相關技能