Last weekend I built my first skill for my AI coding tools โ a small, reusable add-on that teaches Claude Code, Codex, and the Gemini CLI to do something they couldn’t do out of the box. In this case, something almost comically ordinary: send and check email.
The last mile was copy-paste
The need had been building for weeks. Lately I’ve been doing what would be called project management if that were my title โ stretches of back-to-back meetings, each one written up in markdown and pushed to a private GitHub repo behind two-factor authentication. Markdown because the same AI tools I work in all day can read it back later without tripping over formatting. A private repo inside my organization’s account because the notes are sensitive โ no PHI, of course, but plenty that would count as confidential business operations, and not the kind of thing to leave lying around.
The friction was the last step. I’d take the notes, commit them, and then โ on the busiest days, which were exactly the days the notes mattered most โ open Outlook, copy the content across, and send it by hand. One more window, one more paste, every single time. Minor on any given day. Not minor after several days of seven or eight meetings each.
So I asked the obvious question. The assistant that just helped me clean up those notes is sitting right there. Why can’t it send them? Why doesn’t Claude Code have an email client of its own?
A Friday-night build
I scoped it on a Friday evening before I left the office โ about ninety minutes, entirely in plain English, not a line of code. Then I handed the plan over and asked Claude Fable 5 to build and deploy the whole thing while I drove to a restaurant near home. By the time I got there, it had. (It happened to be the same night the government made Anthropic pull Fable 5 out from under me โ but the model is a separate story. It didn’t survive the weekend; the tool it built is still running.)
What I ended up with is an email identity for each of my assistants, living on a handful of serverless parts inside my own AWS account โ Amazon’s email service to move the mail, a little code, a bit of storage. I didn’t register anything new for it; I repurposed a domain I’d bought on impulse back in 2022 and never touched. It costs a dollar or two a month.
The day-to-day is exactly what I was after. I can tell whatever session I’m in “email these notes to the participants listed,” and it happens โ no copy, no paste, no second window. The assistant writes in markdown; a small service in my account turns that into a clean, formatted message and hands it off to be delivered. Incoming mail makes the same trip in reverse.
I built it the way I’d want anything wearing my name to behave. Every message says an AI sent it, in both the sender name and the signature โ no pretending to be me. It acts only for me. Everything it sends carries a one-click unsubscribe that the system actually enforces, and it treats whatever lands in the inbox as information to report on, never as instructions to follow. There’s even a plain-English page explaining who’s behind it, for anyone who gets a note from a name they don’t recognize and wants to check.
What I actually learned
The email client is genuinely useful. But the thing I’ll carry forward is both smaller and larger than the tool: if you want one of these assistants to do some specific thing, you can usually just write a skill for it.
A skill isn’t a product, and it isn’t a plugin you wait for a vendor to ship. It’s a short set of instructions โ plus, in my case, a helper script or two โ bundled so the tool discovers it and picks up a new capability. Mine teaches Claude Code and Codex how to use my email setup. Someone else’s might teach it to draft a status report, pull a ticket queue, or talk to an in-house application that will never get an official integration โ which, in my world, is most of them.
One might assume this kind of thing is reserved for people building polished developer tools. It isn’t. Writing a skill is within reach of anyone who uses Claude Code, in the same way writing a clear prompt is: you describe the capability, lay out the steps, and test it until it behaves. That’s most of the job.
This was my first skill. It wasn’t my last โ I’ve built one more since, and it has earned its own post. But this is the one that moved the ceiling in my head. These tools don’t only do what they were shipped knowing how to do. They do what you take the time to teach them.
