I self-hosted Ghost 6 on the homelab behind Cloudflare Tunnel and wrote a converter from Blogger's Atom export to Ghost's import format. The import itself ran through Ghost's own Universal Import, driven by a signed-in browser session. That keeps every post on Ghost's supported HTML-to-editor path.
The SEO work ran as a tracked, 24-step campaign with an audit workbook as the source of truth. The tags were collapsed into a nine-topic taxonomy, keeping existing URLs where possible. Thin or duplicated posts were moved to draft rather than deleted, so every change is reversible.
Every bulk change was preceded by a full content snapshot and Ghost export, executed through the Admin API, logged step by step to a JSONL change log, and re-verified against the live site.
For new writing, a Claude Code skill turns a session into a post in my voice, generates a feature image, and publishes through the Admin API. It saves a draft by default and only publishes or schedules when explicitly told to. A fuller pipeline (topic discovery, scoring, research, generation, QC and human approval) is in progress, with its first phase complete.