Break work into achievable, agent-friendly tasks
It’s not just the final design that matters — how you get there determines speed, quality, and your ability to course-correct.
Agents tend to approach features in a linear, compartmentalized way. If a feature requires changes across files A, B, and C, they’ll often:
- Fully implement A 
- Fully implement B 
- Fully implement C 
- Finally integrate everything together 
This approach makes sense when you're reading the todo list up front, but in practice it creates headaches:
- The hardest bugs (integration issues) are discovered at the very end. 
- You hit these problems when you have the most code, making them harder to diagnose. 
- Fixes require large, risky refactors instead of small, targeted adjustments. 
A better approach: iterative, integrated development
Set your agent up for success by driving the process in small, testable increments:
- Break features into vertical slices. Each slice should deliver something functional end-to-end, even if minimal. 
- Integrate early and often. Catch integration issues while the surface area is small. 
- Review smaller diffs. It’s far easier to spot mistakes when reviewing 50 lines of code than 500. 
- Test as you go. Verify each slice works before moving on — you’ll save time later. 
Git is still your friend
Standard git hygiene already mirrors this planning approach. If you’d ask a coworker to split a large PR into smaller ones, ask your agent to do the same!
Create a git-usage.md file that explains your preferred workflow:
- Use feature branches for meaningful units of work, not one massive “feature-dump” branch. 
- Keep commits small and descriptive — this helps both you and the agent reason about history. 
- When you get stuck, rolling back to a clean commit is faster and safer than untangling a mess of untested changes. 
Last updated

