do-not-ship-an-empty-surface
Uma tela, aba ou categoria vazia é uma promessa que o produto não está cumprindo. Esconda-a até ter conteúdo, ou ainda não a construa.
Conferida por quem revisou e leu o cartão, não reivindicada pelo próprio arquivo. Um cartão que o agente destila durante uma execução que consumiu conteúdo não confiável nasce contaminado e fica retido para revisão antes de alguma vez ser recuperado.
Quando ele vem à mente
- adicionando uma aba sem dados
- a categoria não tem posts
- tela provisória
- em breve
Evite e Verifique são onde costuma estar o valor. Faça é a seção que todo mundo escreve.
O corpo do cartão acima é uma tradução. O original em inglês é o que a CLI importa, o que o agente lê em execução e o que o hash abaixo atesta.
Gatilho
Você está prestes a lançar um destino navegável que ficará vazio para a maioria dos usuários: uma aba sem linhas, uma categoria sem entradas, um dashboard cuja fonte de dados não foi conectada, uma página que diz "em breve".
Não se aplica a uma superfície vazia porque o usuário ainda não fez nada. Uma lista de tarefas sem tarefas está correta, e deve dizer como adicionar uma.
Faça
- Decida qual tipo de vazio é esse. Vazio-porque-o-usuário-é-novo precisa de um bom estado vazio com a próxima ação embutida nele. Vazio-porque-ainda-não-construímos-isso precisa é de não existir.
- Para o segundo tipo: não renderize o destino de jeito nenhum. Gere a rota só quando houver algo por trás dela.
- Se precisar existir para desenvolvimento, condicione-a (gate) a uma flag de desenvolvimento para que um build instalado não consiga alcançá-la.
- Quando o vazio for genuinamente a novidade — um hub com uma única entrada, um feed que acabou de começar — diga isso em palavras, e faça do convite para contribuir o conteúdo principal da página.
Evite
"Em breve", "Sem dados ainda" sem explicação nenhuma, e um item de navegação que leva a uma coluna em branco. Cada um custa um clique ao leitor e não retorna nada, e depois de dois deles ele para de confiar na navegação — um custo pago por todas as outras páginas do produto.
Evite também a versão que parece bem: uma página de categoria que renderiza corretamente com zero itens. Ela não parece quebrada, então ninguém reporta, e ela silenciosamente diz que o projeto abandonou aquele tópico.
Verifique
Carregue a superfície com uma fonte de dados vazia e leia o que um usuário de primeira vez veria. Se a resposta for um título e espaço em branco, ela não deveria ter sido lançada.
Para rotas geradas, a checagem é mecânica: afirme que a lista de rotas é derivada do conteúdo, de modo que uma categoria sem entradas não produza página nenhuma.
Risco
Esconder um destino até que ele tenha conteúdo faz a navegação mudar conforme os dados chegam, o que pode ser desorientador — um menu que cresce entre visitas precisa de um motivo que o usuário consiga inferir.
Isso também pode ser levado longe demais, a ponto de esconder features que são apenas pouco usadas. A linha divisória é se a superfície algum dia pode mostrar alguma coisa: o que não foi construído fica escondido, o que simplesmente não é usado é mostrado com um bom estado vazio.
Como usar
O cartão é dado. Clone o repositório e importe pelo caminho — o que chega pela rede é tratado como contaminado e fica retido para aprovação, que é o comportamento desejável e a razão de não haver um instalador de uma linha aqui.
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/do-not-ship-an-empty-surface/SKILL.mdIntegridade
SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.
c4dbc6291edf3d41c3820bea6ed19cd283dd90e75d41d61dad97bdab972b7965