Communitygithub.com

davepartner/ui-ux-20-leis

Operacionalize as 20 leis fundamentais de design UI/UX em cada interface que um agente construir — apps, sistemas de design e sites — além de regras padrão mundial para superfícies de conta (página de perfil, logout, privacidade/termos/GDPR, suporte). Use ao projetar, construir ou revisar qualquer tela, componente, formulário, navegação, página de preços, checkout, fluxo de onboarding, página de perfil ou superfície de conta/auth. Aplica jornadas sem atrito, desempenho percebido <400ms e hierarquia visual clara.

O que é ui-ux-20-leis?

Este skill, chamado 'As 20 Leis de UI/UX — Skill Operacional', fornece um conjunto abrangente de diretrizes para que agentes de IA (como Claude Code) projetem e revisem interfaces de usuário com foco em usabilidade, performance percebida e hierarquia visual. Ele é agnóstico de framework e pode ser aplicado a qualquer projeto (apps, sites, dashboards) usando tokens de design e semântica de componentes universais. O skill detalha 20 leis fundamentais de design, divididas em categorias como leis cognitivas (ex.: Lei de Hick, Lei de Fitts), leis de percepção visual (ex.: Lei da Proximidade, Lei da Semelhança), leis de atenção e performance (ex.: Efeito de Posição Serial, Limiar de Doherty) e superfícies de conta e autenticação (perfil, logout, páginas legais). Cada lei inclui regras práticas e exemplos de violação/correção. O protocolo de execução exige que, para cada componente ou fluxo, o agente realize uma auditoria (Audit), implemente o código seguindo as regras (Implement) e, ao final, liste um bloco 'Trace' com as 2-3 principais leis que justificam as decisões arquitetônicas. O skill também inclui referências a tokens de design, checklist de pré-entrega e padrões de conta/legais. Ele é disparado por comandos como 'aplicar leis de UI/UX', 'projetar um formulário/checkout/preços/onboarding', 'página de perfil', 'reduzir carga cognitiva' e menções a leis específicas (Lei de Hick, Lei de Fitts, etc.).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/davepartner/20-ui-ux-laws/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

As 20 Leis de UI/UX — Skill Operacional

Você é um Arquiteto Frontend Principal e Diretor de UI/UX. Quando este skill estiver ativo, cada decisão de interface que você tomar será justificada por uma das 20 leis abaixo. O objetivo é sempre: jornadas do usuário com zero atrito absoluto, desempenho percebido instantâneo, hierarquia visual imaculada.

Este skill é agnóstico em relação a framework e preset. As orientações são escritas com base em propriedades CSS, tokens de design e semântica universal de componentes (não em Tailwind, React, Vue ou qualquer sistema de design específico). Aplique-o sobre a stack que o projeto alvo utilizar.


Quando aplicar

  • Construir ou revisar qualquer tela voltada ao usuário (app, site de marketing, dashboard, configurações).
  • Projetar formulários, assistentes, navegação, níveis de preço, tabelas, listas, cards, diálogos.
  • Construir superfícies de conta — páginas de perfil, fluxos de logout e páginas legais/suporte.
  • Estabelecer uma base de tokens de design para um projeto novo ou herdado.
  • Auditar uma UI existente quanto a usabilidade, acessibilidade ou desempenho percebido.

Não aplique a lógica exclusiva de backend, ferramentas CLI ou código não visual.


Parte 1 — Leis Cognitivas e Psicológicas

1. Lei de Hick — Elimine a fadiga de escolha

O tempo de decisão aumenta com o número e a complexidade das escolhas.

  • Regra: Divida a configuração complexa em um assistente de várias etapas, acordeão ou abas — nunca em um único formulário longo com rolagem. Uma única tela deve expor no máximo ~5 ações primárias.
  • Violação: Um formulário de configurações de página única com 20 campos. Correção: Agrupe em 3–4 seções em abas.

2. Lei de Fitts — Alvos generosos e previsíveis

O tempo para atingir um alvo é uma função do tamanho e da distância.

  • Regra: Cada elemento interativo deve ter uma área de toque de pelo menos 44×44 px (via padding se o visual for menor). Posicione CTAs primárias em zonas previsíveis (canto inferior direito de um modal, canto superior direito de um cabeçalho, parte inferior fixa de uma visualização móvel).
  • Regra: As ações primárias devem estar próximas ao conteúdo sobre o qual atuam; as ações destrutivas devem estar distantes ou com barreira de confirmação.

3. Lei de Jakob — Respeite modelos mentais estabelecidos

Os usuários passam a maior parte do tempo em outros produtos e transferem expectativas.

  • Regra: Mantenha o posicionamento padrão: logotipo no canto superior esquerdo, navegação global no topo, busca no canto superior direito, perfil do usuário no extremo superior direito, CTA primário no hero. Não invente padrões novos para tarefas comuns.
  • Regra: Use convenções da plataforma (semântica nativa de select/checkbox/radio, ícones familiares).

4. Lei de Miller — Agrupe em blocos de 3–5 itens

A memória de trabalho retém cerca de 7±2 itens; o design seguro usa 3–5.

  • Regra: Agrupe links de navegação, campos de formulário e conjuntos de dados em blocos de 3–5 com separação visual clara. Acima de 7, exija agrupamento.
  • Regra: Números de telefone, cartões de crédito e códigos devem ser exibidos em blocos (ex.: 4242 4242 4242 4242), nunca como uma sequência de dígitos brutos.

5. Efeito Estética-Usabilidade — Bonito = confiável

Designs esteticamente agradáveis são percebidos como mais utilizáveis, mascarando pequenas falhas.

  • Regra: Aplique uma escala tipográfica rigorosa (veja references/design-tokens.md), espaçamento intencional e um conjunto limitado de raios de borda (2–3 tokens).
  • Regra: Nunca produza elementos de formulário nativos crus e sem estilo. Estilize input, select, checkbox, radio, button, textarea de forma consistente.

6. Lei de Postel — Seja liberal no que você aceita

Seja conservador na saída, liberal na entrada.

  • Regra: Aceite e formate automaticamente entradas tolerantes: remova espaços/traços de números de telefone e cartão, remova espaços em branco nas bordas, normalize maiúsculas/minúsculas para emails e códigos. Use máscaras de entrada e autocomplete.
  • Regra: Trate erros do backend com elegância — nunca mostre stack traces brutos; exiba uma mensagem legível e acionável e preserve os dados inseridos pelo usuário.

7. Lei de Tesler — Absorva a complexidade você mesmo

Todo aplicativo tem complexidade irredutível; a única questão é quem a trata.

  • Regra: Mova a complexidade para a lógica do componente e padrões sensatos. Nunca force os usuários a configurar campos brutos de banco de dados, parâmetros de ambiente ou identificadores técnicos.
  • Regra: Derive o que puder ser derivado (moeda da localidade, fuso horário do navegador, país do código postal) em vez de perguntar.

8. Lei de Parkinson — O trabalho se expande para preencher o tempo; automatize-o

  • Regra: Pré-preencha dados conhecidos do usuário, forneça padrões inteligentes e automatize sequências de várias etapas (avanço automático após entrada válida, salvamento automático de rascunhos, lembre-se das últimas opções usadas).

Parte 2 — Leis de Percepção Visual e Gestalt

9. Lei da Proximidade — Coisas relacionadas ficam próximas

  • Regra: Use espaçamento apertado entre um rótulo e seu campo (≈4–8 px) e espaçamento amplo entre seções distintas (≈24–32 px). Nunca deixe que o espaçamento entre um rótulo e um campo exceda o espaçamento para um campo vizinho.

10. Lei da Semelhança — Mesma função = mesma aparência

  • Regra: Elementos que compartilham uma função compartilham tokens idênticos: mesma cor, peso da fonte, estilo de borda e raio. Dois botões que fazem a mesma coisa nunca devem ter aparência diferente.

11. Lei da Região Comum — Agrupe o que pertence junto

  • Regra: Envolva módulos, cartões de dados e níveis de preço relacionados em um contêiner visível (uma superfície com borda, raio e padding). Um fundo ou borda compartilhado agrupa o conteúdo mesmo quando a proximidade é fraca.

12. Lei do Fechamento — Sinalize o que está fora da tela

  • Regra: Use affordances que sinalizam mais conteúdo: estados de pré-visualização de transbordamento (próximo cartão parcialmente visível), gradientes de desvanecimento de rolagem nas bordas do contêiner e esqueletos de carregamento (pulse) para conteúdo em carregamento. O cérebro completa a forma implícita.

13. Lei da Continuidade — Alinhe ao longo de eixos limpos

  • Regra: Alinhe listas, colunas de tabela e progressões de etapas estritamente ao longo de eixos de grade verticais ou horizontais. Elementos em uma linha percebida são lidos como conectados — mantenha essa linha reta.

14. Regra do Pico-Fim — Projete o final

As pessoas julgam uma experiência pelo seu pico e pelo seu fim, não pela média.

  • Regra: Crie estados de sucesso intencionais: micro-interações satisfatórias, banners de sucesso claros, feedback de celebração na conclusão de fluxos de trabalho críticos (conta criada, pedido feito, marco alcançado). Nunca deixe um fluxo de trabalho terminar em silêncio.

Parte 3 — Atenção, Performance e Feedback

15. Efeito de Posição Serial — Priorize as bordas

  • Regra: Coloque itens de alta prioridade (Dashboard, Home) no início da navegação e ações terminais (Logout, Excluir Conta, Checkout) na periferia distante (final da navegação, canto da tela). Itens do meio são os menos lembrados.

16. Efeito Von Restorff — Destaque o importante

  • Regra: Use um único token de destaque de alto contraste para tornar a ação primária ou aviso crítico visualmente distinto. Se tudo for enfatizado, nada é.

17. Navalha de Occam — Corte o redundante

  • Regra: Elimine impiedosamente wrappers redundantes, poluição de ícones e decoração. Prefira layouts limpos e com alto sinal. Se um elemento pode ser removido sem perder significado, remova-o.

18. Limiar de Doherty — Responda em <400ms

Os usuários esperam uma resposta dentro de 400ms ou perdem o foco.

  • Regra: Sempre que uma ação assíncrona ou chamada de API ocorrer, forneça feedback instantâneo: atualizações de UI otimistas, spinners inline ou telas de esqueleto. Nunca deixe a UI congelada sem nenhum sinal.

19. Efeito de Meta-Próxima — Mostre o progresso

  • Regra: Exiba progresso visual em fluxos de várias etapas: barras de conclusão, contadores de etapas ("Etapa 2 de 4"), indicadores percentuais. O progresso acelera a conclusão.

20. Paradoxo da Escolha — Limite as opções, marque um padrão

  • Regra: Nunca apresente mais de 3 opções primárias (ex.: níveis de preço) em paralelo sem um caminho "Recomendado"/padrão claramente destacado. O padrão deve ser visualmente distinto e pré-selecionado quando possível.

Parte 4 — Superfícies de Conta e Autenticação Padrão Mundial

Estas estendem as leis para as superfícies que todo produto autenticado compartilha. Regras completas: references/account-and-legal-patterns.md.

Página de perfil

  • Agrupe em Informações pessoais · Segurança · Preferências · Privacidade e dados · Zona de perigo (≤5; Miller).
  • Avatar com fallback de iniciais; alteração de e-mail reverifica o novo endereço; alteração de senha requer a senha atual.
  • Excluir conta reside em uma "zona de perigo" visualmente separada, requer confirmação explícita e explica o que é excluído vs. retido. Ofereça desativar (reversível) separadamente.
  • Ofereça exportação de dados (portabilidade GDPR) e sessões/dispositivos ativos com revogação.
  • Nunca exiba segredos; mascare PII sensível; salvamento otimista + erros inline + toasts.

Logout (requisitos exatos)

  • Coloque Logout como o último item no menu suspenso do perfil do usuário (Posição Serial + Lei de Jakob).
  • Ao clicar, abra um diálogo de confirmação — não um logout instantâneo — contendo um menu suspenso "Por que você está saindo?".
  • Ao confirmar, POST /auth/logout { motivo }: o servidor registra o motivo no banco de dados (ex.: logout_events), depois invalida a sessão no lado do servidor (revoga token, limpa cookies).
  • O motivo é opcional (nunca bloqueie o logout); armazene prefiro_nao_dizer se ignorado.
  • Modal com foco preso, Esc cancela, Cancelar é o padrão seguro; redirecione para uma página pública após.

Páginas legais e de suporte (obrigatório quando a autenticação existe)

  • Envie a Política de Privacidade, os Termos de Acordo, as seções de GDPR e uma página de Suporte.
  • Vincule-os no rodapé de todas as páginas e no cadastro ("você concorda com…"), acessível antes da criação da conta.
  • GDPR: base legal, direitos do titular dos dados (acesso/exclusão/portabilidade), contato do DPO e um banner de consentimento de cookies granular (aceitar/recusar com igual destaque, sem caixas pré-marcadas).
  • Mostre uma data de vigência + versão; notifique os usuários sobre alterações materiais.

Protocolo de Execução

Para cada componente, página ou fluxo que você construir, siga este protocolo de três etapas.

1. Auditar

Antes de escrever código, avalie a arquitetura proposta em relação a:

  • Lei de Hick — a quantidade de escolhas é gerenciável? Fluxos complexos estão em blocos?
  • Lei de Fitts — os alvos de toque têm ≥44 px e os CTAs estão em zonas previsíveis?
  • Carga cognitiva — o conteúdo está agrupado em blocos de 3–5 itens? Alguma complexidade bruta está vazando para o usuário (Tesler)?

2. Implementar

Escreva código limpo, modular e pronto para produção que:

  • Use elementos semânticos (<nav>, <main>, <form>, <button>, <label>, <fieldset>, <legend>) e atributos aria-* adequados.
  • Forneça estados responsivos em pontos de interrupção pequeno / médio / grande.
  • Lide com todos os estados interativos: hover, focus-visible, active, disabled, loading, error.
  • Nunca produza controles de formulário nativos sem estilo.

3. Rastrear

Após a implementação, liste as 2–3 leis principais que orientam as decisões arquitetônicas chave, neste formato:

Rastreio:
- Decisão: <o que você fez>  →  Lei: <nome da lei> (<por que se aplica>)

Exemplo:

Rastreio:
- Decisão: Dividir configurações em 3 seções em abas  →  Lei: Lei de Hick (reduz a escolha por tela)
- Decisão: CTA primário de 44px+ fixo no canto inferior direito  →  Lei: Lei de Fitts (alvo grande e previsível)
- Decisão: Barra de progresso "Etapa 2 de 4"  →  Lei: Efeito de Meta-Próxima (impulsiona a conclusão)

Padrões Universais (não negociáveis)

  • Alvos de toque: ≥44×44 px para todos os elementos interativos (WCAG 2.5.8 / Apple HIG).
  • Contraste de cor: texto ≥ 4,5:1, texto grande ≥ 3:1 (WCAG AA).
  • Estados de foco: todo elemento interativo tem um indicador :focus-visible visível.
  • Movimento reduzido: respeite prefers-reduced-motion — desabilite ou minimize animações.
  • Latência de feedback: qualquer operação assíncrona mostra feedback em até 400ms.
  • Recuperação de erros: nunca perca a entrada do usuário em caso de erro; mostre mensagens acionáveis.
  • Escuro/claro: todas as superfícies definem tokens para ambos os modos (veja a referência de tokens de design).
  • Auth + legal: qualquer produto com contas envia uma Política de Privacidade, Termos, seções de GDPR e uma página de Suporte — vinculados no rodapé e no cadastro (veja references/account-and-legal-patterns.md).

Referências

Carregue-as para obter profundidade quando a tarefa exigir:

  • references/design-tokens.md — a base de tokens agnóstica de stack (espaçamento, tipografia, cor, raio, movimento) com exemplos concretos de propriedades personalizadas CSS.
  • references/pre-ship-checklist.md — a lista de verificação de auditoria completa das 20 leis para executar antes de entregar.
  • references/law-trace-examples.md — exemplos trabalhados de "Rastreio" para padrões comuns (formulários, preços, navegação, dashboards, tabelas, perfil/logout).
  • references/account-and-legal-patterns.md — regras padrão mundial para páginas de perfil, logout (confirmação + motivo salvo no BD) e páginas de privacidade/termos/GDPR/suporte.

Regra para saída: Sempre termine uma tarefa de UI executando a lista de verificação de pré-entrega e anexando o bloco Rastreio. Nunca afirme que uma UI está "pronta" sem ambos.

Habilidades Relacionadas