Mate a AI Slop
AI slop é feio de uma forma específica: ela empilha todos os estilos e detalhes possíveis sem definir um foco. Um gradiente, um brilho, um mascote, emoji, uma parede de cards brilhantes, cada padrão ativado de uma vez, até que todo produto pareça o mesmo template berrante. Parece "projetado" em miniatura e desmorona no momento em que alguém olha. Seu trabalho é remover o excesso até chegar a algo que uma pessoa realmente escolheria.
Os princípios, aplicados em cada correção que você fizer:
- Decida antes de decorar. Cada escolha visual deve ser explicável.
- Um destaque, uma voz.
- Hierarquia a partir de escala e espaço. Colorir palavras ou trocar fontes é um atalho.
- Subtraia primeiro. O primeiro passo para não ser feio é remover coisas.
- Específico vence chamativo na cópia.
- Decoração deve significar algo — ícones, badges, callouts são sinais.
Fluxo de Trabalho
Siga estas etapas em ordem. Não faça edições em massa antes que o usuário veja o relatório.
1. Escopo
Confirme o que escanear. O padrão é a fonte do aplicativo/site (pule node_modules, dist, build, .git, vendor, lockfiles, arquivos minificados). Pergunte se o projeto mistura vários aplicativos.
2. Escaneamento
Execute o scanner incluído, que busca no código-fonte os sinais de código de cada característica e imprime ocorrências agrupadas por arquivo:linha:
node scripts/scan.mjs <raiz> # relatório legível por humanos
node scripts/scan.mjs <raiz> --json # legível por máquina, para triagem
Ele é Node puro (sem dependências) e nunca edita arquivos. Use sua saída como um mapa inicial, não como verdade absoluta — confirme cada ocorrência lendo o código.
Para restringir uma varredura: --only=01,06 / --skip=19 filtra por id da característica, e --exclude=legacy remove caminhos (correspondência de substring no caminho relativo ao projeto). --rules=extra.mjs carrega características adicionais específicas de projeto ou linguagem (scripts/rules.ru.mjs é um exemplo de cópia em russo incluído e o modelo para os seus). As ocorrências que o usuário confirmou como intencionais podem ser fixadas na fonte com comentários deslop-ignore, deslop-ignore-next-line 06 ou deslop-ignore-file — prefira as formas com escopo de id para que novas características ainda apareçam.
3. Triagem
Para cada ocorrência, abra o arquivo e decida entre slop vs. intencional. Esta é a etapa que diferencia esta skill de uma regra de lint. Um gradiente, uma serifa ou um emoji podem ser uma escolha real e defendida. Mantenha tudo o que o usuário claramente escolheu (tokens de marca, um logotipo, uma ilustração deliberada). Sinalize apenas os padrões.
Leia references/taxonomy.md para entender o que é cada característica e por que ela parece feita por máquina, e references/detection.md para os padrões exatos e seus falsos positivos comuns.
4. Relatório
Antes de mudar qualquer coisa, forneça ao usuário um resumo agrupado: cada característica, as ocorrências arquivo:linha que você confirmou, uma frase sobre o motivo e a correção proposta. Espelhe o formato:
slop src/Hero.tsx:12 gradiente índigo→violeta → um destaque sólido
slop src/Hero.tsx:31 título com gradiente recortado → tinta sólida, aumentar escala
slop src/Note.tsx:8 callout border-l-4 ×3 → 1 aside, resto é corpo
slop copy.md:1 "não apenas X — é Y" → diga a coisa específica
→ 4 grupos, 11 ocorrências.
Em seguida, pergunte quais grupos aplicar ou se deve prosseguir com todos.
5. Correção
Aplique a alteração mínima que remove a característica, preservando a intenção e a função. Use references/fixes.md para o padrão antes→depois de cada característica.
- Prefira editar tokens/componentes compartilhados em vez de tocar em cada local de chamada.
- Nunca invente novas cores de marca; se uma paleta precisar mudar, proponha neutros + o destaque existente do projeto e deixe o usuário confirmar.
- Mantenha o significado da cópia; torne-a específica, não apenas a delete.
- Execute o scanner novamente após a correção para confirmar que a contagem caiu e anote quaisquer ocorrências que você deixou intencionalmente (com o motivo).
Salvaguardas
- Respeite a autoria. Trate arquivos desconhecidos e floreios deliberados como escolha de alguém. Quando não tiver certeza se algo é slop, pergunte — não remova.
- Diffs pequenos e revisáveis. Nunca reformate código não relacionado. Nunca execute
git add -A; selecione arquivos explícitos apenas e deixe o trabalho em andamento de outros em paz. - Sem novas dependências para realizar este trabalho.
- Verifique visualmente quando possível. Se um servidor de desenvolvimento existir, veja o antes e o depois; uma varredura aprovada não é o mesmo que uma página melhor.
Referências
references/taxonomy.md— as 35 características: o que cada uma é, por que é slop, a correção.references/detection.md— padrões concretos de ripgrep/regex + falsos positivos.references/fixes.md— padrões de remediação antes→depois.scripts/scan.mjs— o scanner sem dependências.