How I work with agents.
A loop, not a magic incantation. Each step exists because I've felt the cost of skipping it.
Frame the change
Before any model sees a prompt, I write what I'm trying to do, who it's for, and what "done" looks like. Two or three paragraphs in a scratchpad. If I can't write it down clearly, I'm not ready to ask an agent to do it.
Scout the codebase
I let Claude Code read first and write later. The first session is always exploratory — list files, summarize modules, draft a plan with file paths attached. The output of this step is a written plan, not code.
Tighten the scaffold
Most agent failures are environment failures. I make sure types, tests, lints and CI run locally before the first edit, so the agent can self-correct against ground truth instead of vibes.
Edit in small, reversible turns
One feature, one branch, one commit per coherent change. The agent moves at the speed of the verifier; if I can't roll a turn back in one keystroke I've made it too big.
Verify, then trust
Tests for the happy path. Property-based or fuzz tests for the boundary. A human reading of anything touching auth, money, or destructive state. Trust scales after verification, never before.
Capture the recipe
If a workflow worked once, I write it down as a skill or recipe so the next session starts further along. Over time these compound into agent-eng.
None of this is rocket science. It's just the part most demos skip — and the part that turns a flashy autocomplete into something you'd actually let near production code.