Using LLMs/agents to do gap analysis and fill boilerplate doesn't rule out also reviewing the output and hand-optimising. That is how the tools should be used (if you aren't being a luddite like me and not using them at all) rather than click-and-hope vibe-coding.