Working with Claude Code
Spec-Driven Iteration with Claude Code: Taming Requirements That Won't Sit Still
When requirements keep changing, the expensive part is not the code. It is re-explaining everything each session. A method that keeps the spec in the repo and treats every pivot as a reviewed delta.
28 Oct 2026
·
10 min read
·69 views
Working with Claude Code
Write for readers that can't ask back: Simplified Technical English for agents
Aircraft maintenance manuals solved the problem of readers who can't ask what you meant. I took ASD-STE100's rules and applied them to tool descriptions, error messages and prompts for AI agents.
12 Oct 2026
·
5 min read
·203 views
Building agents on the JVM with Embabel
·
Part 7
The condition nothing could satisfy: custom @Condition gates in Embabel
My agent refused to run a single action. The @Condition gate was FALSE and nothing in the agent could ever make it TRUE, because Embabel builds an action's effects from what you declare, not from what your condition reads.
28 Jul 2026
·
7 min read
·117 views
Building agents on the JVM with Embabel
·
Part 6
The Silent No-Op: Exposing Embabel Agents Over MCP
Turning my JVM agents into MCP tools took one dependency and one annotation. It also took three silent failures -- a starter that suppresses the web server, a shell that eats your CLI flags, and an annotation default that publishes exactly zero tools without telling you.
26 Jul 2026
·
7 min read
·123 views
Building agents on the JVM with Embabel
·
Part 1
One Goal Too Many: Learning Embabel's Planner the Hard Way
My first afternoon with Embabel, the JVM agent framework. I added one action too many, the planner quietly stopped early, and a cryptic get(...) must not be null taught me how GOAP, goals, and AgentInvocation actually fit together.
24 Jul 2026
·
8 min read
·718 views
Building this site in public
llms.txt: robots.txt for the age of AI agents
AI agents are a new kind of reader, and they don't want your rendered HTML. llms.txt is a tiny Markdown convention that hands them a clean index instead. Here's what it is, why it matters now, and how I wired it into my own Spring Boot site, with one URL path serving two different files by host.
14 Jun 2026
·
5 min read
·161 views