~/blog/tag/ai
AI
Articles on AI in software development — from blind generation to deliberate building.
What I write about here
Posts under this tag cover a range. Some are critical of how AI is being used in software teams. Some are practical guides to working with coding agents day-to-day. Most sit somewhere in the middle.
The through-line, for me, is that AI is a tool, not a peer. Useful when treated like one, harmful when treated like the other. That framing is what my critical posts argue and what my practical posts assume.
If you came here for the skeptical side, the ai-skeptic series is the entry point. Brilliant parrots, lava layers, prompts that aren't specs, that whole arc. If you came here for "how do I actually work with this", the claude-pro series and the standalone tooling posts will be more useful. CLAUDE.md files, hooks, structured prompts, the workflows that hold up.
Both halves are written from the same place. AI changes what code feels like to write. It does not change what code needs to be to ship safely. Most of what I write under this tag is a variation on that gap, and what to do about it.
The practical half now has a guide of its own: Agentic coding puts the key posts in reading order.
Best entry points
- Your agent's suffering is your technical debt speaking
The diagnostic frame. When your agent struggles, the codebase is usually telling you something. Read this before you blame the model.
- From blind generation to an AI team: how to take back control with agents
The practical side. How to structure work around agents so you stay in control of what ships.
- Getting the best out of Claude Code
The hands-on entry point. What working with Claude Code actually looks like once the hype has been ground out of it.
Claude Code plan mode: decide before the agent writes
How plan mode works in Claude Code: the plan file on disk, the five phases you never see, and the places where read-only turns out to be a suggestion.
read →Git worktrees for parallel coding agents: what they isolate and what they share
Git worktrees give parallel coding agents their own files and nothing else. What --worktree isolates in Claude Code, what stays shared across the one .git, and the isolation choices the flag does not make for you.
Claude Code context management: when to /clear and when to /compact
Context management in Claude Code got harder when the window got bigger. What /context actually measures, why /compact is a lossy re-encode of your session, and the rule I use for when to clear instead.
Measuring AI code quality: the dashboard beyond coverage and mutation testing
Coverage proves a line ran, mutation testing proves a test would catch a bug, and neither tells you if the code is quietly getting harder to change. What complexity, clone detection and architecture fitness functions actually catch.
When not to use AI for coding: the tasks I still do by hand
Knowing when not to use AI for coding is already a skill you practise, unconsciously and badly. It is also what wrecked METR's follow-up study. Here is the dividing line I actually apply, and why difficulty is the wrong axis.
Claude Code /doctor: the health check became a context audit
What /doctor actually checks in Claude Code now: ten checks, and only two of them care whether the thing is installed. The rest audit what you loaded.
Who is responsible for AI-generated code? You are, and 2026 wrote it down
Accountability for AI-generated code stopped being a philosophical question this year. In January California barred "the AI did it" as a defence, Europe makes software a product in December, and no vendor indemnity covers your code being wrong.
AI agent incident response: what to do when your coding agent goes wrong
A five-phase runbook for the hour after a coding agent breaks something: freeze the session, reconstruct from the transcript, work out the blast radius, rotate, and fix the permission that allowed it.
Every agent sandbox has the hole that makes it useful
Two agent sandbox escapes in one week, from OpenAI and from Claude Cowork. Both went up a privilege level inside a box that already held the prize, without ever crossing the wall.
Opus 5 is here and your effort settings just expired
Opus 5 lands within half a percentage point of Fable 5 at half the cost per task, and the per-token price has not moved. The line that changes your setup is the one telling you to re-measure the effort levels you tuned eight weeks ago.