How I build - Plan slowly, build fast
My setup is pretty simple. I put my time into the plan, then hand it to AI agents and let them get on with it. I barely write code by hand these days, and I don't review it line by line either. Agents do that too.
Plan
This is where most of my time goes. I talk the idea through with a big reasoning model in Claude Code's plan mode until there's a proper plan: what we're building, what the data looks like, which files change and what done means.
A vague plan gets you vague code. “Add auth” leaves the agent guessing, so I keep going until every task is specific enough that there's nothing left to guess.
What I end up with
- Written plan
- Data model
- Small, specific tasks
- A clear definition of done
Build
Once the plan is solid, building is quick. A faster model works through the tasks, and for bigger jobs I'll have several agents running side by side on separate branches.
Every project has a CLAUDE.md that explains how the codebase works. My Feather projects come with one out of the box, so the agents know the conventions before they start.
I don't write much code by hand anymore. At this stage my job is mostly answering questions and saying yes or no.
Review and ship
I don't read every line, and I don't try to. Instead, other agents review the work using skills: a code review, a security check, a dependency audit and a tidy-up pass. A fresh agent with no stake in the code spots things the one that wrote it misses.
Anything they flag goes back to the build agents to fix. What I check is the result: does it work, and does it do what the plan said?
Then it goes live. Push to GitHub, migrations run on release, and if something breaks I roll back in one click.
Skills that run before anything ships
- Code review
- Security check
- Dependency audit
- Simplify
Principles - A few rules I stick to
Nothing fancy, just habits that work for me.
- Plan hard, build fast. The thinking happens up front. Once the plan is clear, the agents can run with it.
- Don't review code, review results. I don't read diffs. Agents review each other's work, and I check that the thing actually works.
- Right model for the job. A big, careful model for planning, a quicker one for building, and a separate agent for reviewing.
- Ship it. If it isn't live, it isn't done. Everything on this site is live.
- Keep it boring. Postgres, server-rendered pages and well-known libraries. Agents are better at boring tech too.
- Write it down. A good
CLAUDE.mdhelps more than any prompt trick.