GlowHalo Skills

Site Cutover & Takedown Host Checklist

Inventory every host, route, redirect and callback that serves your site before a move or takedown, as questions. Before you move a site to a new host or domain, switch repositories, or take a site down, build a read-only inventory of EVERY place that serves or references it, not just the one repository you are looking at. Greps your repo and config for DNS hints, CDN and edge routes, redirects, mirrors and second repos, sitemaps, canonical tags, hard-coded URLs, callback URLs, analytics properties and cache clues. Outputs an ordered runbook with per-host verification commands (you run them), rollback points, and a verified gone / verified moved / UNSURE table. Never executes changes or network calls and never invents a host; anything not found becomes a question.

Gumroad · $2Groble · 2,900원SkillHQ · €2

Example input

Use the Site Cutover & Takedown Host Inventory Checklist on this sample repository (I wrote it for this demo). I'm moving old-example.com to new-example.com. Git remote origin is https://github.com/acme/old-example.git. Files:

--- CNAME ---
www.old-example.com

--- index.html ---
<!doctype html>
<html><head>
<link rel="canonical" href="https://www.old-example.com/">
<meta property="og:url" content="https://www.old-example.com/">
<meta property="og:image" content="https://www.old-example.com/img/og.png">
</head><body><a href="https://www.old-example.com/about.html">About</a></body></html>

--- about.html ---
<!doctype html>
<html><head>
<link rel="canonical" href="https://www.old-example.com/about.html">
<meta property="og:url" content="https://www.old-example.com/about.html">
</head><body><a href="https://www.old-example.com/">Home</a></body></html>

--- sitemap.xml ---
<urlset><url><loc>https://www.old-example.com/</loc></url><url><loc>https://www.old-example.com/about.html</loc></url></urlset>

--- robots.txt ---
User-agent: *
Sitemap: https://www.old-example.com/sitemap.xml

--- _redirects ---
/blog/*  https://www.old-example.com/news/:splat  301
/home    /  302

…

Example output

Goal: cutover — 7 distinct hosts / 14 inventory rows — 12 questions open — verified 0 (nothing run yet)

## Scope
- Goal: cutover (old -> new domain).
- Old: "old-example.com" (apex, www., api. labels found). New: "new-example.com" (stated by user). Old repo: acme/old-example (git remote origin, no org/account change stated). New repository: unknown.
- Files searched: all of /tmp/qa2/site (CNAME, index.html, about.html, sitemap.xml, robots.txt, _redirects, wrangler.toml, .github/workflows/deploy.yml, README.md, src/config.js).
- Remotes: `origin https://github.com/acme/old-example.git` (fetch/push). No .gitmodules.
- Dates: none given. DNS TTL: unknown.
- Cache window: 48h default (a default, not a measurement).

## Host inventory
| # | Category | Host / URL | What it does | Source | Needs action |
|---|---|---|---|---|---|
| 1 | A | www.old-example.com | serves (Pages custom domain) | CNAME:1 "www.old-example.com" | Yes: repoint/replace; redirect |
| 2 | B | old-example.com/* | edge route (zone old-example.com) | wrangler.toml:3 `pattern = "old-example.com/*"` | Yes: change route; apex redirect |
| 3 | B | api.old-example.com/* | edge route | wrangler.toml:4 `pattern = "api.old-example.com/*"` | Yes: route to NEW API |
| 4 | B/C | https://www.old-example.com/news/:splat | 301 target in redirect rule | _redirects:1 "/blog/* https://www.old-example.com/news/:splat 301" | Yes: change target to NEW |
| 5 | E | www.old-example.com | references (sitemap URLs) | sitemap.xml:1 "<loc>https://www.old-example.com/</loc>" and about.html loc | Yes: rewrite |
| 6 | E | www.old-example.com | references (Sitemap directive) | robots.txt:2 "Sitemap: https://www.old-example.com/sitemap.xml" | Yes: rewrite |
| 7 | F | www.old-example.com | references (canonical, og:url, og:image) | index.html:3 canonical, :4 og:url, :5 og:image; about.html:3 canonical, :4 og:url | Yes: rewrite |
| 8 | G | www.old-example.com | references (links) | index.html:6 "href=https://www.old-example.com/about.html"; about.html:5 "href=https://www.old-example.com/" | Yes: rewrite |
| 9 | H | https://www.old-example.com/auth/callback | OAuth callback | README.md:3 "OAuth callback: https://www.old-example.com/auth/callback" | Yes: register new callback first, keep old until end |
| 10 | G/H | api.old-example.com | API base URL used by code | src/config.js:1 `API_BASE = "https://api.old-example.com"` | Yes: rewrite after NEW API exists |
…

Real output from running the skill on a sample problem, shortened. The skill file itself is not published here.

Also in a bundle

← All skills