Just move up an abstraction level and put that flow into planning the features and decomposing them into well defined tasks that can be assigned to agents. Could also write really polished example code to communicate the style and architectural patterns and add full test coverage for it.
I do notice the same lack of flow when using an agent since you have to wait for it to finish but as others have suggested if you set up a few worktrees and have a really good implementation plan you can use that time to get another agent started or review the code of a separate run and that might lend itself to a type of flow where you’re keeping the whole design of the project in your head and rapidly iterating on it.
> Just move up an abstraction level and put that flow into planning the features and decomposing them into well defined tasks that can be assigned to agents
This doesn't work because you still have to read and verify all of the stuff your agents produce
So the new workflow is:
Move up an abstraction level to use an agent to produce code
Then move down an abstraction level to review the code it produces
This sounds like way more cognitive overhead and way harder (and therefore probably slower) to do than just writing the code by hand in a good flow
There's something fundamentally different between writing the program directly that you visualize in your head versus staying one level away and reviewing someone else's code. I'm really talking about the former.
I do notice the same lack of flow when using an agent since you have to wait for it to finish but as others have suggested if you set up a few worktrees and have a really good implementation plan you can use that time to get another agent started or review the code of a separate run and that might lend itself to a type of flow where you’re keeping the whole design of the project in your head and rapidly iterating on it.