Late last year I was running a number of agents in parallel and struggling to keep up. I would change context, get lost, catch up, switch context again. Classic thrashing, and I definitely felt it by the end of the day.
That's where my goal of 100 PRs a day came from, though I left it out of the original post. It's a vanity metric, but it's been more than useful in driving me to learn and improve my workflow. For the record, my best day so far is 58, and a regular workday averages in the high 30s. There's a way to go.
So why aim for more? Because you can't brute-force 100. At 10 PRs a day I could get by on effort. At 100, every bit of wasted attention shows up, and the only way through is to build systems that spend less of me per PR. CI, reviews and deploys turned out to be the easy parts.
The hard part is managing my own attention[1].
Switching Is the Cost
The reading isn't the expensive part, the switching is. Review a billing change, jump to a flaky test, come back, and the billing context is gone. I'm re-reading the ticket just to remember what "done" looked like. Every jump means reloading what I was trying to achieve, and I can only hold one of those at a time. Attention doesn't parallelize, so everything below is about switching less, or making each switch cheaper.
Epics
I don't try to plan 100 at the start of the day. I pick 5-10 "epics" to anchor the work, with a target of 1-2 PRs on each an hour. That caps how many contexts are in play, and the only question is: what's next to move each epic forward.
I still only hold one at a time. The epics live in an analog notebook with the outline, and a daily AI chat holds the WIP so I don't have to. Coding agents get a well-shaped task in a clean context, so each one comes back needing less of me.
I accept side missions inside an epic: a directly-related bug goes in the flow. I'm already reviewing, testing, and reasoning over the same area of code, so it's just the next thing. A side mission in a different epic waits.
Smaller Slices
Smaller, focused PRs shrink each context. Ship the UI under a feature flag, get robust feedback, then do the backend. Not only is that a tighter, faster loop, but my attention is on one facet at a time.
Risk tiers decide how much of me each slice gets: a typo fix gets a glance, an auth change gets three brains. That way there's something left for the changes that can hurt.
Nudges
Most interruptions are rabbit holes. A few are worth having because they lower the load. A few times a day I have AI prompt me with a short list of PRs that look good to roll, or log messages that deserve a fix.
That costs a little attention, but those things were already on my mind. Without the nudge I'd be carrying a background worry about PRs backing up or warnings I'd missed. With it, I can put that down.
Sharpen the Axe
None of this works without investment. About half my time goes on tools and process rather than the direct stream of work. Every time I hit a bump, I fix it. Instead of fixing a customer issue directly, I'll add tools so AI can fix it (or prevent it in the first place).
Initially this is a frustrating slowdown, but it compounds. Every improvement makes the next context cheaper to pick up, and the next PR costs a little less of me. It's the only way I've found to buy attention back.
Attention Is the Budget
On a regular 30+ PR day now, I feel more in flow than thrashing. I've stopped treating attention as whatever is left at the end of the day. It's the budget everything else gets spent against, and the more the agents do, the more my attention matters, not less[2].