Pular para o conteúdo
🆕 New skill: Pstack Skill! Lauren Tan's rigorous engineering orchestrator — 23 playbooks, 21 procedures, and 21 principles in a single skill for any agent.View skill →

Slop Eval

Avalia um design da mesma forma que skill-evaluation avalia uma skill: cada achado cita evidência concreta, cada eixo recebe nota 0–100, a aritmética é executada por script, e a saída é um relatório estruturado — nunca um “vibe check”.

Baseado na lei anti-slop do pols.dev — catálogo de tells, regras absolutas e fórmula de assinatura destilados dela.

  • Avaliar se um design parece genérico/gerado por IA
  • Pedidos como “slop report”, “is this AI slop”, “audit this landing page design”, “de-slop review”
  • Score objetivo de quão templated/machine-made um design parece
  • Gate de qualidade em CI (bloquear PR se Slop Index > threshold)
  • Antes de entregar design para cliente ou publicar
  • Acompanhar evolução do design ao longo do tempo (Tracking Mode)

Para texto (não design), use human-ai (EN) ou humanizar (PT-BR).

Terminal window
npx skills add https://github.com/fabricioctelles/skills -s slop-eval

Vereditos por seção do design com bandas de densidade de tells:

Veredito Tells Significado
CLEAN 0–1 Pode aprovar
SUSPICIOUS 2–3 Revisar antes de aprovar
INFLATED 4–6 Redesenhar seção
CRITICAL ≥7 ou qualquer crit Refazer do zero

Avaliação context-aware para 4 tipos de design:

Contexto Tells Prioritários Tolerâncias
Landing Page L1, L2, S1, C1, K9, L4 K2, K14 (se deadline real), L9
SaaS Dashboard X1, X3, K6, K22, L3, L15 K1, K13, T4, K7 (se UI real)
Editorial T1, T2, T3, L7, W2, L10 C7, L5, K21, T6
E-commerce X3, X5, K23, W3, M8, L3 K14, K22, K17, L12

Tags formalizadas para documentar tells excluídos:

Tag Quando usar
// BRIEF: Cliente/stakeholder direcionou explicitamente
// DESIGN DECISION: Decisão de design documentada com reasoning
// CONTEXT: Contexto do design torna o padrão aceitável
// PREMIUM PAIR: É a versão premium, não a versão slop

Análise de evolução temporal com:

  • Tabela de progressão de scores com tendências (✅/⚠️)
  • Tells resolvidos (o que foi corrigido)
  • Tells novos (o que foi introduzido)
  • Regressões (eixos/seções que pioraram)
  • Métricas de velocidade (tells resolvidos por semana)
  • Recomendações para próxima iteração
Terminal window
# Primeira avaliação — estabelece baseline
slop-eval --target https://site.com --output ./reports/baseline.md
# Avaliação posterior — acompanha evolução
slop-eval --target https://site.com --output ./reports/week-2.md \
--compare ./reports/baseline.md

Guia de prescrição para injetar personalidade em cada eixo — não só “remova tell X” mas “substitua por alternativa premium Y”:

Eixo Genérico Com alma
Cor Paleta de UI kit Uma cor inesperada com razão
Tipografia Inter/Space Grotesk Face com opinião (Gambarino, Reckless)
Componentes Lucide icons em tiles Ícones bespoke em estilo próprio
Layout Stack de hero centralizado Composição assimétrica
Motion Fade-in no scroll Micro-interação authored

25+ checks em 6 fases:

  • Pre-sweep: inventário de evidência, brief documentado, contexto identificado
  • During-sweep: cite-or-cut, premium pair checado, testes de portabilidade e defesa
  • Exclusão: tags documentadas, exclusões genuínas, contagem razoável
  • Post-sweep: checks unverifiable marcados, regras absolutas, gates aplicados
  • Relatório: template seguido, fixes rankeados por impacto
  • Self-audit: “O que ainda parece slop que não flaggeei?”
# Eixo Peso Avaliado por
1 Cor & Luz 2x Tells C1–C15
2 Tipografia & Copy 2x Tells T1–T10, W1–W3
3 Componentes & Ornamento 1x Tells K1–K27
4 Layout & Composição 2x Tells L1–L21
5 Motion & Interação 1x Tells M1–M8
6 Execução & Craft 2x Tells X1–X14
7 Assinatura & Unicidade 3x Fórmula de 7 elementos
8 Coesão 2x 4 verificações
Nota Overall Slop Index Veredito
A 80–100 0–20 Premium — deliberado, assinado, executado
B 60–79 21–40 Considerado — majoritariamente deliberado
C 40–59 41–60 Genérico — limpo mas templated
D 20–39 61–80 Slop — montado de presets
F 0–19 81–100 Slop puro

Cada uma é pass/fail — falha é um tell crítico que dispara gate:

  1. Conteúdo visível por padrão — nada gated em animação de entrada
  2. Sem cortes — nenhum texto/controle cortado por clip, notch ou overflow
  3. Alinhamento paralelo — colunas comparáveis compartilham baselines
  4. Centralização real — tudo que deveria estar centrado está (matemática e ótica)
  5. Contraste legível — todo texto supera o background por gap real
  6. Controles funcionam — todo elemento interativo responde
Canal Pode verificar Não pode verificar
Código (CSS/JSX/HTML) Fonts, hex, gradients, shadows, radii, layout Centralização ótica, contraste renderizado, interações
Screenshot(s) Tudo visual: paleta, tipo, layout, alinhamento Hover/scroll motion, controles mortos
URL ao vivo Tudo acima + interações, motion, fold Apenas o que não exercitou
  • Signature gate: Eixo 7 < 40 → cap overall em 59 (nota C máx). Design limpo sem assinatura ainda é slop.
  • Absolute-rule gate: qualquer tell crítico confirmado → cap overall em 69 (nunca nota A com execução quebrada).
  • Compounding cap: ≥3 tells major de layout → cap Eixo 4 em 40.
.github/workflows/slop-gate.yml
- name: Slop gate
run: |
python3 skills/slop-eval/scripts/score.py overall \
1:$A1:2 2:$A2:2 3:$A3:1 4:$A4:2 5:$A5:1 6:$A6:2 7:$A7:3 8:$A8:2 \
--fail-below 40

📄 Documentação completa no GitHub