-
Notes on "Dear Architects" podcast episode: "Why AI is the Third Coming of Domain-Driven Design". The title is only a small part of the episode. My main takeaway is that, because AI changes the medium of communication to natural language, precise ubiquitous language will matter e…
-
Back in October or November last year, when I started using Opencode, I spent quite a bit of time setting up permissions and realised they were both complex to set up and, frankly, unreliable. Recently, I have been working on sandboxing the coding agents I use, and I wanted to sh…
-
LLMs can draw diagrams, but you get better results with a conceptual model, a validation loop, and a lightweight verification pass against the codebase than with free-form diagramming. I used the C4 model extensively to map architecture landscapes. Last week I saw an opportunity …
-
One challenge with agent instructions when integrating with CLIs is how to direct the LLM so it knows how to use them, and keep those instructions up to date. I recently learned about a relatively simple idea: create a subcommand that outputs instructions targetted at LLMs and re…
-
Skills are a great way to introduce capabilities in your agent flows. To support my "The Day I Learned" repository and website, I created a skill to extract learnings from coding and LLM sessions. The skill below is installed in my global agent settings (AGENTS.md), and from each…
-
This is an experience report on updating my (this!) website using coding agents and Beads ('a distributed, git-backed graph issue tracker for AI agents.'). Site update using coding agents Over the past week, I used coding agents to update my website. The result is, at least I hop…
-
Today I heard the term “harness engineering” for the first time: Harness engineering is the practice of building tooling, tests, and automation that let coding agents execute tasks safely and reliably. If code is written more and more by LLMs, the focus seems to be shifting to …
-
A short post on combining skills. It's not always clear when a skill will be called or triggered. The easiest way is to put instructions and directly invoke the skill you want by name. For example, for my Today I Learned mini blog site, I have two skills to keep my TILs focussed …
-
What caught my attention in the book Vibe Coding by Gene Kim and Steve Yegge is the idea that, as LLMs and coding agents change how we build software, control loops—tests, reviews, and other signals that tell you whether a change behaves as expected—should be faster and more inte…
-
This is a short experience report about using skills (with Codex and its models) to build a personal AI assistant that helps me maintain my time-tracking log. To set expectations: the assistant does not manage my calendar or tasks. It helps me keep a time-tracking log that lives …
-
This post captures my current thinking on how LLMs are impacting software development, particularly around software quality and engineering discipline. My main observation: most of the best practices we've relied on for years are just as important—maybe even more so—in an LLM-ass…
-
For background, because you may be noticing them in some of the outputs and inputs to Claude Code, I want to combine two skills: text-grader: grade a text for correct UK English spelling and grammar til-rules-checker: check my 'Today I Learned' format rules for my Today I Lea…
-
I have been meaning to share more about my LLM workflows and tooling for a while, partly to have a reference for conversations, but mostly to learn in public. Agent Chisels is where I will be sharing the custom artefacts (primarily skills, with commands and agents to follow) that…
-
This year I bit the bullet and moved mail, calendar and drive from Google to Proton. Knowing that my family is not being profiled when, for example, I plan a doctor's appointment feels liberating. Sure, there were fun and useful technical improvements, like getting a podcast micr…
-
This is a short post to share a positive experience I had using an LLM agent to quickly add a feature to an existing personal CLI time-tracking application. Below, I describe how I added it using Zed, Opencode and Claude. To start, I wasn't even sure the feature I needed existed …
-
I have been writing "Today I Learned" posts (TILs) for a few weeks now and I started writing them as a complement to long form blogging. But I found myself spending 45-60 minutes, sometimes longer, per TIL instead of 15-25. This defeated the purpose of quickly recording and inter…
-
Years ago, the book Accelerate changed my view on software development and delivery fundamentally. Of course, there are its findings (dare I say 'revolutionary'?) on which technical and organisational factors drive high performance software delivery. But that is not what I want t…
-
After wrapping my head around the constant changes in LLM subscriptions and performance, here's my new coding stack for October 2025: Warp Pro: my go-to agentic CLI, speedy and reliable for coding and task automation. Supports most top end LLMs. Zed Pro (using the $20 trial, then…
-
If you've read some of my posts before or worked with me, you know I like using Architectural Decision Records (ADRs) for lots of reasons. To me the most important one is documenting the why of a decision. If you've worked with AI models before, you've probably asked them for opt…
-
Claude Code's output styles control how the AI responds to your requests. This summary covers the built-in styles and when to use each one. TLDR: Output styles = stored system prompts that change Claude's behaviour. Slash commands = stored user prompts for quick actions. Use th…