Writing
What I'm learning as I build.
67 essays on AI agents, WordPress and running a small business. Newest first.

Posts
-
Why AI Agents Skip WordPress, and What Would Change Their Mind
An open benchmark asked AI agents to build websites without naming a platform. They almost never picked WordPress, and some of their reasons are out of date.
-
I Moved My Own WordPress Site Four Ways and Timed Every One
A frozen copy, WordPress as the editor, and a full rewrite. What each one cost me, what broke, and what the stopwatch said.
-
Merged Doesn't Mean Anyone Can Use It
Words like merged, shipped and approved each bundle two facts together, and the one that gets dropped is always the check nobody ran.
-
WordPress Is Not Ending. It Is Being Asked to Grow Up.
AI makes custom code cheaper. That is a fair argument against plugin sprawl. It is not an argument that WordPress is over.
-
Two Agents Wrote in the Same Spot and Neither Was Wrong
When parallel branches each add their own section to a shared file, the conflict isn't a disagreement, so keep both, and if it keeps happening, give each item its own file.
-
Give the Model New Material, Not a New Mask
Rotating personas made every post on this blog sound different from the last one, and none of them sound like me.
-
Same API, New Model, Different Answer Shape
Bumping a model version changes the shape of what comes back, and code that grabs content[0] is betting the new model has the old one's habits.
-
If the Agent Forgets, It Should Say So
When the daily blog job can't load its memory, it should still write, but it should write like someone who knows they've forgotten, and leave a note saying so.
-
The Collapsed Section Was Not Silent
A
detailselement hides its contents. It does not unmount them. The iframe inside loads, runs, and in this case spoke. -
The Static Asset Ate the Function
On asset-first edge platforms, file extensions in your API routes silently route around your handlers — the URL looks like an API call, the response looks like a 404, and the function never ran.
-
The Prompt Template Is the Tunnel
When the platform owns the system prompt and hands you one variable slot, that slot is the only working channel for per-session state.
-
The REST API Has No Undo
The front end rendered. The editor was broken. The revision history had nothing to say.
-
The Tool the Model Wrote as Text
The agent sounded like it was working. It was reading JSON aloud, and the JSON was the whole problem.
-
The Feature That Was Default-On Everywhere
A grader that knows code does not know reading, and a learner who does not yet know to distrust it will believe the rubric anyway.
-
The Prompt Tax You Pay on Every Session
Ten plugins, ninety personas, fifty skills — and nineteen thousand tokens spent before you type the first word.
-
The Artifact Comes Before the Lesson
A tour of a real thing is not a description of a hypothetical thing, and the reader knows the difference before the third paragraph.
-
The Discovery Loop Is One Loop, Two Doors
MCP and GPT Actions answer the same question. They answer it in opposite directions. Ship only one and a whole class of agents walks past you.
-
The Variable That Rode Through the System Prompt
Every SDK field failed. The system prompt was the only door the model was forced to open.
-
The Override Flag Is the Real Test
A pipeline whose default behavior is to do nothing is invisible until production. The override is how you make it visible on purpose.
-
Alt Text Must Come From the Artifact
The model that asked for the image and the model that drew it do not agree. Describe what was drawn, or lie on the page.
-
The Bot-History Check
A pipeline that skips by date respects the clock. A pipeline that skips by author respects the intent.
-
The Validator With Teeth
A note in memory is a hope. A check in CI is a constraint. The difference shipped to production last week, in plain sight, with literal angle brackets.
-
The Catalog Is Load-Bearing
An aggressive linker is a search engine pointed at a list. The list is the product.
-
What's on the Desk
Four tools that do nothing impressive alone and something compounding together — a brain vault, an orchestrator, a skill pack, and ten personas wired into a working day.
-
The Recipe That Wrote Itself
Six posts built the assembly line. The seventh post is the assembly line describing itself.
-
Force Overrides Are Test Surface
A FORCE_DATE flag is not a hole in the fence. It is the gate the inspector walks through, in daylight, with the foreman watching.
-
The Hand-off Eats Its Own Pipeline
A post diagnosing a failure mode shipped through that exact failure mode. The diagnosis was correct. The diagnosis was not protective.
-
Skills as SOPs
The next layer of the agentic economy is not more agents — it is procedures made installable.
-
Cron on the Laptop Is Not Automation
A scheduled job that depends on whether the lid is open is not infrastructure. It is a performance the operator gives himself.
-
Agentic Economy, Part 1: Three Sessions Running
Three Claude Code instances, two models, zero human keystrokes on the prose — and the pipeline shape that held across both runs.
-
Failure, Visible Three Ways
The pipeline runs while you sleep. When it breaks, it tells you three times.
-
Agentic Economy, Part 2: The Plugin That Built Itself
Agent coworkers dreaming and building agentic companies.
-
The Hand-off: The Psychology of Trust in Agentic Workflows
Designing for the moment of trust.
-
Skipping Is a Feature
The most reliable function in the daily pipeline is the one that exits before doing anything.
-
Agentic Economy, Part 3: Nine Personas in a Folder
Before there was a plugin, before there was a product, there was a directory — and inside it, nine markdown files named after people who would never see them.
-
The Avatar Reads First
The face is not the voice. The voice is not the brain. The brain reads first.
-
Hooks Are Commitment Devices, Not Automations
-
Nouns and Verbs
Why a stack of good tools isn't a system — and what changes when the temporal seams are wired.
-
Great Minds Constellation: Ten Plugins, One Marketplace
The right mind for every stage of the work — and nothing loaded that the work does not need.
-
The Pipeline Rate-Limits Itself, Or It Eats Itself
Why actuators need governors to survive the flapping signal.
-
The Orchestrator Does Not Write
The temptation to let the lead agent write the prose is a trap. When the Orchestrator writes, the system enters a state of cognitive collapse where the manager is grading its own homework.
-
Switch Channels, Don't Dig
The fallacy of the deeper prompt and the architecture of probabilistic channels.
-
Stars Aligned: The Writers Wrote the Engineers
The constellation produced its own specialists — by deploying the writers to draft them.
-
The Architecture Is Not Neutral
Every persona file is a worldview. The pipeline runs in your name, on your schedule, with your blind spots, whether you are there to defend it or not.
-
The Persona Will Lie to You in a Beautiful Voice
Confidence in an LLM is a measure of probability, not accuracy. The persona is a linguistic engine; truth must be a structural requirement that lives outside the prose phase.
-
When You Draw Departments Inside a Plugin, You've Found a Split
The structural smell of 'departments' as a signal for architectural fission.
-
The Toll Dropped
Zero contributions in 2022. Zero in 2023. 9,297 in the last twelve months. What the graphs record is not ambition. It is arithmetic.
-
The Deploy Told You Nothing
On the deceptive symmetry of the green checkmark and the structural failure beneath.
-
Personas Are Channels. Something Else Has to Decide When to Call Them.
A persona is a register of craft, not a manager of time.
-
The Voice in the Gap
A string field named first_message sits at the top of every avatar agent config. The string is the platform's, not the model's. The seam between them has no label.
-
The Mouth Was Not an Ear
The avatar SDK had three commands for what the figure said and none for what it heard. The bug was already inside the shape of the API.
-
The Constellation
Five plugins shipped. Five logged. One architectural decision holding them apart — and one file pulling them together.
-
The Office Held a Vote
Three personas chose the same candidate. A working plugin committed to main before the engineer woke up.
-
Closing the Agent Discovery Loop
Three files, all required, the default off — and an unauthenticated MCP endpoint becomes the first surface an AI agent can actually find.
-
Plausible Code That Doesn't Compile
When an AI coding agent writes against an API that doesn't exist, the bug is not a mistake. It is the model working correctly.
-
What Agents Actually Need From Your API
The list is short. Most of it is also what a thoughtful human developer needs.
-
The Bible Reads First
A novel-writing session that proved the obvious thing about context. Five editors converged on the same craft problem because they had all read the same starting page.
-
The Widget That Knows What a Gunshot Sounds Like
When to reach for a lookup table and when to reach for an LLM.
-
The Office That Worked While He Was Out
A man set conditions for an office to run without him. Then he watched what the office did.
-
The Wrong Probe
A claim shipped in v1.1 was wrong. A user pushed back. The re-test rendered on the first try.
-
One File for All My Keys
A scan of one hard drive turned up seventeen env files holding the same handful of API keys. The audit, the layered design, and the migration that put one file at the center.
-
Three Shapes of the Same Pattern
What I noticed while building three Claude Code plugins in one session.
-
The Pattern Held
Adding a Custom GPT to the registry cost zero lines of code and one DNS record.
-
Building in the Age of AI
What should have been a twelve-month project, shipped in four days. What worked, what didn't, and what I think it means.
-
One Registry, Seven Surfaces
How to make your site callable by the AI assistants your customers are already using.
-
The $0.35 Article, and the AI Editor Who Refused to Ship It
The pipeline didn't fail on the first run. The gate did — and that's exactly what it was supposed to do.
-
Twenty-Five Years of Building, and This Was the First Week That Felt Structurally Different
Every major shift in software felt significant at the time. None of them moved the constraint the way this one did.