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