Communityライティング&編集github.com

ethanplusai/astro-conversion-kit

DNS移行直後から30日間、カットオーバーの検証(DNS伝搬、証明書、HTTP/ wwwリダイレクト、noindex、robots、サイトマップ、監査でマッピングされた全リダイレクト、フォーム、分析、ステージングコピー、旧ホスト、セキュリティヘッダー)を実施し、本番環境とローンチ前のベースラインを比較、監視をスケジュールします。「ローンチは成功した?」「サイトはライブ?」「ローンチ後に何を確認すべき?」「ドメインが切り替わった」「先月サイトが公開されたのに何かおかしい」といった質問に使います。読み取り専用で、結果にかかわらず終了コード0を返します。

astro-conversion-kit とは?

このスキルは、DNS移行直後から30日間にわたり、ウェブサイトのローンチ(カットオーバー)が正しく完了したかを検証し、日々監視するためのツールです。主に `post-launch` と呼ばれるフェーズを担当し、DNS伝搬、SSL証明書の有効性、HTTP→HTTPSリダイレクト、wwwリダイレクト、noindexメタタグ、robots.txt、サイトマップの有無、監査で定義された全リダイレクトの動作、フォームエンドポイント、アナリティクス、ステージングサイトの封鎖、旧ホストの状態、セキュリティヘッダーなど、多岐にわたるチェックを自動実行します。 最も重要な特徴は「読み取り専用」であることです。このスキルはサイトの修正や設定変更は一切行わず、結果をレポートとして出力するのみです。また、ブロッカー(証明書エラー、noindexの誤設定など)が存在する場合、それが解消されるまでローンチのアナウンスを許可しません。これは、一度行われたアナウンスは取り消せないという原則に基づいています。 このスキルは `cutover`(カットオーバー直後の確認)と `watch`(30日間の日次監視)の2つのモードで動作します。カットオーバーモードでは、取得したベースラインとリダイレクトマップを用いて、本番環境とステージング/旧環境の差分を詳細に比較します。監視モードでは、日々のタスク(検索コンソールの確認、アナリティクスの監視など)をスケジュールし、自動チェックを再実行してドリフトを検出します。 このスキルはClaude Code, Cursor, CodexなどのAIエージェント環境で動作し、開発者や運用担当者に代わって複雑なローンチ検証を代行します。他のスキル(`pre-launch`, `launch-audit`)と連携し、それらが生成したベースラインとリダイレクトマップを入力として利用します。結果は構造化されたレポートとして出力され、ブロッカー、高重要度の課題、ベースラインとの差分、未カバーの項目が明確に区分されます。

対応~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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

post-launch(ポストローンチ)

監視。DNSが移行した瞬間から、その後30日間、1日1回実行されます。報告のみを行い、決してゲート(ブロック)したり、修正したり、何かを通知したりしません。

唯一のルール

ブロッカーは最初に読み、最後にアナウンスする。 ローンチに関する何も(メール、投稿、クライアントへの電話)は、このレポートがクリーンになるまでアナウンスされません。アナウンスはローンチのステップの中で唯一、取り消しが効かないものです。そして、ここでの2つのブロッカーはまさに、ローンチが実際に完了していない状態を示しています。それは「誰も通過できない証明書」と「検索エンジンにサイトを忘れるよう指示するnoindex」です。どちらも、すでにログインしているブラウザでは問題なく見えてしまいます。

もし誰かがブロッカーが存在する状態でアナウンスを依頼してきたら、ブロッカーが何であり、それがもたらすコストを明確に述べ、言葉を和らげてはいけません。

読み取り専用

このスキルは読み取り専用です。ライブサイト、ステージングホスト、旧ホスト、およびリダイレクトマップ内のURLを取得し、4つのパブリックDNSリゾルバにドメインのポイント先を問い合わせます。書き込むものは2つだけで、どちらもオペレーター自身の記録です:レポートバンドルと、その中の watch.json です。サイトを編集したり、フォームを送信したり、設定を変更したり、プロバイダーAPIを呼び出したり、DNSに触れたりすることは決してありません。

以下の3つのルールに従い、報告時にもこれらのルールを再提示します。

  1. すべての結果に対するエビデンス。 URL、ステータス、ヘッダー、DNS応答、CSVの1行。
  2. スキップは合格ではない。 提供されなかったすべての入力は、「対象外」 という名前の行になります。
  3. 「対象外」は決して合格ではない。 そのセクションを人間にそのまま繰り返します。

2つのモード

モード実行タイミング回答する内容
--mode cutoverDNSが移行した瞬間、および修正後ローンチは実際に発生したか
--mode watch1日1回、1〜30日目今日の期限は何か、何かドリフトしていないか

cutover を最初に実行し、見つかった問題を修正し、クリーンになるまで再実行し、その後アナウンスします。同日に監視を開始します。

1. 入力を収集する

省略した入力ごとに、実行できないチェックが発生します。それぞれを確認し、推測しないでください。

  • 本番環境のURL。 必須。
  • baseline.json — pre-launch バンドルから、またはカットオーバー前にステージングに対して実行した launch-audit から取得します。これが「何か変わったか」を測定する基準です。これがない場合、4つのチェックは比較対象がなくなり、5つ目のチェックは --expect-analytics にフォールバックします。それらはすべて、その旨を明記します。
  • redirects.csv — --old-url を指定して構築された launch-audit バンドルから取得します。すべての行は、それが記述されたURLで再リクエストされます。
  • 置き換えられる旧サイトのURL。 (置き換えがある場合)
  • ステージングURL。 ステージングコピーが封印されたことを確認するため。
  • アナリティクス測定ID。 ベースラインがない場合に使用します。
  • 設定されるべきだったDNSレコード。 apex= および www= の値として指定します。

ベースラインまたはリダイレクトマップがない場合は、実行前ではなく実行前にその旨を伝えてください。これらは以前の2つのフェーズから生成されるものであり、カットオーバー後は再作成できません。

2. カットオーバーチェックを実行する

スクリプトを実行してください。ソースを読んだり、その機能を再実装したりしないでください。

node scripts/post-launch.mjs --mode cutover --url <本番URL> \
  --baseline <baseline.jsonへのパス> --redirects <redirects.csvへのパス> \
  --old-url <旧サイトURL> --staging-url <ステージングURL> \
  --expect-analytics <測定ID> --expect-dns apex=<IP>,www=<ホスト> --out <ディレクトリ>

パスはこのスキル自身のディレクトリからの相対パスです — そのディレクトリからコマンドを実行してください。バンドルはカレントワーキングディレクトリの下に書き込まれます:--out を指定しない場合、./website-launch/<ホスト>-post-launch-<日付>/ に配置されます。上記のコマンドでは、これはこのスキルのディレクトリ内になります。--out を使用して、作業が存在する任意の場所にバンドルを書き込んでください。

その他のフラグ:--dev-host <ホスト>(繰り返し可)、--browser auto|on|off、--out <ディレクトリ>、--config <パス>、--json、--help。

終了コード: カットオーバーがどれほど悪くても、常に 0。使用方法のエラーまたはIO障害の場合は 2。終了コード0が「ローンチは正常」を意味することは決してありません — これは報告であり、ゲート(ブロック)ではありません。レポートを読んでください。

3. この順序でレポートを読む

references/reading-the-report.md にバンドルのレイアウトがあります。references/cutover-day.md は、その日の実行がなぜこの順序で行われるかを説明しています — 問題を順序を無視して修正し始める前に読んでください。

  1. ブロッカー。 太字で表示され、その日のどのステップで発生したかに関わらず最初に表示されます。これらを他のすべてよりも先に、そして誰かにサイトがライブであると伝えるよりも先に修正してください。
  2. 高重要度の結果。 リダイレクトのドリフト、欠落したページ、動作しないフォームエンドポイント、ライブのステージングコピー、まだサービスを提供している旧ホスト — これらはそれぞれ、今まさにトラフィックや問い合わせを失っているものです。今週ではなく、今日の作業です。
  3. ベースラインとの差分。 references/baseline-diff.md は、ローンチ時に移動することが予想されるフィールドと、決して移動すべきでないフィールドを示しています。差分全体を損傷として報告するのではなく、誰も依頼していない部分のみを報告してください。
  4. 中重要度および情報。 読んでください。内容を説明してください。今日は修正しないでください。
  5. 「対象外」、そのまま。 すべての行、無編集で、クロールでは確認できない2つの項目も含めて。

その後、再実行し、ブロッカーがなくなるまで再実行を続けてください。

4. 6つの人的項目を処理する

これらは毎回の実行の最後に出力され、オプションではありません:

サイトマップを送信する(Search ConsoleとBing)   ·   トップページのインデックス登録をリクエストする
新しいSearch Consoleプロパティを確認する        ·   リアルタイムでアナリティクスを確認する
旧ホストを維持し、リダイレクトし続ける           ·   これがクリーンになってからアナウンスする

誰かの代わりにチェックを済ませたと報告しないでください。「エンドポイントが200を返した」は「人がテスト送信を受け取った」とは異なり、「タグがHTMLにある」は「リアルタイムでヒットが表示された」とは異なります。

5. 毎日監視を実行する

node scripts/post-launch.mjs --mode watch --url <本番URL> --day <n>

これにより、期限切れのタスク、今日期限のタスク、今後7日以内に予定されているタスクが表示され、自動部分が再実行され、実行結果が記録されます。references/thirty-day-watch.md には、全スケジュール、各日にSearch Consoleとアナリティクスで確認すべきこと、および「正常」とはどのような状態かを示す指標が記載されており、通常のローンチ後の落ち込みを災害として報告しないようにします。

--day を省略すると、最初の実行からの日数がカウントされます。監視が一度も実行されなかった日がある場合、自動タスクはそれをカバーする実行が行われるまで期限切れのままです。人的タスクは、人間がクリアするまで期限切れのままです。なぜなら、スクリプトが行ったことは誰かがSearch Consoleを開いたという証拠にはならないからです。

6. 30日目

2つのことがあり、どちらも自動化されていません:

  • 振り返り。 何が後退したか、リダイレクトマップが見逃したもの、そして次のローンチで同じことを繰り返さないために pre-launch ゲートに追加すべきもの。書き留めてください。
  • 旧ホストの廃止判断。 旧ホストは、Search Consoleに古いURLのクロールが表示されなくなり、かつリダイレクトが少なくとも30日間有効になってからでなければ、廃止してはいけません。両方が真になるまで、ホスト費用を支払い続けてください。早期に停止すると、旧サイトが獲得したすべてのリンクを失うことになります。

7. 結果を提示する

数ではなく、判断から始めてください。

  1. 判定。 「カットオーバーには1つのブロッカーがあります」または「カットオーバーはクリーンです」。一文で。
  2. 何がブロックしているか、修正方法を明記して。
  3. 何が問題を引き起こしているか、原因別にグループ化:高重要度の結果、平易な言葉で。
  4. ベースラインと比較して何が変わったか、誰も依頼していないもの。
  5. 「対象外」、そのまま。
  6. 人的項目、完了したものとそうでないもの。
  7. ローンチをアナウンスしてよいか。 明示的に、どちらかの方法で述べてください。

決して実行されない2つのチェック

  • コピー vs. ソース文書。 ライブページの文言と承認済みのコピーを比較するものはありません。人間が両方を読む必要があります。
  • ページ vs. 合意されたスコープ。 どのページが存在するべきかを知るものはありません。構築されなかったページはここでは見えません。

リファレンス

ファイル内容
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 はステージングまたはライブURLをクロールし、報告します。post-launch はこれです:カットオーバーとその後の30日間。この順序で実行してください — このスキルに必要なベースラインとリダイレクトマップは、最初の2つによってのみ、そして旧サイトがまだ稼働している間にのみ作成できます。

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.

関連スキル