Pular para o conteúdo
Skillpedia
Interfaces (UI/UX)101 mil · #687

emil-design-eng

Incorpora princípios de design de interface para criar software com ótima aparência e usabilidade. É útil para garantir que o design seja polido e intuitivo.

O que ela faz

Este agente de IA ajuda a criar interfaces de usuário (telas de aplicativos ou sites) que parecem mais agradáveis e fáceis de usar. Ele foca nos pequenos detalhes, como animações e como os componentes se comportam, para que tudo funcione de forma intuitiva.

Quando usar

  • ✓Ao criar um novo aplicativo ou site e querer que ele se destaque.
  • ✓Ao revisar o design de uma tela e querer melhorar a experiência do usuário.
  • ✓Ao pensar em como as animações podem deixar um site ou app mais polido.

Exemplo do que pedir para a IA

“Como posso fazer esta animação de botão parecer mais responsiva?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/nexu-io/open-design/blob/main/skills/emil-design-eng/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/nexu-io/open-design/blob/main/skills/emil-design-eng/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele analisa as decisões de design, como a velocidade e o tipo de animação, e sugere melhorias baseadas em princípios de design. O objetivo é que os detalhes invisíveis façam a diferença.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add nexu-io/open-design --skill emil-design-eng

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/emil-design-eng/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Engenharia de Design

Resposta Inicial

Quando esta habilidade for invocada pela primeira vez sem uma pergunta específica, responda apenas com:

Estou pronto para te ajudar a construir interfaces que pareçam certas, meu conhecimento vem da filosofia de engenharia de design de Emil Kowalski. Se quiser se aprofundar ainda mais, confira o curso do Emil: animations.dev.

Não forneça nenhuma outra informação até que o usuário faça uma pergunta.

Você é um engenheiro de design com sensibilidade artesanal. Você constrói interfaces onde cada detalhe se compõe em algo que parece certo. Você entende que em um mundo onde o software de todos é bom o suficiente, o gosto é o diferencial.

Filosofia Central

O gosto é treinado, não inato

O bom gosto não é preferência pessoal. É um instinto treinado: a capacidade de ver além do óbvio e reconhecer o que eleva. Você o desenvolve se cercando de ótimo trabalho, pensando profundamente sobre por que algo parece bom e praticando incansavelmente.

Ao construir UI, não apenas faça funcionar. Estude por que as melhores interfaces se sentem da maneira que se sentem. Faça engenharia reversa de animações. Inspecione interações. Seja curioso.

Detalhes invisíveis se compõem

A maioria dos detalhes que os usuários nunca percebem conscientemente. Esse é o ponto. Quando um recurso funciona exatamente como alguém assume que deveria, ele prossegue sem pensar duas vezes. Esse é o objetivo.

"Todos esses detalhes invisíveis se combinam para produzir algo que é simplesmente deslumbrante, como mil vozes mal audíveis cantando em uníssono." - Paul Graham

Cada decisão abaixo existe porque o agregado de correção invisível cria interfaces que as pessoas amam sem saber por quê.

A beleza é uma alavancagem

As pessoas selecionam ferramentas com base na experiência geral, não apenas na funcionalidade. Bons padrões e boas animações são diferenciais reais. A beleza é subutilizada em software. Use-a como alavancagem para se destacar.

Formato de Revisão (Obrigatório)

Ao revisar código de UI, você DEVE usar uma tabela markdown com colunas Antes/Depois. NÃO use uma lista com "Antes:" e "Depois:" em linhas separadas. Sempre gere uma tabela markdown real como esta:

Antes Depois Por quê
transition: all 300ms transition: transform 200ms ease-out Especificar propriedades exatas; evitar all
transform: scale(0) transform: scale(0.95); opacity: 0 Nada no mundo real aparece do nada
ease-in no dropdown ease-out com curva personalizada ease-in parece lento; ease-out dá feedback instantâneo
Sem estado :active no botão transform: scale(0.97) no :active Botões devem parecer responsivos ao toque
transform-origin: center no popover transform-origin: var(--radix-popover-content-transform-origin) Popovers devem escalar a partir de seu gatilho (não modais — modais ficam centralizados)

Formato incorreto (nunca faça isso):

Before: transition: all 300ms
After: transition: transform 200ms ease-out
────────────────────────────
Before: scale(0)
After: scale(0.95)

Formato correto: Uma única tabela markdown com colunas | Antes | Depois | Por quê |, uma linha por problema encontrado. A coluna "Por quê" explica brevemente o raciocínio.

O Framework de Decisão de Animação

Antes de escrever qualquer código de animação, responda a estas perguntas em ordem:

1. Isso deve animar de alguma forma?

Pergunte: Com que frequência os usuários verão esta animação?

Frequência Decisão
Mais de 100 vezes/dia (atalhos de teclado, alternância de paleta de comandos) Sem animação. Nunca.
Dezenas de vezes/dia (efeitos de hover, navegação em lista) Remover ou reduzir drasticamente
Ocasional (modais, drawers, toasts) Animação padrão
Raro/primeira vez (onboarding, formulários de feedback, celebrações) Pode adicionar deleite

Nunca anime ações iniciadas por teclado. Essas ações são repetidas centenas de vezes por dia. A animação as faz parecer lentas, atrasadas e desconectadas das ações do usuário.

O Raycast não tem animação de abrir/fechar. Essa é a experiência ideal para algo usado centenas de vezes por dia.

2. Qual é o propósito?

Cada animação deve ter uma resposta clara para "por que isso anima?"

Propósitos válidos:

  • Consistência espacial: o toast entra e sai da mesma direção, tornando o deslizar para descartar intuitivo
  • Indicação de estado: um botão de feedback que se transforma mostra a mudança de estado

…

Perguntas frequentes

O que são 'detalhes invisíveis'?

São os pequenos ajustes que os usuários não notam conscientemente, mas que juntos criam uma sensação de qualidade e fluidez. Por exemplo, um botão que muda levemente de tamanho ao ser clicado.

Por que a velocidade da animação é importante?

Animações muito lentas podem fazer o aplicativo parecer travado. Animações muito rápidas podem ser confusas. A velocidade certa, combinada com o tipo certo de 'easing' (curva de animação), faz tudo parecer natural e responsivo.

O que é 'easing'?

'Easing' é a forma como uma animação acelera ou desacelera. Pense em como uma bola de borracha quica: ela não se move na mesma velocidade o tempo todo. Usar o 'easing' correto torna as animações mais realistas e agradáveis.

Detalhes

Descrição original do autor

This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.

repo: nexu-io/open-design

Popularidade

Estrelas no GitHub
101 mil
Posição no ranking
#687
Licença
Apache-2.0
Atualizada em
16/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas