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
Mensagem pronta para colar
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-engOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/emil-design-eng/SKILL.md -o SKILL.mdConteú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
Comentários
- …
Mais skills deste repositório
sample-plugin
Faz seu agente criar um arquivo de metadados para testes. Ele ajuda a garantir que o código funcione corretamente em diferentes situações.
nexu-io/open-design
aster-atelier
Ajuda seu agente a criar um site artístico com visual clássico. Ele usa imagens elegantes, céus azuis e fontes serifadas para um visual cinematográfico.
nexu-io/open-design
audio-jingle
Faz seu agente gerar áudio como jingles e efeitos sonoros. Ele pode criar músicas e vozes, salvando o resultado em um arquivo de áudio.
nexu-io/open-design
blog-post
Ajuda seu agente a escrever artigos longos ou posts de blog. Ele inclui espaços para imagens, citações e informações do autor.
nexu-io/open-design
Skills parecidas
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
design-system
Ajuda seu agente a criar um sistema de design a partir de um código existente. Ele extrai informações visuais e verifica a consistência, gerando um relatório e uma prévia interativa.
affaan-m/ECC
liquid-glass-design
Ajuda seu agente a criar interfaces de usuário com efeito 'Liquid Glass' para iOS. Permite adicionar efeitos visuais dinâmicos e interativos em SwiftUI e UIKit.
affaan-m/ECC