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:

  1. Fully implement A

  2. Fully implement B

  3. Fully implement C

  4. 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