padosoft-admin-interfacelisted
Install: claude install-skill padosoft/skills
# Admin interface
An admin screen is a filtered query with a chart on top, and it fails in the same handful of ways every time:
a spinner with nothing behind it, an empty table that might be a failure, a filter that quietly matches
everything, an export that dies at ten thousand rows.
Two halves — the server pipeline and the client contract — plus **the four states**, which is the section to
read first if you only read one.
---
## 1. The four states are mandatory
Every screen explicitly handles all four. Not one of them is implicit, and a missing one is a broken screen,
not a rough edge.
| State | What the user sees | When |
|---|---|---|
| **Initial / empty** | An empty state with a call to action | First load, no filter applied yet |
| **Loading** | Skeleton or spinner, submit disabled | While fetching |
| **Success** | The data | Response OK |
| **Error** | A visible error, controls re-enabled | Fetch failed, or the response carries an error |
**Empty, missing and broken must look different.** Collapsing them into one blank panel is what makes a
defect unreportable: the user cannot describe what they saw, because they saw nothing. That is the same rule
as **`padosoft-failure-visibility`**, which is where the server side of it lives.
An error state that leaves the submit button disabled is the worst of the four: the screen is now
unrecoverable without a reload.
## 2. Server pipeline — the order matters
Build in this order, because each layer defines the contract o