···8585- Use a checklist. Plan, iterate, and refine.
8686- [Fail early and often. Agents are pretty good at getting oriented, and failure is cheap. Throw out your problem, and let it work at it. If it fails, start over, adding the tidbits of information it couldnโt figure out on its own](https://sketch.dev/blog/seven-prompting-habits).
8787- Go concurrent. Many agents can work in parallel on different tasks or even the same task with different approaches (you can then choose the best one).
8888-- [LLMs actively reward existing top tier software engineering practices](https://simonwillison.net/2025/Oct/7/vibe-engineering/):
8888+- Applying software engineering best practices is key. [LLMs actively reward existing top tier software engineering practices](https://simonwillison.net/2025/Oct/7/vibe-engineering/):
8989 - Automated testing.
9090 - Planning in advance.
9191 - Comprehensive documentation.
···121121- Tool overload confuses models. Just because you can connect every tool doesn't mean you should. Each tool description consumes context window space and can confuse the model about which tool to use when.
122122- Unix philosophy beats vertical integration. The most powerful coding agents follow Unix principles, simple, composable tools that do one thing well.
123123- The way you wrap, feed, and observe a powerful model often matters more than fancy prompt tricks or extra bells and whistles on the model itself.
124124+- Decomposing your agent into discrete steps improves reliability and efficiency. If there is a bit of work that happens often and is easier to _eval_ than your entire task, that's a good thing to break out and optimize.
124125125126## Use Cases
126127