Communitygithub.com

toothpick

Use ao projetar ou modificar qualquer interface de usuário: sites, landing pages, sites de marketing, painéis administrativos, software de desktop, aplicativos móveis, componentes, painéis, formulários, modo escuro, cores, tipografia, READMEs e diagramas. Também para solicitações como "criar uma página", "deixar mais bonito", "remodelar isso" ou "construir o frontend". Ajuda a identificar e remover a aparência padronizada e falhas comuns de interfaces geradas por IA, produzindo um design contido e preciso que surge do próprio produto.

O que é toothpick?

Toothpick é um skill para agentes de IA especializado em design de interface do usuário, com foco em eliminar a "aparência de IA" e falhas comuns que tornam as interfaces genéricas, toscas ou pouco profissionais. Ele oferece um fluxo de trabalho estruturado em 7 etapas, variando de pequenos ajustes (como alterar uma cor) até grandes projetos (como um novo site ou redesenho). O skill ajuda o agente a reconhecer dois tipos de clichês de IA: os antigos (gradientes roxos, emojis como ícones, layouts com três cards) e os mais recentes que se passam por "bom gosto" (fundo de papel creme com serifa, tema escuro com néon, ou estilo jornalístico suíço). Além de identificar essas tendências, o guia ensina a substituí-las por decisões fundamentadas no produto e no conteúdo, usando uma lista de verificação e referências de interfaces consagradas (como Vercel, GitHub, Linear, e produtos chineses). O skill também enfatiza a transparência: proíbe dados falsos, funcionalidades inventadas e interações enganosas, garantindo que o resultado seja honesto tanto para usuários finais quanto para desenvolvedores. É suportado em qualquer plataforma onde o agente possa executar comandos e ler arquivos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/xiaomao8090/toothpick-skill/tree/main/skills/toothpick

Perguntar na sua IA favorita

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

Documentação

Toothpick: remova o sabor de IA e entregue uma interface que se sustenta

O que é este guia

Aqui não existem regras como "sempre use esta fonte" ou "nunca use aquela cor". Você pode usar qualquer cor, tipo de letra ou layout.

Ele faz duas coisas:

  1. Ajuda a reconhecer o sabor de IA: quais escolhas são padrões impensados de uma IA e por que as pessoas os identificam instantaneamente.
  2. Ajuda a evitar falhas comuns: os erros que fazem uma interface parecer tosca, barata ou pouco profissional.

Há um teste: essa escolha foi feita para este produto, ou você a teria feito para qualquer produto? A segunda opção é o sabor de IA.

O estilo explícito do usuário, as diretrizes de marca e o estilo de código existente sempre vencem, mesmo quando o que ele pede é um dos "sabores de IA" listados abaixo.


O que é o sabor de IA

Em cada decisão de design, uma IA tende para a opção mais comum. Ele aparece em duas camadas.

Camada um, os velhos clichês: gradientes de roxo para azul, emojis como ícones, cartões arredondados idênticos com sombras cinzas, a página de destino "título centralizado mais três cartões de funcionalidades", textos como "desbloqueie possibilidades ilimitadas". Muitas pessoas já reconhecem esses.

Camada dois, fingindo ter bom gosto: quando instruída a "não parecer IA", a IA muda para outra roupa igualmente fixa:

  • Fundo de papel creme, título grande em serifa, acento terracota ou vermelho escuro, posando como "aconchegante e de bom gosto"
  • Fundo quase preto, um acento verde néon, âmbar ou vermelhão, monoespaçada em todo lugar, posando como "hacker"
  • Traços finos pretos estilo jornal, raio de borda zero, colunas densas, posando como "suíço e profissional"
  • Um rótulo em maiúsculas acima de cada título, strings com "·" (ponto médio) em todo lugar, "→" após cada link, monoespaçada para cada rótulo de dado pequeno, "01 / 02 / 03" em conteúdo que não é uma sequência
  • Números decorativos enormes, assimetria por si só, um prompt "$" de terminal ou um ponto de status "●" usado como decoração

A camada dois é mais difícil de notar porque parece "projetada". É o mesmo problema da camada um: o estilo foi colocado, não surgiu do produto.

A lista completa, com por que cada item soa como IA e quando é realmente aceitável, está em references/ai-tells.md.

Como são as boas interfaces

references/benchmarks.md tem medições da Vercel, GitHub, ChatGPT, Google e Linear, além dos produtos chineses DingTalk, Juejin, WeChat Read e sspai, e como as interfaces chinesas diferem (títulos mais pesados, altura de linha maior, tamanhos menores). O que as referências em inglês compartilham:

  • Muito poucas cores: quase inteiramente preto, branco e cinza, mais uma cor funcional
  • Uma família tipográfica; títulos são grandes, mas não pesados
  • Separação leve: espaços em branco, contornos finos pálidos, sombras muito fracas, não regras pretas e sombras pesadas
  • O produto em si é o herói; decoração é quase zero
  • Um ponto focal por tela

Estas são uma referência, não um modelo. Uma cafeteria não deve parecer a Vercel, mas deve ser igualmente contida e precisa, com o conteúdo à frente.

A referência pode se tornar o novo padrão. Se seus últimos projetos, com seus nomes cobertos, todos resultam em branco, cinza neutro, botões em pílula e painéis com bordas finas, a referência se transformou em modelo. Use-a para calibrar o ofício: quão leve é uma linha, quão suave é uma sombra, quão fino é um título. Cor, material e o herói vêm da lista na etapa 2.


Fluxo de trabalho

0. Primeiro, dimensione a mudança

MudançaExemplosQuais etapas
PequenaUma alteração de cor, espaçamento ou texto; corrigir um componente; adicionar um botãoLeia o código relevante e as variáveis de estilo, altere no estilo existente, verifique as poucas entradas relevantes em references/ai-tells.md e entregue com uma ou duas frases (uma lista de placeholders apenas se houver placeholders)
MédiaUma nova página ou as telas de um novo recurso dentro de um produto existenteEtapa 1, um plano de três ou quatro linhas, depois etapas 5 a 7. Mantenha o estilo existente do produto; pule o inventário e a argumentação
GrandeUm novo produto, um site, uma landing page, um redesenhoTodas as sete etapas

Em caso de dúvida, escolha o tamanho menor; o usuário pedirá mais. Não escreva um plano de design para um único botão.

1. Entenda o que é isso: leia o projeto primeiro, depois o visitante

  • Em um projeto existente, leia-o antes de tocar em qualquer coisa. Antes de qualquer plano ou código, descubra:

    • Quais recursos o projeto realmente tem (leia o README, rotas, páginas e API; não adivinhe a partir de títulos de página)
    • Componentes existentes, variáveis de estilo, conjunto de ícones e fontes. A nova IU os utiliza; não inicie um sistema paralelo
    • O modelo de dados e os campos reais que a API retorna. Construa a IU com base nesses campos
    • O vocabulário existente no texto. Mantenha o mesmo nome para a mesma coisa

    Escreva em algumas linhas "o que o projeto tem" e baseie o plano nisso. Para qualquer coisa que você não possa ler (por exemplo, o backend não está no repositório), pergunte ao usuário ou declare sua suposição claramente.

  • Qual é o produto ou conteúdo? Para quem é? Se não estiver claro, faça uma suposição concreta, diga-a em uma linha e siga em frente em vez de perguntar repetidamente.

  • Decida o modo desta página (julgue a página, não o produto: a página inicial de uma ferramenta de desenvolvedor é Persuadir, seu painel é Operar):

ModoO que sucesso significa para o visitanteExemplosPara onde vai o esforço de design
PersuadirDecide e agePágina inicial, landing page, campanha, preçosUm ponto de vista e impacto; persuadir com imagens reais
OperarConclui uma tarefaAdmin, painel, editor, configurações, ferramentasEscaneável, consistente, eficiente; a personalidade vive em detalhes precisos
LerEntende o conteúdoDocumentação, artigos, central de ajuda, changelogEstrutura clara, uma experiência de leitura confortável
VitrineEstá imerso no trabalhoPortfólio, galeria, estudos de casoO trabalho lidera, a interface recua

Referências correspondentes: Persuadir e Vitrine usam references/web.md, Operar usa references/app-desktop.md, mobile adicionalmente usa references/mobile.md. READMEs de projetos e os mapas mentais ou diagramas dentro deles usam references/readme.md.

  • Refinamento ou redesenho? Um refinamento mantém o estilo, texto e comportamento existentes e altera apenas o que está no escopo. Um redesenho substitui a aparência geral, mas mantém fatos do produto, conteúdo e recursos. Não aplique um novo estilo pela metade sobre o antigo.

2. Inventarie o que pertence apenas a este assunto

Escreva de 8 a 12 coisas concretas que pertencem a este cliente e a nenhum concorrente: o nome e o que significa, a rua e a cidade, o número da porta e a placa da loja, materiais e cores, seus números (lugares, altitude, anos no mercado), suas restrições (um lote por mês, fechado no inverno), seus rituais (o forno é aceso às cinco), as coisas impressas do seu mundo (recibos, etiquetas, horários).

As ideias de design vêm desta lista, não de "como os sites deste setor geralmente são". Uma habilidade de código aberto que consultamos realizou testes cegos: as páginas vencedoras usaram itens de tal lista; as páginas perdedoras tinham boas composições baseadas em ideias genéricas do setor.

3. Escreva o argumento antes de escolher as seções

Cada seção de uma página de marketing deve ser uma afirmação mais sua evidência, uma linha cada:

Herói: três torras esta semana, enviadas na sexta → evidência: três sacos, a data da torra
Grãos: cada um tem uma origem e sabor claros → evidência: origem real, altitude, notas de degustação
...

Exclua qualquer seção sem uma afirmação. Isso o mantém fora da estrutura padrão "herói, parede de logotipos, três funcionalidades, depoimentos, preços, FAQ".

4. Escreva um plano curto

  • Cor: 4–6 valores, cada um com onde é usado
  • Tipo: quais tipografias e o que cada uma faz
  • Layout: uma frase sobre a ideia, um wireframe ASCII simples se útil, e o alinhamento
  • Herói: a coisa mais persuasiva nesta página e quais ativos você realmente tem (não projete em torno de imagens que não existem)
  • Intensidade: contido (o padrão para Operar e Ler), um herói (o padrão para Persuadir: uma imagem ousada do inventário, todo o resto quieto), ou um conceito completo (veja "Quando se comprometer com um conceito forte" abaixo)

5. Verifique o plano: padrão ou escolha?

  • Dado um briefing semelhante, eu chegaria aproximadamente ao mesmo plano? Se sim, essa parte é um padrão; volte à lista da etapa 2 para ideias.
  • Isso atinge algo em references/ai-tells.md? Se sim, mude-o, ou seja capaz de dizer por que este produto precisa disso.
  • Há mais decoração do que conteúdo?

Diga brevemente em sua resposta o que você mudou e por quê.

6. Construa

  • Gerencie cores e espaçamento com variáveis CSS. Cuidado com a especificidade dos seletores para que as classes não se sobrescrevam (especialmente o padding das seções).
  • O conteúdo de exemplo é real e específico, e os números somam.
  • Quando a página mostra a interface do produto (por exemplo, o espaço reservado para captura de tela em uma página inicial de SaaS), construa-o como um fragmento real desse produto: dados reais, números que somam, uma descoberta clara. Não blocos cinzas e números falsos.
  • Detalhes de ofício estão em references/craft-details.md.

7. Olhe o resultado, corrija em lotes, depois remova uma coisa

  • Olhe em tamanhos reais: desktop, telefone (cerca de 375px), modo escuro se você o construiu. Olhe uma vez, corrija tudo junto; não tire capturas de tela após cada ajuste.
  • Percorra checklist.md.
  • Como verificar o espelho antes de sair de casa, remova um acessório.
  • Quando você não puder ver o resultado (o modelo não pode ler imagens, ou não há navegador): não finja que olhou. Em vez disso, revise o código: o texto mais longo cabe na coluna em cada ponto de quebra, qual é a taxa de contraste calculada a partir dos valores de cor, todos os estados de interação estão escritos? Diga em sua entrega que você não viu em um navegador e peça ao usuário uma captura de tela de desktop e uma de telefone para outra passagem.

Conter não é vazio

Remover decoração é apenas metade do trabalho. Uma página que perdeu rótulos, linhas e cartões e não ganhou nada em seu lugar parece magra, e pode perder para uma página mais rica que ainda tem algum sabor de IA. A outra metade é substância: escala tipográfica mais ousada, campos inteiros de cor, imagens reais do mundo deste assunto, cada seção preenchida com seu conteúdo completo.

Quando se comprometer com um conceito forte

Conter é o padrão, não o teto. Um conceito visual de página inteira (uma história em quadrinhos, um jornal, um desenho técnico, um ingresso) é adequado quando todos estes itens são verdadeiros:

  • Tem uma fonte: o usuário pediu, ou o próprio mundo do assunto fala esta linguagem (os desenhos de um arquiteto, as provas de uma gráfica, um horário ferroviário) e você pode encontrá-la na lista da etapa 2
  • Cada dispositivo mapeia para conteúdo: escreva o mapeamento, por exemplo "linhas de velocidade: solicitações se acumulando", "densidade de retícula: quão pesada é a fechadura". Descarte qualquer dispositivo que você não possa mapear
  • Ainda lê com precisão: código, números, tabelas e botões ainda podem ser lidos e clicados sem erro. O conceito serve ao conteúdo e nunca faz as pessoas interpretarem mal
  • Os fatos não mudam: um novo estilo mantém todos os fatos do produto, recursos, números e a lista de placeholders
  • Sabe onde parar: use-o totalmente na linha principal e mantenha-se contido nos detalhes; não coloque um elemento temático em cada canto

Se falhar em algum destes, volte para um herói: use a linguagem apenas no herói ou em uma seção. A diferença de uma fantasia de estilo: uma fantasia serve a qualquer produto (creme e serifa, quase preto e néon, linhas finas de jornal); um conceito forte só faz sentido para este.

Ao entregar, explique a ideia de design em uma ou duas frases para que o usuário possa redirecionar facilmente, e anexe a lista de placeholders (veja "Não finja nada, não engane nenhum desenvolvedor").

Quando o usuário pede mudanças

O usuário dizSignifica
Mais ousadoContraste de escala maior, campos inteiros de cor, um herói maior. Não mais decoração
Mais quieto / muito ocupadoMenos cores e menos movimento, menos tamanhos de tipo, remova elementos secundários
SimplifiqueExclua seções e elementos sem uma afirmação; mantenha o essencial
Mais polimentoOfício: alinhamento, espaçamento, raio, sombras, estados, partes nativas do navegador
Está pronto para enviar?Erros, estados vazios, conteúdo muito longo, outros idiomas, casos extremos

Não finja nada, não engane nenhum desenvolvedor

Usuários e desenvolvedores devem ser capazes de dizer o que é real e o que ainda não foi feito.

Nada falso na frente dos usuários finais

  • Nenhum logotipo inventado, parede de logotipos de clientes ou selos de parceiros. Nenhum logotipo falso montado a partir de símbolos como "$", "▲" ou "●"; sem logotipo, o nome do produto em texto simples é suficiente.
  • Nenhuma contagem de usuários, taxas de satisfação, números de crescimento, depoimentos ou menções à imprensa inventados.
  • Verifique fatos profissionais (detalhes técnicos, padrões, regulamentações, medicina, finanças, estatística). A IA escreve estes fluentemente, e seus erros parecem igualmente fluentes:
    • Liste as afirmações profissionais na página. Consulte o que puder na documentação ou padrões e cite a fonte em um comentário de código
    • O que você não puder confirmar, deixe de fora ou liste sob "Não verificado" na lista de placeholders
    • Os números na página devem concordar entre si (70 solicitações por segundo durante 41 segundos são 2.870 solicitações)

Nada que engane o desenvolvedor

  • Nenhum recurso inventado: todo recurso mostrado na interface existe no projeto ou foi explicitamente solicitado. Não adicione "recomendações inteligentes" ou "exportação com um clique" para fazer a página parecer melhor.
  • Dados fictícios nunca se passam por dados reais: conecte a API real quando puder. Quando não puder, mantenha os dados fictícios em um lugar (por exemplo, mock/), com os mesmos campos da API real, e marque-os como fictícios no código. Não codifique números atraentes em componentes para que a página pareça "pronta".
  • Nenhuma interação falsa: um botão, formulário ou link que não está conectado não deve ter uma animação de clique que finge que funciona. Desabilite-o e rotule-o como "não conectado", ou liste-o nas notas de entrega.
  • Demonstrações e conceitos construídos do zero podem usar uma marca e dados fictícios, mas a página deve dizer que é um exemplo.

Anexe uma lista de placeholders

...

[truncado para tradução]

Habilidades Relacionadas