Communitygithub.com

es-kimo/claude-skills

Analisa se uma nova tela ou alteração de UI é consistente com o 'design grain' (tokens, componentes, layout, representação de estados, tom de texto) de um projeto sem designer. Extrai critérios das telas existentes se não houver documento de referência.

O que é claude-skills?

Esta skill realiza uma revisão automatizada de consistência de UI para projetos que não possuem designer dedicado. Ela verifica se novas telas ou alterações introduzidas respeitam os padrões visuais existentes, analisando tokens (cores, espaçamento, tipografia), componentes compartilhados, layout, representação de estados (loading, vazio, erro, sem permissão, sucesso) e tom de texto. A skill pode ser usada em três modos: autoavaliação (checklist pessoal), revisão de PRs (apenas inconsistências introduzidas pela mudança) e inspeção geral (todas as inconsistências). Se não houver um documento de referência (design.md), ela extrai automaticamente os padrões mais frequentes do código fonte usando comandos git grep, e nesse caso só reporta como bloqueante inconsistências internas. O reporte final lista cada desvio com título, localização, referência, direção de correção e classificação (bloqueante ou sugestão).

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/es-kimo/claude-skills/tree/HEAD/plugins/review-kit/skills/ui-consistency-review

Perguntar na sua IA favorita

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

Documentação

Revisão de Consistência de UI

Sem um designer, a "tela existente" é o padrão de design. Como agentes combinam classes Tailwind de forma diferente para cada tela, UIs com o mesmo papel podem variar sutilmente entre telas. Esta revisão captura essas inconsistências. Ela não julga se algo é bonito ou não.

0. Modos

ModoAlvoItens bloqueantes
AutoavaliaçãoMinha própria tela alteradaCorrigir
Revisão de alteraçãoArquivos e estilos alterados pelo PRApenas inconsistências introduzidas pela mudança
InspeçãoTodas as telasTodas

1. Ler os critérios

  1. Procure por docs/review/design.md. Se não existir, use o documento de design apontado por CLAUDE.md ou AGENTS.md.

  2. Extraia do documento de referência: princípios, tokens (função da cor, espaçamento, largura, fontes), componentes compartilhados, representação de estados (loading, lista vazia, erro, sem permissão, sucesso), tom e termos.

  3. Se não houver documento de referência, extraia das telas existentes.

    # Valores reais usados por função e sua frequência
    git grep -hoE "text-(red|amber|green|zinc|gray|slate)-[0-9]+" -- 'src/**/*.tsx' | sort | uniq -c | sort -rn
    git grep -hoE "max-w-[a-z0-9]+|gap-[0-9]+|px-[0-9]+|py-[0-9]+" -- 'src/**/*.tsx' | sort | uniq -c | sort -rn
    

    Use o valor mais frequente como referência e escreva na primeira linha: "Sem documento de referência → extraído das telas existentes". Se não houver documento de referência, apenas inconsistências internas são consideradas bloqueantes.

2. O que verificar

  • Tokens: O mesmo papel usa valores diferentes (ex: cor de erro red-600 vs red-500, largura de página max-w-2xl vs max-w-3xl)? Novos valores não definidos nos critérios foram introduzidos?
  • Componentes: UIs com o mesmo papel (botão principal, link, mensagem de erro, estado vazio, indicador de loading) foram recriadas copiando strings de classe em vez de usar o componente compartilhado?
  • Estrutura de layout: Largura da página, margens, posição do título e posição do botão "voltar" são iguais às outras telas?
  • Representação de estados: Loading, lista vazia, erro, sem permissão e salvamento bem-sucedido são exibidos da mesma forma (posição, cor, estrutura da frase) que nas telas existentes?
  • Tom e texto: O tom (formal, informal etc.) é consistente? O mesmo objeto é chamado por nomes diferentes? A mensagem de erro segue a estrutura "o que falhou + o que fazer"?
  • Informações de desenvolvimento: Valores de medição, IDs internos, hashes aparecem na interface do usuário? Se o documento de referência não permitir, aponte.
  • Acessibilidade mínima: Inputs têm label? Estados são distinguidos apenas por cor? Botões são acessíveis por teclado? O idioma do documento (lang) corresponde ao idioma da tela?

3. Verificar com a tela

Se for possível executar, gere capturas de tela antes e depois da alteração com os mesmos dados e compare (skill compare-output). Se não for possível por necessidade de login ou credenciais externas, informe que a análise foi feita apenas pelo código. Não finja ter visto telas que não foram executadas.

4. Classificação

Bloqueante

  • Viola uma regra do documento de referência.
  • Introduz nova representação (valor, estrutura de frase, posição) para uma UI com o mesmo papel.
  • Existe componente compartilhado, mas a UI foi recriada copiando strings de classe.

Sugestão

  • Novo padrão em área não coberta pelo documento de referência. Escreva como "proposta de critério" para que uma pessoa decida se adiciona ao documento.
  • Inconsistência que já existia antes.

Não reportar: preferências pessoais ("esta cor é mais bonita"), sugestões de design não relacionadas aos critérios.

5. Relatório

Primeira linha: escopo analisado, existência de documento de referência, se as telas foram realmente visualizadas e número de ocorrências.

Para cada item:

  • Título: Escreva o desvio como resultado. ("A tela de postagem tem largura de página diferente, fazendo a posição do conteúdo mudar ao navegar")
  • Localização: arquivo:linha e arquivo:linha de referência.
  • Critério: qual regra ou tela existente foi violada.
  • Direção: qual valor ou componente deve ser usado para alinhar.
  • Classificação. Se for "proposta de critério", uma linha sobre o que adicionar ao documento de referência.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas