I got a decent design document describing what the app needs to do, including concrete user flows. I've made this with review help from Claude and ChatGPT to catch inconsistencies, or underspecified areas. If porting an old app, use them to reverse-engineer a lot of this from the old code.
I then uploaded that to Claude Design, along with perhaps some screenshots or crude box drawings for reference. Claude Design asks me questions and we iterate a bit.
The I export it to Claude Code and have it implement. I make it add tests using suitable test framework.
I then just iterate. Once the automated tests work I test it manually, describing the issues, eg top banner doesn't stick to the top, some container overflows, or changes I want made, attaching screenshots for reference in some cases.
I ask it to update the automated tests yo catch relevant issues I found, to avoid regression.
At least for fairly straight forward apps I found you come amazingly far without lifting the frontend bonnet.
That said Claude Design asks you if you have reference images from apps you want it to look like, so perhaps it uses them under the hood or reproduce them.
1. Find a UI kit ready, shadcn / shadcn-svelte
2. Define my fonts and borders and theme <- My design
3. Implement the business
But in that second step there might be much more to do.
I generally don't find that the frameworks help nearly as much as people think they do, and if you haven't learned the basics they easily get in the way of doing so.