Giving Milo a Phone Number

My personal assistant has a name now: Milo. He also has a phone number, because apparently the collection of interfaces I already had wasn’t sufficient. SMS seemed like an obvious way to make him easier to reach. It’s already on everyone’s phone. Nobody needs another application, and a group conversation is a familiar place to ask a question or introduce someone. I built the bridge using Twilio, with AI doing much of the implementation and helping me work through the failures. Receiving a message and generating a reply was only the beginning. Once other people could talk to the assistant, I had to be much more specific about who was asking, who would see the answer, and what Milo could do with the request. ...

September 10, 2026 · 4 min · 837 words · Me · - views

From Chat Window to Process Supervisor

I’ve accumulated a pretty ridiculous number of conversations with AI. There’s one for the Minecraft server, one for the bird microphone, one for the farm application, one for this blog. And then there’s the conversation about the application I built to manage all the other conversations. That application is called Gorchestra. Yes, I built more software to keep track of the software I was already building. This is apparently how I relax. ...

August 15, 2026 · 4 min · 798 words · Me · - views

What Claude Remembers

The first post talked about the journal and check-in loop. The second talked about skills — markdown files Claude reads to know what to do. This last one is about how Claude remembers things across sessions. Claude Code ships with a feature called auto-memory: a small filesystem of facts the model can write to and read from, scoped to a project. When I correct Claude (“stop appending ‘Sent by Claude’ to my texts”), that becomes a memory file. When I confirm a non-obvious decision (“yes, the bundled PR was the right call”), that’s also a memory. Anything I wouldn’t want to repeat to a fresh session — preferences, project context, pointers to where things live — goes there. ...

April 28, 2026 · 8 min · 1670 words · Me · - views

Skills Are Just Markdown

The first post in this series talked about /journal and /checkin — a daily journal and a 15-minute check-in loop that runs unattended on a schedule. I called them “skills” without explaining what that means. This post is about the mechanism. A skill is a markdown file. That’s the whole abstraction. Specifically: a directory under .claude/skills/<name>/ with a SKILL.md inside. The directory name is the slash command. The contents of SKILL.md are the instructions Claude reads when you invoke it. There’s no plugin API, no shell wrapper, no “register your command.” Drop a directory in, the command exists. Edit the file, the behavior changes. ...

April 28, 2026 · 8 min · 1615 words · Me · - views

My Life Runs in a Markdown File

I have a Claude Code-powered personal assistant that runs on a schedule. It reads my email, my calendar, my texts, the kids’ school calendar, my plant care schedule, the weather, and my custody plan. It writes the day to a markdown file every morning and updates that file every 15 minutes throughout the work day. Most of the time it doesn’t tell me anything — that’s the point. The whole thing lives in a git repo I call life/. About 6,000 lines of markdown, a handful of shell scripts, 17 slash commands. Here’s a partial list of what it does in a normal week, all without me asking: ...

April 27, 2026 · 9 min · 1747 words · Me · - views