Communitygithub.com

molveau/anti-slop

Elimina el aspecto generado por IA de una interfaz de usuario y le da una dirección propia. Úsalo cuando una pantalla, página de inicio o dashboard parezca generado (degradados morados, texto degradado, etiquetas con emojis, glow, pills de subtítulo, Inter por todas partes, copia con palabras de moda, espaciado desigual), cuando el usuario pida 'des-slopear', 'des-AIzar' o hacer que una página deje de verse generada, y antes de enviar cualquier UI para comprobar las 20 señales. Incluye un script de detección sin dependencias y una receta para test de trinquete.

¿Qué es anti-slop?

La skill 'anti-slop' está diseñada para ayudar a desarrolladores y diseñadores a eliminar los patrones visuales predecibles que los modelos de IA tienden a generar cuando crean interfaces de usuario. Estos patrones, como gradientes púrpura, texto con degradado, etiquetas con emojis, o espaciado inconsistente, hacen que las páginas parezcan 'vibra-codificadas' ('vibe-coded'), genéricas y sin identidad. La skill combina tres fuentes principales: el método paso a paso de 'unslop', la maquinaria de dirección artística de 'taste-skill', y una lista de 20 señales reveladoras (tells) con un script de detección automatizado. El flujo de trabajo comienza con una 'puerta de dirección' que obliga a definir la personalidad del producto antes de escribir código, evitando así los valores por defecto de segunda generación. Luego, se realiza una auditoría visual, se corrige la UI en nueve pasadas (espaciado, color, iconos, copia, tipografía, layout, detalles, visuales, movimiento) y se verifica con el script detector y una lista de verificación. La skill también incluye un test de trinquete (ratchet test) que registra el número actual de señales y falla si aumenta, asegurando que la calidad solo mejore con el tiempo. Además, permite generar un video de historia que muestra la transformación paso a paso, ideal para documentar el proceso. Es compatible con Claude Code, Cursor, Codex y otros agentes de IA que usan el estándar de skills, y funciona con Node.js 20 o superior, sin dependencias externas.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/molveau/skills/tree/main/skills/anti-slop

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Anti-slop (Anti-señales de IA)

Las UIs codificadas con vibraciones fallan de las mismas formas predecibles. Esta skill fusiona tres cosas en un flujo de trabajo: el método paso a paso de unslop, la maquinaria de dirección artística de taste-skill, y una lista de 20 señales reveladoras desactualizadas con un script que detecta las mecánicas.

Créditos y licencias

  • El método está adaptado de unslop por Damir Sokolovsky (https://github.com/heydamir/unslop), bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Adaptado: condensado y fusionado con taste-skill por Leonxlnx y las señales de Molveau en references/playbook.md. Mantén este crédito en cualquier copia o adaptación. El original está almacenado sin modificar en references/vendor/unslop/.
  • La ejecución de dirección artística, las reglas internas y el inspector provienen de taste-skill por Leonxlnx (https://github.com/Leonxlnx/taste-skill), MIT, almacenado sin modificar en references/vendor/taste/.
  • La lista de 20 señales y scripts/detect-tells.mjs son propiedad de Molveau (MIT).
  • scripts/story.mjs está adaptado del renderizador de unslop (CC BY 4.0, los cambios se listan en su encabezado); permanece bajo CC BY 4.0, al igual que scripts/story-server.mjs, su servidor local. scripts/story-contrast.mjs es propiedad de Molveau (MIT).

Comienza aquí

Lee references/playbook.md primero, comenzando por su bloque "Haz esto primero"; abre los archivos de los vendedores solo para profundizar o para ejemplos prácticos. El playbook es la doctrina fusionada (dirección, pasadas, copia, espaciado, color, tipografía, iconos, detalles, datos, pantallas de app, imágenes, movimiento, comprobaciones) con etiquetas de origen y las decisiones tomadas cuando las fuentes discrepan. La tabla "Qué leer cuándo" a continuación es el índice de profundidad.

Superposición: esta es la pasada de aspecto IA. Las filas de crítica de la skill ui son la revisión de diseño general más ligera, y design-grill es la auditoría profunda de múltiples lentes; úsalas para la calidad de diseño más allá de las señales.

Puerta de dirección

Haz esto antes de cualquier código para una nueva página o pantalla y como paso 3 de cada ejecución de slop pesado, incluso cuando la solicitud sea de una línea o diga que solo lo hagas. El resto de esta skill elimina errores; no le da carácter a una pantalla. Si se omite, el resultado es la página mediana que todo modelo hace: correcta en los detalles, pero sin dueño.

  1. Cinco líneas. Producto: qué hace, para quién. Carácter: dos o tres palabras concretas (tranquilo, exacto, un poco cálido), nunca limpio, moderno, elegante, minimalista o premium. Mundo: el lugar o material al que pertenece el producto; tiñe los neutros y define el acento. Momentos: los uno o dos lugares que obtienen color y detalle ricos. Firma: un pequeño detalle que solo tiene este producto, usado de forma consistente. Un momento se dibuja con cuidado, no solo se limpia: un gráfico redibujado para lo que debe decir (líneas suaves, una comparación reflejada, una escala real), o el objeto propio del producto renderizado con peso y luz.
  2. Inventario, luego la idea. Enumera de 8 a 12 cosas que ningún competidor comparte (nombre, calle, números en el briefing, materiales, herramientas, rituales, documentos que imprime el oficio). Escribe: "En esta pantalla, [un elemento] se convierte en [el dispositivo]". Ese dispositivo es el momento.
  3. Rechaza los valores por defecto de segunda generación a menos que la marca ya los posea. Son lo que un modelo alcanza una vez que las señales obvias están prohibidas:
    • una página beige, piedra o blanco cálido con un acento naranja quemado, terracota, salvia o bosque, con o sin un titular serifa (el aspecto "papel y tinta" es el nuevo valor por defecto, no una dirección);
    • Fraunces, Instrument Serif, Playfair o Georgia como la fuente del titular por reflejo; system-ui como la única fuente;
    • Inter o Geist sobre blanco con un acento índigo o azul;
    • héroe, tres características, testimonios, llamada a la acción, en ese orden, sin argumento; en una pantalla de app, cuatro tarjetas de estadísticas iguales sobre un gráfico de barras;
    • un subtítulo centrado, titular y dos botones ocupando toda la primera pantalla.
  4. Prueba de intercambio. Reemplaza el nombre y el oficio con los de un competidor. Si la pantalla sigue encajando, cambia la afirmación, el momento y la firma, y prueba de nuevo.
  5. Muestra y espera. Muestra las cinco líneas y la idea, y espera al dueño. Si no puedes preguntar (el usuario dijo que solo lo construyas, o ejecutas sin una persona), escríbelas como un comentario al principio del archivo principal y construye exactamente eso.

Profundidad: playbook anti-slop §2 (dirección) y §12 (pantallas de app); la skill design-inspiration-index para referencias reales.

La idea central

El slop extiende color y efectos sobre el cromo: fondos, botones, bordes, etiquetas. El diseño cuidado mantiene el cromo silencioso y pone la riqueza en uno o dos momentos de contenido que la gente recuerda. Eliminar el slop es la mitad del trabajo; una pantalla limpia que podría pertenecer a cualquier producto es la siguiente plantilla. Cada ejecución termina con una pantalla que solo este producto podría tener.

Orden de trabajo

  1. ¿Página desde cero o rediseño profundo? Sigue la ejecución de taste-skill (references/vendor/taste/taste-skill.md) con las anulaciones del playbook. Pantallas de app: playbook §12.
  2. Mira la pantalla, renderizada si puedes, no solo el código.
  3. Audita contra la lista de señales (references/vendor/unslop/unslop/references/signs.md) y las 20 señales (references/tells.md). Una línea por señal, con dónde vive.
  4. Dimensiona el trabajo (pesado, ligero, sin slop) y escribe la dirección, luego espera al dueño (playbook §1 y §2).
  5. Corrige en nueve pasadas, cada una a lo largo de toda la pantalla: espaciado, color, iconos, copia, tipografía, layout, detalles, visuales, movimiento (playbook §3 a §14).
  6. Verifica con la lista de verificación del playbook, ejecuta el detector, compara con la auditoría (playbook §15).
  7. Informa la dirección, unas pocas líneas por pasada, y cada afirmación que eliminaste o no pudiste verificar.

Las 20 señales

Tabla completa con reemplazos: references/tells.md. Resumen, con lo que detecta el script:

#SeñalScript
1Degradado violeta/fucsia/índigosí
2Texto degradadosí
3Emoji en la copiasí
4Inter o Space Grotesk por todas partesno
5Borde de franja lateral de colorsí
6Glassmorfismo decorativosí
7Modo oscuro de bajo contrasteno
8Tres cajas de iconos en filano
9Píldora de subtítulo sobre el titularno
10Lucide por defectosí
11shadcn/ui sin modificarno
12Fundido al hacer scrollsí
13Brillo que sigue al cursorno
14Fundido al pasar el ratón sobre botonessí
15Espaciado inconsistenteno
16Guiones largos en la copiasí
17Copia con palabras de modasí
18Palabras de acento en cursiva serifano
19Space Grotesk con su compañero serifa display habitual (par en references/tells.md)sí
20Granulado sobre degradadono

El detector

node <carpeta de la skill>/scripts/detect-tells.mjs [--json] [--include-tests] <rutas...>

Sin dependencias, Node 20 o superior, sin imports fuera de esta carpeta de skill, por lo que funciona cuando la skill está instalada sola. Salida 0 limpio, 1 hallazgos, 2 uso. Omite node_modules .git .next dist build .open-next coverage y archivos de prueba. Reporta ruta:línea #etiqueta de señal coincidencia. Los límites se listan al final de references/tells.md; trata un acierto como "mira aquí".

Test de trinquete en un proyecto

Un trinquete fija el recuento actual y falla cuando aumenta, por lo que las señales solo pueden reducirse. Esquema para node:test (adapta las rutas y la línea base):

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { readFileSync, globSync } from 'node:fs'; // globSync necesita Node 22; en Node 20 recorre las carpetas tú mismo
import { detectTells } from './.agents/skills/anti-slop/scripts/detect-tells.mjs';

const BASELINE = { 10: 8, 5: 1 }; // número de señal -> hallazgos permitidos hoy
test('sin nuevas señales de código vibrado', () => {
  const files = globSync('{app,components}/**/*.{ts,tsx,css}').map((path) => ({ path, text: readFileSync(path, 'utf8') }));
  const now = {};
  for (const f of detectTells(files)) now[f.tell] = (now[f.tell] ?? 0) + 1;
  for (const [tell, n] of Object.entries(now)) assert.ok(n <= (BASELINE[tell] ?? 0), `señal ${tell}: ${n} hallazgos, línea base ${BASELINE[tell] ?? 0}`);
});

Baja la línea base cada vez que corrijas una; nunca la subas.

Video de historia

Un clip cuadrado, de unos 10 segundos, donde la pantalla se des-slopee a sí misma paso a paso con líneas rojas. Hazlo solo cuando se te pida. Construye el archivo de historia exactamente como dice la sección "Story video" de unslop (references/vendor/unslop/unslop.md: un story.html, CSS .s1 a .s5 en la parte superior, data-gap, data-radius, data-slop, intercambios), luego renderízalo con el renderizador adaptado de esta skill:

node <carpeta de la skill>/scripts/story.mjs unslop-story/story.html unslop-story.mp4   # --wide para 16:9, --play para verlo

Lo que añade al renderizador de unslop:

  • Un paso de Accesibilidad. Un paso cuyo nombre contiene Accesibilidad muestra mediciones en vivo. Pon data-contrast en dos a cuatro elementos de texto cuyo contraste cambia; cada uno muestra su relación WCAG, roja por debajo de 4.5:1 (3:1 para texto grande), blanca con AA una vez que pasa, gris ? cuando un color no puede leerse (como lab() o color(display-p3 ...)): usa colores sRGB, hex o oklch() en esos elementos. Pon data-target en uno o dos controles; cada uno muestra su tamaño, rojo por debajo de 24 por 24 px. Elige elementos que fallen en el antes; nunca marques un elemento que aún falla en el después.
  • Un pie de foto, <meta name="story-caption" content="...">, abajo a la izquierda. Indica solo lo que es cierto de la ejecución, como el modelo y que la pantalla no fue editada a mano.
  • El crédito molveau/skills · unslop method by @heydamir se dibuja en cada fotograma, como lo pide la licencia CC BY 4.0 de unslop. No lo elimines.

La historia es una presentación de archivos reales: el paso 0 es el antes tal como era, y el último paso equivale al archivo limpio que envías. No mejores la historia más allá de la pantalla enviada.

Qué leer cuándo

NecesidadLeer
Las reglas fusionadas, valores y decisiones de conflictoreferences/playbook.md
Las 20 señales con reemplazos y los límites del detectorreferences/tells.md
El método completo de unslop, dirección, nueve pasadas, lista de verificación, video de historiareferences/vendor/unslop/unslop.md
Valores exactos (espaciado, escala tipográfica, rampas, curvas de movimiento)references/vendor/unslop/unslop/references/tokens.md (sus valores de movimiento están reemplazados: ganan el playbook ui §10 y motion §5, conflicto del playbook 19)
La lista de auditoría de señalesreferences/vendor/unslop/unslop/references/signs.md
Visuales de héroe, prompts de imagen, qué estilos funcionanreferences/vendor/unslop/unslop/references/visuals.md
Código de glifos, medios tonos, tramado y duotonoreferences/vendor/unslop/unslop/references/effects.md
Pantallas de referencia terminadas (imágenes)references/vendor/unslop/unslop/references/refs.md
Capturar una URL en vivo para trabajar sobre una copiareferences/vendor/unslop/unslop/scripts/snapshot.mjs
Una página desde cero o un rediseño profundo: inventario, dirección resuelta, idea, reglas internas, puertareferences/vendor/taste/taste-skill.md
Dashboards, pantallas de administración y configuración en profundidadreferences/vendor/taste/taste-skill/references/app-screens.md
Deck de copia, aritmética de dos líneas, prueba sin inventarreferences/vendor/taste/taste-skill/references/copy.md
Escala tipográfica, ajuste de display, carga de fuentesreferences/vendor/taste/taste-skill/references/type.md
Roles de paleta, campos, páginas oscuras, contrastereferences/vendor/taste/taste-skill/references/colour.md
Márgenes, espacio vacío, el marco, secciones, el teléfonoreferences/vendor/taste/taste-skill/references/layout.md
Encontrar, acreditar, colocar y tratar imágenes y videoreferences/vendor/taste/taste-skill/references/imagery.md
Recetas de movimiento (opt-in: playbook motion §9) y escenas de scrollreferences/vendor/taste/taste-skill/references/motion.md, references/vendor/taste/taste-skill/references/scenes.md
Juzgar un resultado con una rúbricareferences/vendor/taste/taste-skill/references/critique.md
El registro de señales desactualizadas por olareferences/vendor/taste/taste-skill/references/tells.md
El estudio detrás de los números de tastereferences/vendor/taste/taste-skill/references/research.md

Los archivos de los vendedores mantienen su diseño original, por lo que algunos enlaces relativos dentro de ellos pueden no resolverse aquí. Los scripts de taste-skill leen su carpeta library/ (no la leas entera; ejecuta draw.mjs); algunos scripts necesitan Node 22, un navegador, Playwright, ffmpeg o acceso a la red. Qué comprobaciones visuales ejecutar se decide en el playbook ui, conflicto 14 (el conflicto 14 de este playbook apunta allí).

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

molveau/design-inspiration-index

Routing index for design inspiration. Use when you need visual references or ideas for a UI (a hero, landing page, SaaS page, navbar, CTA, motion or micro-interaction, brand or rebrand, component, icon) and want to know which curated gallery to pull from. Maps a need to the best source among galleries, component registries and optional MCP servers. Use it before hunting blindly for inspiration.

molveau/ui

Builds, restyles, polishes and reviews user interfaces with taste. Use when building, restyling or improving a UI, page, screen or component, including a hero, navbar, header, cards, a form or a section ("make it better", "make it pop", "add polish"); working on layout, spacing, typography, color, dark mode or design tokens; polishing hover and focus states or details when something "feels off"; responsive or mobile layout; critiquing, auditing or redesigning an interface; doing a design review or UI roast; simplifying or making a design bolder; or writing prompts that get production-grade UI out of an AI tool.

molveau/vitrine

Playbook for a vitrine, a business showcase / brochure site for a local business. Use at the start of a small business website, brochure site, landing page for a local business, service-business site, or when adding pricing, booking, city pages, local SEO, bilingual FR/EN or a Québec privacy setup to one. Says what such a site needs, in which order to apply the ui, ux, anti-slop, motion, french-typography and loi-25-website skills, and gives a done checklist.

Skills relacionados