When building with agents, prompting the agent to
Only do X. Do nothing else.
seems to be required to prevent the agent from being overly eager with its implementation, trying to anticipate what you will want next. However, the agents are often not reliable enough to do all this work in a single tool loop, so forcing them to keep their scope small is still necessary babysitting.