List every state
Default, loading, error, empty, and disabled states all need to be named, not left implicit.
COMPONENT SPEC PROMPT
Specify states, interactions, accessibility needs, and styling constraints to build a complete prompt for generating a UI component.
Planning guidance only. Validate important decisions with customer evidence and your delivery team.
YOUR INPUTS
Complete every field. The result updates only when you choose Calculate.
Default, loading, error, empty, and disabled states all need to be named, not left implicit.
Click/hover/keyboard behavior and ARIA/focus requirements are what separates a usable component from a merely good-looking one.
Design tokens, breakpoints, or existing components to match keep the output consistent with the rest of your UI.
Continue learning: Prompting for production-ready UI
It's the section most often skipped or generated poorly by default, and the most expensive to retrofit after the component is already wired into your app.
List the ones you do know and mark the rest as "TBD" explicitly — an agent that sees an explicit gap behaves differently than one that assumes there are no other states.
You can, but expect a second pass. Filling in all four sections upfront is usually faster than patching missing states or accessibility afterward.
Each of the four sections is checked for at least 10 characters of real content; the score is the percentage of sections that pass.
| Feature | MVPHub | v0 | Figma |
|---|---|---|---|
| Structured 4-section component prompt | Included | Not included | Not included |
| Completeness scoring | Included | Not included | Not included |
| Accessibility called out explicitly | Included | Limited | Not included |
| Forces explicit state coverage before generation | Included | Not included | Not included |
v0 and similar tools generate the component itself once you have a prompt. This tool helps you write the prompt so the first generation covers states, interactions, and accessibility instead of just the happy path.
Add this tool to your site with the canonical iframe below. It remains hosted and maintained by MVPHub.