DesignEssential5-point gate · Any stack
Every state is a designed state
Empty, loading, error, success-after — designed before the happy path ships.
Use this when
A blank div where data will appear 'later'
A lone spinner centered in a void
Error copy written by the framework, not you
The quality gate
- Empty state teaches the first action (not a blank div)
- Loading state matches final layout (skeleton, no jumps)
- Error state says what happened and what to do next, in human words
- The state 2 seconds AFTER success is designed (what does the user see now?)
- Flows are drawn before screens; dead ends have exits
Prove it: Kill the network and open every screen — each must still look designed.
Install or copy
Save the download as every-state-designed/SKILL.md in your agent's supported skills directory, or copy the complete package below. Load it only when its description matches the work.
Portable SKILL.md
--- name: every-state-designed description: "Applies “Every state is a designed state” as a repeatable product-quality gate. Use during design work when empty, loading, error, success-after — designed before the happy path ships." --- # Every state is a designed state Apply this skill during **Design** work. It supports Any stack. Empty, loading, error, success-after — designed before the happy path ships. ## Instructions For every screen you design or build, enumerate and implement all five states before polishing the happy path: empty (teach the first action), loading (skeleton that matches final layout — no layout shift), error (plain-language cause + next step + retry), success, and after-success (what the user sees 2 seconds later). A screen missing any state is unfinished. Map the flow before drawing the screen; every dead end needs a way out. ## Detect the problem - A blank div where data will appear 'later' - A lone spinner centered in a void - Error copy written by the framework, not you ## Hold the gate Do not declare this phase complete until every item passes: - [ ] Empty state teaches the first action (not a blank div) - [ ] Loading state matches final layout (skeleton, no jumps) - [ ] Error state says what happened and what to do next, in human words - [ ] The state 2 seconds AFTER success is designed (what does the user see now?) - [ ] Flows are drawn before screens; dead ends have exits ## Verify the result Kill the network and open every screen — each must still look designed.
More design skills
Want this quality gate applied to a real product decision?
Start a First Loop