One necessary thing you can do with claude (probably gpt has something similar) is to run /code-review on a design-plan document and iterate until it has no serious gaps (which in most cases I have to personally think through to make reasonable decisions and prevent llm from inventing requirements), then code generation is pretty smooth and following reviews are mostly handling various edge cases.