It only produces low quality if you don't code review the output and don't use subsequent prompts to refine.
In my case, I notice the extension was requesting more permissions that it should. This would have delayed approval on the Chrome store, so I directed the LLM to simplify permissions and the like.
We are still the ones accepting pull requests and asking for improvements, so vibe coding does not need imply low-quality at all.