Migrating from Mailchimp to Ghost using agentic help
I am in the process of helping someone migrate from Mailchimp to Ghost. One of the useful things I can do is port across all of the existing emails and make them available on Ghost via a mailing list archive page. There’s a lot of value in mailing list content accrued over the years, even if it’s only to demonstrate that you’re in it for the long haul. Proof of dedication is increasingly important, especially if it stretches back before our slop dominated times.
To this end, I made a skill which leverages the ghst skill I made some months back. This original skill is a simple wrapper around the official Ghost ghst CLI tool, which exposes all the API functionality in a convenient agent-friendly manner.
This new skill is called mailchimp-to-ghost, and is available via:
- https://github.com/nickludlam/mailchimp-to-ghost-skill
- https://clawhub.ai/nickludlam/skills/mailchimp-to-ghost-skill
Currently it fetches the most recent entry from the Mailchimp RSS feed, converts the HTML into markdown, and then uses Ghost’s Koenig system to convert this markdown into a post. It’s not 100% perfect, but works well enough to get the post 99% of the way there, and occasionally I might need to make some minor tweaks in the Ghost editor. The important thing is that the images are pulled across correctly, and short links are unwrapped back to their original canonical version.
It requires your agent to have access to python and node, with some specific python libraries and the aforementioned ghst tool available, so if you build your agent container via Docker like I do, there are some extra steps.
When I run ./scripts/docker/setup.sh to build the Docker image, I additionally specify these env vars:
OPENCLAW_IMAGE_APT_PACKAGES=python3-bs4 python3-requests python3-feedparser python3-lxml
OPENCLAW_IMAGE_PIP_PACKAGES=markdownify