How I Use AI Agents to Ship Code Faster
Three agents I run most days, what they take off my hands, and the parts I still do myself.
I’ve been coding with AI since ChatGPT shipped in late 2022. For the first couple of years that was a chat window and a lot of copy-paste. What I run now is a bit different: three agents, most days, doing work I used to type out myself.
The setup
Hermes Agent is the one I built. It breaks a task into subtasks, hands them out, and watches what comes back.
Claude Code gets the refactors, anything touching several files at once where I’d otherwise spend a while just holding the context in my head.
OpenCode is for quick work. Does this approach even work, that kind of question, where I want an answer in two minutes.
Each one has skills, which are written-down procedures for things I do often. Deploy to Docker. Run the test suite. Review a diff. Without them the agent works out the process again every time, and its version is usually worse than the one I already have.
What that looks like in practice
Last month I had three features to add to a Laravel backend. Instead of doing them one after another I dispatched three subagents, each in its own terminal session with its own context. Twelve minutes for all three. Sequentially it would have been closer to an hour.
Before I push, an agent maps the dependency graph and tells me which functions a change touches, where the coverage gaps are, and what looks likely to break. It catches the module A breaks module B three levels down kind of thing, which I miss often enough in a large codebase.
When a UI library changes its API, I used to grep every consumer repo by hand. Now an agent scans the registered repos, works out what breaks, and writes the migration plan. That used to take an afternoon.
Where it doesn’t help
Boilerplate is mostly handled. Controllers, tests, migrations, changelogs, fixing a failing suite.
Architecture decisions are not. Neither is UI design. An agent will build the thing you described, which is a problem if the thing you described is wrong. Production debugging with half the context missing goes badly, and I keep it away from anything touching live user data.
The speed
A feature used to take me two to four hours, counting design, implementation, tests, review and deploy. Now it’s usually 30 to 60 minutes. The agent implements and tests, I review the design and approve the deploy.
The part I’ve come to value more is consistency. Agents don’t skip tests because it’s late, or skip the linter to get something out. Every change goes through the same gates, which wasn’t always true when it was only me.
This works for me because I can tell when the output is wrong. That’s the part I wouldn’t skip.
