-
I just completed a small CLI tool in which I used a testing style, 'fluent acceptance-testing Domain Specific Languages (DSLs)', heavily, with good results. They are custom test specifications that read close to natural language, test behaviour rather than implementation, and sur…
-
This article explains how to add agent skills support to coding harnesses lacking native support, based on my experience implementing Skills Primer, a CLI tool I wrote. Skills integration instructions and skills catalogue The agent skills documentation explains very well how to i…
-
Working on a small project, trying to implement skills into an agent that does not support skills, made me realize (again) that using skills to set guardrails depends a lot on the model you're using and is non-deterministic almost by design because of the way they are implemented…
-
This page explains why I implemented Skills Primer, a CLI tool that enables skills integration in coding agents that lack native skills support. Why I implemented skills-primer Most major agents (Claude Code, Codex, others) support Agent Skills natively. But some agents do not, b…
-
Most coding agents rely on sub-agents to manage complex workflows. Pi's session branching offers a different way to handle multiple lines of work in a single session, with deliberate control over context and state. This short post explains my main insight into Pi's session manage…
-
While Obsidian and giving coding agents eyeballs are interesting, to me, the most interesting topic from Machine of Code and Grace's podcast episode "How do we give it eyeballs?" is Change Intent Records or CIRs. From the podcast: Change Intent Records (CIRs) are lightweight mark…
-
Often, large language models (LLMs) are evaluated in certain categories, for example, coding, writing, or tool-calling. I wasn't sure what tool-calling meant, so I decided to do some AI-assisted research. I used LeChat and GPT-5.4, going back and forth between them, checking refe…
-
This month I'm attending a conference for the first time in years. When a friend asked if I'd be bringing business cards, we both wondered if that was still relevant. How about a digital business card, then? Turns out there are online apps for that, and they charge a monthly fee.…
-
This article shows how I added plan mode to Pi using artefacts that stay as reusable as possible across other coding agents. Pi lacks a first-class plan mode. If you want one, you have to build it yourself, use an extension, or adapt Pi's example. I have a fairly low threshold fo…
-
Sometimes I want to refer to my agents setup or people ask me what my configuration looks like. For general system configuration dotfiles are used so I am going to share my agent configuration in what I'll just call "agentfiles". I do have a private dotfiles repository but I am n…
-
I put together a Jujutsu footer extension for the Pi Coding Agent that appends jj commit context to assistant responses. If you use jj and Pi, you might find it useful. Full details: jj-footer-extension.md.
-
This is a short experience report about building a tiny TUI/CLI to inspect configured agents and model assignments in Opencode. I wanted a simple way to see which models were configured on which (sub)agents and their relative costs. I also did not want to spend much time building…
-
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 …