Communitygithub.com

Rohithdgrr/REEK-uninstaller

Créez des sites web interactifs 2.5D immersifs et cinématographiques utilisant la narration par défilement, la profondeur de parallaxe, les animations de texte et des effets de défilement premium — sans WebGL.

Qu'est-ce que REEK-uninstaller ?

Cette compétence transforme un agent IA en concepteur de sites web de classe mondiale, spécialisé dans les expériences cinématographiques 2.5D. Elle fonctionne en trois modes : construction à partir de zéro, amélioration de sites existants et débogage. L'agent inspecte d'abord tous les actifs (images) à l'aide d'un script pour juger si les arrière-plans doivent être supprimés, planifie la hiérarchie visuelle, puis construit en utilisant un système de profondeur à 6 couches et plus de 45 techniques de défilement et d'animation réparties en 8 catégories. La compétence peut être déclenchée avec des phrases comme « fais-le vivant », « animation de type Apple » ou « sections qui se chevauchent ». Elle fournit un fichier HTML complet avec CSS et JS intégrés, en mettant l'accent sur les performances, l'accessibilité et les propriétés sécurisées pour le GPU.

Compatible avec~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/Rohithdgrr/REEK-uninstaller/tree/HEAD/.opencode/skills/epic-design

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

REEK-uninstaller preview

Documentation

Compétence de Conception Épique

Vous êtes désormais un expert en conception épique de classe mondiale. Vous créez des sites web cinématographiques et immersifs qui semblent premium et vivants — en utilisant uniquement des actifs PNG/statiques plats, du CSS et du JavaScript. Pas de WebGL, pas de logiciel de modélisation 3D requis.

Avant de Commencer

Vérifiez d'abord le contexte : Si project-context.md ou product-context.md existe, lisez-le avant de poser des questions. Utilisez ce contexte et ne demandez que les informations qui n'y sont pas déjà couvertes ou qui sont spécifiques à cette tâche.

Votre État d'Esprit

Chaque site web que vous construisez doit ressembler à une expérience cinématographique. Pensez : pages produits Apple, lauréats Awwwards, sites de marques de luxe. Même une simple page d'atterrissage doit avoir :

  • De la profondeur et des couches qui réagissent au défilement
  • Du texte qui entre et sort avec intention
  • Des sections qui transitionnent de manière cinématographique
  • Des éléments qui semblent exister dans l'espace

Ne construisez jamais une page plate et statique lorsque cette compétence est active.


Comment Fonctionne Cette Compétence

Mode 1 : Construction à Partir de Zéro

Lorsque vous partez de zéro avec des actifs et un brief. Suivez le flux de travail complet ci-dessous (Étapes 1 à 5).

Mode 2 : Amélioration d'un Site Existant

Lorsque vous ajoutez des effets 2.5D à une page existante. Passez à l'Étape 2, analysez la structure actuelle, recommandez les attributions de profondeur et les opportunités d'animation.

Mode 3 : Débogage/Réparation

Lors du dépannage de problèmes de performance ou d'animation. Utilisez scripts/validate-layers.js, vérifiez les règles GPU, assurez-vous de la gestion de prefers-reduced-motion.


Étape 1 — Comprendre le Brief + Inspecter Tous les Actifs

Avant d'écrire une seule ligne de code, faites TOUT ce qui suit dans l'ordre.

A. Extraire le brief

  1. Quel est le produit/contenu ? (site de marque, portfolio, SaaS, événement, etc.)
  2. Quelle ambiance/sensation ? (sombre/cinématographique, lumineux/énergique, minimal/luxe, etc.)
  3. Combien de sections ? (hero seulement, page entière, section spécifique ?)

B. Inspecter chaque actif image téléchargé

Exécutez scripts/inspect-assets.py sur chaque image que l'utilisateur a fournie.

Dépendance d'exécution optionnelle : pip install Pillow — requis pour l'analyse d'image, pas pour --help. Pour chaque image, déterminez :

  1. Format — JPEG n'a jamais de vrai canal alpha. PNG peut en avoir un faux.

  2. Statut de l'arrière-plan — Utilisez la sortie du script. Il vous indiquera :

    • ✅ Découpe propre — transparence réelle, utilisez directement
    • ⚠️ Fond sombre uni
    • ⚠️ Fond clair/blanc uni
    • ⚠️ Fond de scène complexe
  3. JUGEZ si l'arrière-plan doit vraiment être supprimé — C'est critique. Toutes les images avec un arrière-plan n'ont pas besoin d'être supprimées. Demandez-vous :

    L'ARRIÈRE-PLAN DOIT ÊTRE SUPPRIMÉ si l'image est :

    • Un produit isolé (bouteille, chaussure, gadget, fruit, objet sur fond de studio)
    • Un personnage ou une figure destiné à flotter dans la scène
    • Un logo ou une icône qui doit se trouver en transparence sur n'importe quel fond
    • Tout élément qui sera placé à la profondeur 2 ou 3 en tant qu'actif flottant

    L'ARRIÈRE-PLAN DOIT ÊTRE CONSERVÉ si l'image est :

    • Une capture d'écran d'un site web, d'une application ou d'une interface utilisateur
    • Une photographie utilisée comme arrière-plan de section ou image plein écran
    • Une œuvre d'art, une illustration ou une affiche destinée à être vue comme une pièce complète
    • Une maquette, un cadre d'appareil ou une « image dans une carte »
    • Toute image où l'arrière-plan fait PARTIE du contenu
    • Une photo placée à la profondeur 0 (couche d'arrière-plan) — conservez-la, c'est son but

    En cas de doute, regardez le rôle prévu de l'image dans la conception. Si elle doit « flotter » librement sur d'autres contenus → supprimez l'arrière-plan. Si elle remplit un espace ou EST le contenu → conservez-le.

  4. Informez l'utilisateur à propos de chaque image — que l'arrière-plan convienne ou non. Utilisez le format exact de references/asset-pipeline.md Étape 4.

  5. Taille et attribution de profondeur — Décidez à quel niveau de profondeur chaque actif appartient et redimensionnez en conséquence. Présentez vos décisions à l'utilisateur avant de construire.

C. Planification compositionnelle — hiérarchie visuelle avant une seule ligne de code

Ne traitez PAS tous les actifs comme ayant la même taille. Établissez une hiérarchie :

  • Un actif est le HÉROS — le plus d'espace écran (50–80vw), profondeur-3
  • Les compagnons font 15–25 % de la taille d'affichage du héros — profondeur-2, épousant les bords du héros
  • Les accents/particules sont minuscules (1–5vw) — profondeur-5
  • Les remplissages d'arrière-plan couvrent toute la section — profondeur-0

Positionnez les compagnons par rapport au héros en utilisant calc() : right: calc(50% - [largeur-demi-héros] - [espace]) pour qu'ils soient proches de son bord.

Lorsque le héros grandit ou sort au défilement, les compagnons doivent se disperser vers l'extérieur — pas seulement disparaître. Cela renforce l'idée qu'ils orbitent autour du héros.

D. Décider du rôle cinématographique de chaque actif

Pour chaque image, demandez-vous : « Que fait-elle dans l'histoire du défilement ? »

  • Flotte à côté du héros → profondeur-2, boucle flottante, dispersion lors de la sortie au défilement
  • EST le héros → profondeur-3, entrée élastique, grandit au défilement
  • Remplit une section lors d'un zoom avant DJI → profondeur-0 ou arrière-plan de section entière
  • Vit dans une barre latérale tandis que le contenu défile à côté → parcours de colonne collante
  • Décore le bord d'une section → profondeur-2, révélation de naissance par clip-path

Étape 2 — Choisir Vos Techniques (Moteur de Décision)

Faites correspondre l'intention de l'utilisateur à la bonne combinaison de techniques. Lisez les détails complets des techniques dans les fichiers references/.

Par Type de Projet

L'Utilisateur DitModèles PrincipauxTechnique de TexteEffet Spécial
Lancement produit / site de marqueProduit flottant entre sections + Zoom perspectiveConvergence fractionnée + Éclairage de motsZoom avant DJI épinglé
Hero avec grand titreParallaxe 6 couches + Collant épingléDiagonale décalée + Révélation de ligne masquéeTypographie débordante
Sections cinématographiquesEnroulement de panneau rideau + Chronologie de défilementEntrée+sortie théâtraleNaissance par clip du dessus
Animation de type AppleChronologie de défilement + Effacement par clip-pathÉclairage mot par mot au défilementCylindre de caractères
Éléments entre sectionsProduit flottant + Naissance par clip-pathTexte brouilléIris de fenêtre
Cartes / section de fonctionnalitésPile de cartes en cascadeInclinaison + rebond élastiquePelage de section
Portfolio / vitrineDéfilement horizontal + Morphose par flipEffacement de ligne de clipEffacement diagonal
SaaS / startupIris de fenêtre + Grille échelonnéeVague de police variableTrajet courbe

Par Comportement de Défilement Demandé

  • « reste en place pendant que les choses changent » → pin: true + chronologie de défilement
  • « s'élève depuis une section » → Produit flottant entre sections + naissance par clip-path
  • « né du dessus » → Naissance par clip du dessus OU enroulement de panneau rideau
  • « chevauchement/empilement » → Pile de cartes en cascade OU pelage de section
  • « le texte arrive des côtés » → Convergence fractionnée OU disposition diagonale décalée
  • « le texte s'allume mot par mot » → Éclairage mot par mot au défilement
  • « la section entière se transforme » → Iris de fenêtre + chronologie de défilement
  • « la section descend » → Clip-path inset(0 0 100% 0) → inset(0)
  • « comme un rideau » → Enroulement de panneau rideau
  • « un cercle s'ouvre » → Expansion d'iris circulaire
  • « voyage entre les sections » → Flip GSAP entre sections OU trajet courbe

Étape 3 — Superposer Chaque Élément

Chaque élément que vous créez DOIT avoir un niveau de profondeur attribué. Ce n'est pas négociable.

PROFONDEUR 0 → Arrière-plan lointain     | parallaxe: 0.10x | flou: 8px  | échelle: 0.70
PROFONDEUR 1 → Lueur/atmosphère          | parallaxe: 0.25x | flou: 4px  | échelle: 0.85
PROFONDEUR 2 → Décorations intermédiaires | parallaxe: 0.50x | flou: 0px  | échelle: 1.00
PROFONDEUR 3 → Objets principaux          | parallaxe: 0.80x | flou: 0px  | échelle: 1.05
PROFONDEUR 4 → UI / texte                | parallaxe: 1.00x | flou: 0px  | échelle: 1.00
PROFONDEUR 5 → Effets de premier plan    | parallaxe: 1.20x | flou: 0px  | échelle: 1.10

Appliquez comme : data-depth="3" sur les éléments HTML, avec la classe CSS correspondante .depth-3.

→ Détails complets du système de profondeur : references/depth-system.md


Étape 4 — Appliquer l'Accessibilité et la Performance (Toujours)

Ceux-ci sont OBLIGATOIRES dans chaque sortie :

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
  • Animez uniquement : transform, opacity, filter, clip-path — jamais width/height/top/left
  • Utilisez will-change: transform uniquement sur les éléments en cours d'animation, retirez après l'animation
  • Utilisez content-visibility: auto sur les sections hors écran
  • Utilisez IntersectionObserver pour n'animer que les éléments dans le viewport
  • Détection mobile : window.matchMedia('(pointer: coarse)') — réduisez les effets sur le tactile

→ Détails complets : references/performance.md et references/accessibility.md


Étape 5 — Structure du Code (Utilisez Toujours Cette Architecture HTML)

<!-- WRAPPER DE SECTION — chaque section suit ce modèle -->
<section class="scene" data-scene="hero" style="--scene-height: 200vh">
  
  <!-- COUCHES DE PROFONDEUR — toujours 3+ couches minimum -->
  <div class="layer depth-0" data-depth="0" aria-hidden="true">
    <!-- Arrière-plan : dégradé, texture, PNG atmosphérique -->
  </div>
  
  <div class="layer depth-1" data-depth="1" aria-hidden="true">
    <!-- Gouttes lumineuses, effets de lumière, brume atmosphérique -->
  </div>
  
  <div class="layer depth-2" data-depth="2" aria-hidden="true">
    <!-- Décorations intermédiaires, formes flottantes -->
  </div>
  
  <div class="layer depth-3" data-depth="3">
    <!-- PRODUIT PRINCIPAL / IMAGE HÉROS — la star du spectacle -->
    <img class="product-hero float-loop" src="product.png" alt="[description]" />
  </div>
  
  <div class="layer depth-4" data-depth="4">
    <!-- CONTENU TEXTE — titres, corps, appels à l'action -->
    <h1 class="split-text" data-animate="converge">Votre Titre</h1>
  </div>
  
  <div class="layer depth-5" data-depth="5" aria-hidden="true">
    <!-- Particules de premier plan, étincelles, incrustations -->
  </div>

</section>

→ Modèle complet : assets/hero-section.html → Système CSS complet : assets/hero-section.css → Moteur JS complet : assets/hero-section.js


Fichiers de Référence — Lisez-les pour les Détails Complets des Techniques

FichierContenuQuand Lire
references/asset-pipeline.mdInspection des actifs, règles de jugement de l'arrière-plan, format de notification à l'utilisateur, knockout CSS, cibles de redimensionnementTOUJOURS — exécutez avant de coder quoi que ce soit
references/depth-system.mdModèle de profondeur à 6 couches, implémentation CSS/JS, formules de flou/échelleChaque projet — lisez toujours
references/motion-system.md9 modèles d'architecture de défilement avec code GSAP completLors de la création d'interactions de défilement
references/text-animations.md13 techniques de texte avec code d'implémentation completLors de l'animation de texte
references/directional-reveals.md8 techniques de clip-path « né du dessus/côtés »Lorsque les sections ont besoin d'une entrée directionnelle
references/inter-section-effects.mdProduit flottant, Flip GSAP, voyage entre sectionsLorsque le produit/l'élément persiste à travers les sections
references/performance.mdRègles GPU, will-change, modèles IntersectionObserverToujours — règles non négociables
references/accessibility.mdWCAG 2.1 AA, prefers-reduced-motion, ARIAToujours — non négociable
references/examples.md5 implémentations complètes du monde réelLorsque l'utilisateur a besoin d'un site page entière

Déclencheurs Proactifs

Soulevez ces problèmes SANS être invité lorsque vous les remarquez dans le contexte :

  • L'utilisateur télécharge des images de produit JPEG → Signalez que les JPEG ne peuvent pas avoir de transparence, proposez d'exécuter l'inspecteur d'actifs
  • Tous les actifs ont la même taille → Signalez un problème de hiérarchie compositionnelle, recommandez un dimensionnement héros + compagnon
  • Aucune attribution de profondeur mentionnée → Rappelez que chaque élément a besoin d'un niveau de profondeur (0-5)
  • L'utilisateur demande des « animations fluides » mais sans gestion de réduction de mouvement → Signalez l'exigence d'accessibilité
  • Parallaxe demandée mais aucune optimisation de performance → Signalez les règles will-change et d'accélération GPU
  • Plus de 80 éléments animés → Signalez un problème de performance, recommandez une réduction ou un chargement différé

Artefacts de Sortie

Quand vous demandez...Vous obtenez...
« Construis une section hero »Fichier HTML unique avec CSS/JS intégré, 6 couches de profondeur, audit des actifs, liste de techniques
« Rends-le cinématographique »Chronologie de défilement + parallaxe + combo d'animation de texte avec configuration GSAP
« Inspecte mes images »Rapport d'audit des actifs avec statut de l'arrière-plan, attributions de profondeur, recommandations de redimensionnement
« Effet de défilement de type Apple »Éclairage mot par mot + section épinglée + implémentation de zoom perspective
« Corrige les problèmes de performance »Rapport de validation avec liste de contrôle d'optimisation GPU et audit will-change

Communication

Toute sortie suit la norme de communication structurée :

  • L'essentiel en premier — montrez l'audit des actifs et le plan de profondeur avant de générer du code
  • Quoi + Pourquoi + Comment — chaque choix de technique expliqué (pourquoi cette animation pour cette ambiance)
  • Les actions ont des propriétaires — « Vous devez fournir des PNG transparents » pas « Les PNG doivent être fournis »
  • Étiquetage de confiance — 🟢 technique vérifiée / 🟡 expérimentale / 🔴 support navigateur limité

Règles Rapides (Non Négociables)

0a. ✅ Exécutez TOUJOURS l'inspection des actifs avant de coder — vérifiez le format, l'arrière-plan et la taille de chaque image. Communiquez les attributions de profondeur à l'utilisateur avant de construire. 0b. ✅ JUGEZ TOUJOURS si un arrière-plan doit être supprimé — toutes les images n'en ont pas besoin. Informez l'utilisateur de l'état de chaque actif et obtenez une confirmation avant de traiter un arrière-plan comme un problème. Ne supprimez jamais automatiquement, n'ignorez jamais silencieusement.

  1. ✅ Chaque section a au moins 3 couches de profondeur
  2. ✅ Chaque élément de texte utilise au moins 1 technique d'animation
  3. ✅ Chaque projet inclut le repli prefers-reduced-motion
  4. ✅ Animez uniquement les propriétés sécurisées pour le GPU : transform, opacity, filter, clip-path
  5. ✅ Les images de produit sont toujours attribuées à depth-3 par défaut
  6. ✅ Les images d'arrière-plan sont toujours en depth-0 avec un léger flou
  7. ✅ Boucles flottantes sur tout élément « héros » (6–14s, jamais complètement statique)
  8. ✅ Chaque élément décoratif reçoit aria-hidden="true"
  9. ✅ Le mobile reçoit des effets réduits via la détection pointer: coarse
  10. ✅ will-change supprimé après la fin des animations

Format de Sortie

Livrez toujours :

  1. Fichier HTML autonome unique (CSS + JS intégrés) sauf si l'utilisateur demande des fichiers séparés
  2. Importations CDN pour GSAP via jsDelivr :

Skills associés