High-Quality Software Engineering With Agents

Use this module when you are moving beyond a quick prototype and asking an agent to build software that you expect to keep, share, or depend on.

Coding agents can produce changes faster than you can inspect them. Without a clear process, that speed can create code that appears to work but is difficult to understand, verify, or safely change.

High-quality agentic engineering means remaining accountable for the result. It means planning before implementation, testing and reviewing what the agent produces, and using feedback loops that help it correct mistakes. It also means saving what each project teaches you as documentation, tools, and reusable skills. The goal is software that works now and a process that makes the next change easier.

How to produce high-quality work

Grill Spec Tickets Implement Review findings revise the spec
Lifecycle framing inspired by Matt Pocock

How to make changes safely

Checkpoint Build Test attempt run the suite stuck or lost? revert red · fix and retry green · commit — take the next ticket

Testing tips

  1. Add behavioral tests. “Add behavioral tests to ensure all important behaviors always work, now and forever.”
  2. Test in a real browser. “Use headless Chrome so you can automatically test all the actual user flows.”
  3. Optimize your tests. “Optimize the tests using best practices so they run faster and more efficiently!”
  4. Adversarial testing. “What are all the likely ways our app might break or not work or not be able to handle certain cases? Please test against all of those cases in advance. What is every likely failure mode.”
  5. Add tests for bugs. “Hey, we have this bug. Can you add a test which will replicate it and successfully guard us against regressions. Make sure to document what regression we’re defending against so we don’t delete this.”

Starting Points

  1. Begin with Simon Willison’s Vibe engineering. It separates careless code generation from professional work with agents. Look for the established engineering practices that become more important, not less important, when code is cheap to produce.

  2. Read Compound Engineering. Its cycle—plan, work, review, and compound—covers the full software development process with agents. The final step matters most: save what the project taught you so the next task starts with better instructions, tools, tests, or documentation.

  3. Meet three toolkits through the essays that explain how their creators use them:

    Each toolkit turns practices such as planning, debugging, testing, review, and verification into reusable skills that help an agent stay on track.

Deep Dive