Que fait Supprimer le Slop IA ?
Le slop IA est moche d'une manière spécifique : il empile tous les styles et détails disponibles sans jamais se concentrer sur un point central. Un dégradé, une lueur, une mascotte, des émojis, un mur de cartes lumineuses, chaque option activée en même temps, jusqu'à ce que chaque produit ressemble au même modèle criard. Ça donne l'impression d'être « designé » en miniature et s'effondre dès que quelqu'un regarde vraiment. Votre travail consiste à dépouiller tout cela pour retrouver quelque chose qu'une personne choisirait réellement.
Les principes à suivre pour chaque correction :
- Décider avant de décorer. Chaque choix visuel doit pouvoir être expliqué.
- Un seul accent, une seule voix.
- Hiérarchie par l'échelle et l'espace. Colorer les mots ou changer les polices est un raccourci.
- Enlever d'abord. Le premier pas vers le non-moche est de retirer des éléments.
- Le spécifique bat le percutant dans le texte.
- La décoration doit avoir un sens — les icônes, badges, callouts sont des signaux.
Flux de travail
Suivez ces étapes dans l'ordre. Ne faites pas de modifications en masse avant que l'utilisateur ait vu le rapport.
1. Périmètre
Confirmez ce qu'il faut analyser. Par défaut, analysez les sources de l'application/site (ignorez node_modules, dist, build, .git, vendor, fichiers de verrouillage, fichiers minifiés). Demandez si le projet mélange plusieurs applications.
2. Analyse
Exécutez le scanner intégré, qui parcourt le codebase à la recherche des signaux de code pour chaque indicateur et affiche les résultats groupés fichier:ligne :
node scripts/scan.mjs <racine> # rapport lisible
node scripts/scan.mjs <racine> --json # lisible par machine, pour le triage
C'est du Node pur (pas de dépendances) et il ne modifie jamais les fichiers. Utilisez sa sortie comme une carte de départ, pas comme une vérité absolue — confirmez chaque résultat en lisant le code.
Pour restreindre une analyse : --only=01,06 / --skip=19 filtre par ID d'indicateur, et --exclude=legacy supprime les chemins (correspondance de sous-chaîne dans le chemin relatif au projet). --rules=extra.mjs charge des indicateurs supplémentaires spécifiques au projet ou au langage (scripts/rules.ru.mjs est un exemple pour le russe et un modèle pour vos propres règles). Les résultats que l'utilisateur a confirmés comme intentionnels peuvent être figés dans le code source avec les commentaires deslop-ignore, deslop-ignore-next-line 06, ou deslop-ignore-file — préférez les formes avec ID pour que les nouveaux indicateurs soient toujours détectés.
3. Triage
Pour chaque résultat, ouvrez le fichier et décidez slop vs intentionnel. C'est l'étape qui distingue ce skill d'une simple règle de lint. Un dégradé, un sérif ou un émoji peut être un choix réel et défendu. Gardez tout ce que l'utilisateur a clairement choisi (marque, logo, illustration délibérée). Signalez uniquement les valeurs par défaut.
Consultez references/taxonomy.md pour savoir ce qu'est chaque indicateur et pourquoi il semble généré par machine, et references/detection.md pour les motifs exacts et leurs faux positifs courants.
4. Rapport
Avant de modifier quoi que ce soit, fournissez à l'utilisateur un résumé groupé : chaque indicateur, les résultats fichier:ligne confirmés, une phrase expliquant pourquoi, et la correction proposée. Suivez ce format :
slop src/Hero.tsx:12 dégradé indigo→violet → un seul accent uni
slop src/Hero.tsx:31 titre en dégradé → encre unie, augmentez l'échelle
slop src/Note.tsx:8 callout border-l-4 ×3 → 1 aparté, le reste en corps
slop copy.md:1 "pas juste X — c'est Y" → dites la chose spécifique
→ 4 groupes, 11 résultats.
Demandez ensuite quels groupes appliquer, ou s'il faut procéder à tous.
5. Correction
Appliquez la modification minimale qui supprime l'indicateur tout en préservant l'intention et la fonction. Utilisez references/fixes.md pour le motif avant→après par indicateur.
- Préférez modifier les tokens/composants partagés plutôt que chaque site d'appel.
- N'inventez jamais de nouvelles couleurs de marque ; si une palette doit changer, proposez des neutres avec l'accent existant du projet et laissez l'utilisateur confirmer.
- Conservez le sens du texte ; rendez-le spécifique, ne le supprimez pas simplement.
- Relancez le scanner après correction pour confirmer que le nombre a baissé, et notez les résultats que vous avez intentionnellement laissés (avec la raison).
Garde-fous
- Respectez la paternité. Traitez les fichiers inconnus et les embellissements délibérés comme des choix de quelqu'un. En cas de doute sur un élément, demandez — ne le supprimez pas.
- Petits diffs révisables. Ne reformatez jamais le code non concerné. N'exécutez jamais
git add -A; ne préparez que les fichiers explicites et laissez le travail en cours des autres tranquille. - Pas de nouvelles dépendances pour ce travail.
- Vérifiez visuellement quand c'est possible. Si un serveur de développement existe, regardez l'avant et l'après ; une analyse réussie n'est pas la même chose qu'une meilleure page.
Références
references/taxonomy.md— les 35 indicateurs : ce qu'est chacun, pourquoi c'est du slop, la correction.references/detection.md— motifs concrets ripgrep/regex + faux positifs.references/fixes.md— motifs de correction avant→après.scripts/scan.mjs— le scanner sans dépendances.