Decide before code
Grill the idea with focused questions. Turn the answers into ADRs, shared domain language, and a phase specification future sessions can inherit.
How to keep quality high when coding agents can implement faster than you can review: align the work, equip the agent, verify the behavior, and spend human judgment where mistakes matter most.
These patterns come from six months of daily agent work on PhotoQuest, a production Kotlin and Spring Boot product. The talk is about the harder question behind the output: how do you ensure quality and manage risk?
The right workflow depends on how well you understand the problem and how large it is. Prototype when uncertainty is high. Add durable structure as the work becomes clearer and larger.
Failure state: big specs. One overloaded session fills its context and loses important steps. Slice the specification so each group of stories starts fresh.
Grill the idea with focused questions. Turn the answers into ADRs, shared domain language, and a phase specification future sessions can inherit.
Give agents repository instructions, current JVM expertise, hooks, semantic IDE operations, focused tests, and current API documentation.
Use behavioral contracts, tests, reports, screenshots, and independent reviewers. Reserve human attention for ambiguity, interfaces, and high-risk decisions.
The failure mode: autonomous implementation without review checkpoints can produce more correct-looking work than a human can hold in their head. A faster loop needs better judgment, not a larger final diff.
Start with the constraint that matches your current bottleneck. You do not need every tool at once.
jvm-skillsDeep JVM knowledge built by JVM experts you can trust.
jOOQ skillLoad focused production knowledge such as MULTISET guidance only when the task needs it.
tdd-taskKeep implementation inside a visible red → green → refactor loop.
grill-with-docsGrill the design one decision at a time while building the domain glossary and recording durable architectural decisions.
specTurn resolved decisions into a durable, verifiable implementation contract.
IntelliJ MCPGive the agent semantic JVM operations instead of shell-only feedback.
JavaDoc CentralResolve current Java and Kotlin library documentation from Maven coordinates.
Align before the agent builds. Build through verified feedback loops. Turn behavior into reviewable evidence.