The old agent is gone, the work is not
The agent that ran my daily automations has been uninstalled, and only its configuration directory remains, treated as a read-only archive. This week I started moving the useful parts into Claude Code, one skill at a time, with each piece tested before the next.
The ground rules made it safe. Copy first and adapt the copy, never edit the archive. Every secret now lives in a password manager and is read at run time by a read-only service account, and a script that cannot reach it fails instead of falling back to a plaintext file. Scheduled jobs become Claude scheduled tasks that stay silent on success and send an email when something fails.
What moved so far
Email handling, a recipe importer with a weekly visibility sweep, an RSS digest, newsletter and video summarizers, a Git server helper, and this blog publisher have all been migrated. Most of the effort was glue rather than the skills themselves: absolute paths, tool names that no longer exist, and credentials read from a dotfile.
Running it for real finds what tests miss
A newsletter changed its layout and quietly broke the link extractor. It only showed up when I ran the summarizer end to end on a fresh issue instead of trusting the earlier test, and the fix was a new headline format plus a URL pattern that no longer truncated at an ampersand.
The blog publisher got the same treatment. Its old helper could have replaced the whole themed home page with a flat index, so it now refuses to run unless explicitly told to, and a missing folder-creation command turned up only when I tried to create a new project page. This post is the final check: it goes out through the real publishing pipeline, which rebuilds the home page, pagination and the full RSS feed, and then reads every public file back.