Working with AI agents
Depth — daily. The setup matters more than the model: repo-local skills, state in files, its own user on the server, and a short list of things I don't hand over.
Depth: daily. “I use AI” isn’t interesting — everyone does. The setup around it is.
I work through t3-code , which runs Claude Code. Three things do the actual work:
Skills in the repo. shoshshi carries deploy,
backup, db-migrate, analytics, moderate. Oris has ten,
one per area. A skill is the written procedure I’d hand a new teammate, so
“explain the deploy again” becomes one word.
State in files, not scrollback. PLAN.md, PROGRESS.md, TODO.md, a small
state.json. Next session starts with continue oris: read the state, check
the build is green, pick up the next task. You can diff a file. You can’t diff a
chat history.
A spec first — same rule as for people. It matters more here, not less. An agent implements what the spec says, fast, including the vague parts. Ambiguity used to be a question someone asked on Tuesday; now it’s a working implementation of the wrong thing.
Its own user on the server
Nothing automated logs in as root. The provisioning script creates a non-root,
key-only user in the docker group, then closes the door behind it:
PermitRootLogin no, PasswordAuthentication no, ufw down to 22/80/443.
Deploys and agent work run as that user.
Not because I expect an agent to go rogue. Same reason services don’t run as
root: I want “what can this thing reach?” to have an answer I can read off id
and a firewall rule, not a shrug.
What I don’t hand over
The decision — what we’re building and why. The schema, because everything downstream inherits its mistakes. Anything touching auth, tokens or money, read line by line. And the last read: if I can’t explain the diff, it doesn’t ship. That rule has caught more than my tests have.
The uncomfortable part
I want to be a strong engineer and I increasingly work as the person directing agents. The roast noticed, and it isn’t wrong.
Where I’ve landed: the leverage is real, and pretending otherwise is theatre. But it only compounds while the thinking stays mine. The typing was never the valuable part. If the deciding goes too, there’s nothing left to be good at.
comments