do-not-ship-an-empty-surface
An empty screen, tab or category is a promise the product is not keeping. Hide it until it has content, or do not build it yet.
Присвоено человеком, который прочитал карточку, а не заявлено файлом о самом себе. Карточка, которую агент выводит во время запуска, поглотившего недоверенное содержимое, рождается заражённой и удерживается на разбор, прежде чем её вообще извлекут.
Когда это вспоминается
- adding a tab with no data
- the category has no posts
- placeholder screen
- coming soon
Ценность обычно лежит в разделах «Избегать» и «Проверить». «Делать» — это раздел, который пишут все.
Повод
You are about to ship a navigable destination that will be empty for most users: a tab with no rows, a category with no entries, a dashboard whose data source is not wired up, a page that says "coming soon".
It does not apply to a surface that is empty because the user has not done anything yet. A task list with no tasks is correct, and should say how to add one.
Делать
- Decide which kind of empty it is. Empty-because-the-user-is-new needs a good empty state with the next action in it. Empty-because-we-have-not-built-it needs to not be there.
- For the second kind: do not render the destination at all. Generate the route only when there is something behind it.
- If it must exist for development, gate it on a development flag so an installed build cannot reach it.
- Where the emptiness is genuinely the news — a hub with one entry, a feed just started — say so in words, and make the invitation to contribute the main content of the page.
Избегать
"Coming soon", "No data yet" with no explanation, and a nav entry that leads to a blank column. Each one costs the reader a click and returns nothing, and after two of them they stop trusting the navigation — a cost paid by every other page in the product.
Avoid also the version that looks fine: a category page that renders correctly with zero items. It does not look broken, so nobody reports it, and it quietly says the project abandoned that topic.
Проверить
Load the surface with an empty data source and read what a first-time user would see. If the answer is a heading and whitespace, it should not have shipped.
For generated routes the check is mechanical: assert that the route list is derived from the content, so a category with no entries produces no page at all.
Риск
Hiding a destination until it has content makes navigation shift as data arrives, which can be disorienting — a menu that grows between visits needs a reason the user can infer.
This can also be taken too far, into hiding features that are merely unpopular. The line is whether the surface can ever show something: unbuilt is hidden, unused is shown with a good empty state.
Как применить
Карточка — это данные. Склонируйте репозиторий и импортируйте её по пути: всё, что приходит по сети, считается заражённым и удерживается до одобрения — это и есть желаемое поведение, и поэтому здесь нет установщика в одну строку.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/do-not-ship-an-empty-surface/SKILL.mdЦелостность
SHA-256 файла в опубликованном виде. Импортёр может проверить, что полученное совпадает с показанным на этой странице.
709fd6657311139308f8facfc2c0a004b1ee484e68337f5d8009d633472fc9d4