← Back to posts

Work journal

Moving a Personal Automation Setup to Claude Code

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.