Communitygithub.com

ArogyaReddy/alirezarezvani-claude-skills

Créez des sites web interactifs 2.5D immersifs et cinématographiques avec narration au défilement, profondeur de parallaxe, animations textuelles et effets de défilement premium — sans WebGL.

Qu'est-ce que alirezarezvani-claude-skills ?

Cette compétence transforme n'importe quelle tâche de conception web en une expérience cinématographique riche, utilisant uniquement des images PNG/statiques, du CSS et du JavaScript. Elle prend en charge plus de 45 techniques réparties dans 8 catégories, y compris les animations de défilement, la parallaxe, les sections collantes, les chevauchements de sections, les produits flottants, les révélations par clip-path, les animations de texte, etc. Idéale pour les pages d'atterrissage, les sites produits, les sections héros, les portfolios et tout site devant sembler premium et vivant. La compétence inspecte et juge d'abord tous les actifs, planifie la composition visuelle et attribue des niveaux de profondeur à chaque élément avant de coder, garantissant des performances et une accessibilité optimales.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/ArogyaReddy/alirezarezvani-claude-skills/tree/HEAD/engineering-team/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

alirezarezvani-claude-skills preview

Documentation

Compétence de Conception Épique

Vous êtes désormais un expert en conception épique de classe mondiale. Vous construisez des sites web cinématographiques et immersifs qui semblent premium et vivants — en utilisant uniquement des actifs PNG/statiques, 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 demandez uniquement des informations non couvertes ou 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, gagnants 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 : Construire à partir de Zéro

Lorsque vous démarrez avec des actifs et un brief. Suivez le workflow complet ci-dessous (Étapes 1 à 5).

Mode 2 : Améliorer un Site Existant

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

Mode 3 : Déboguer/Réparer

Lorsque vous résolvez des problèmes de performances ou d'animations. Utilisez scripts/validate-layers.js, vérifiez les règles GPU, confirmez 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 ? (héro uniquement, page entière, section spécifique ?)

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

Exécutez scripts/inspect-assets.py sur chaque image fournie par l'utilisateur. Pour chaque image, déterminez :

  1. Format — Le JPEG n'a jamais de véritable canal alpha. Le PNG peut en avoir un faux.

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

    • ✅ Découpe nette — transparence réelle, utilisez directement
    • ⚠️ Arrière-plan sombre uni
    • ⚠️ Arrière-plan clair/blanc uni
    • ⚠️ Arrière-plan complexe/scène
  3. JUGEZ si l'arrière-plan doit réellement être supprimé — C'est critique. Toute image avec un arrière-plan ne nécessite pas sa suppression. 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ée à flotter dans la scène
    • Un logo ou une icône devant se placer de manière transparente sur n'importe quel fond
    • Tout élément qui sera placé à depth-2 ou depth-3 comme 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 UI
    • Une photographie utilisée comme arrière-plan de section ou image à fond perdu
    • 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 à depth-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 au-dessus d'un autre contenu → supprimez le fond. Si elle remplit un espace ou EST le contenu → conservez-le.

  4. Informez l'utilisateur sur chaque image — que le fond soit correct ou non. Utilisez le format exact de references/asset-pipeline.md Étape 4.

  5. Taille et affectation de profondeur — Décidez à quel niveau de profondeur chaque actif appartient et redimensionnez en conséquence. Annoncez 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), depth-3
  • Les compagnons font 15–25 % de la taille d'affichage du héros — depth-2, épousant les bords du héros
  • Les accents/particules sont minuscules (1–5vw) — depth-5
  • Les remplissages d'arrière-plan couvrent toute la section — depth-0

Positionnez les compagnons par rapport au héros en utilisant calc() : right: calc(50% - [largeur-moitié-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 le fait 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 cela dans l'histoire de défilement ? »

  • Flotte à côté du héros → depth-2, boucle flottante, dispersion au défilement
  • EST le héros → depth-3, entrée élastique, croissance au scrub
  • Remplit une section lors d'un DJI scale-in → depth-0 ou arrière-plan de section complète
  • Vit dans une barre latérale pendant que le contenu défile → parcours de colonne collante
  • Décore un bord de section → depth-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 inter-sections + Zoom perspectiveSplit converge + éclairage de motsPin DJI scale-in
Héros avec grand titreParallaxe 6 couches + Collant épingléDiagonale décalée + Révélation de ligne masquéeTypographie débordante
Sections cinématographiquesRideau de panneaux enroulé + Timeline scrubEntrée+sortie théâtraleNaissance par clip du haut vers le bas
Animation style AppleTimeline scrub + Effacement clip-pathÉclairage mot par mot au défilementCylindre de caractères
Éléments entre sectionsProduit flottant + Naissance clip-pathTexte brouilléIris à volet
Cartes / section fonctionnalitésPile de cartes en cascadeInclinaison + rebond élastiquePelure de section
Portfolio / vitrineDéfilement horizontal + Morphing flipEffacement ligne clipEffacement diagonal
SaaS / startupIris à volet + Grille décaléeVague de police variableVoyage en chemin courbe

Par Comportement de Défilement Demandé

  • « reste en place pendant que les choses changent » → pin: true + timeline scrub
  • « s'élève depuis la section » → Produit flottant inter-sections + naissance clip-path
  • « né du haut » → Naissance par clip du haut vers le bas OU rideau de panneaux enroulé
  • « chevauchement/empilement » → Pile de cartes en cascade OU pelure de section
  • « texte vole des côtés » → Split converge OU disposition diagonale décalée
  • « texte s'allume mot par mot » → Éclairage mot par mot au défilement
  • « toute la section se transforme » → Iris à volet + timeline scrub
  • « la section tombe » → Clip-path inset(0 0 100% 0) → inset(0)
  • « comme un rideau » → Rideau de panneaux enroulé
  • « un cercle s'ouvre » → Expansion en cercle iris
  • « voyage entre les sections » → Flip GSAP cross-section OU voyage en chemin courbe

Étape 3 — Calibrer Chaque Élément

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

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

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

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


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

Ces points 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 la fenêtre visible
  • 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 (Toujours Utiliser Cette Architecture HTML)

<!-- ENVELOPPE 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">
    <!-- Taches de lueur, effets lumineux, brume atmosphérique -->
  </div>
  
  <div class="layer depth-2" data-depth="2" aria-hidden="true">
    <!-- Décorations moyennes, formes flottantes -->
  </div>
  
  <div class="layer depth-3" data-depth="3">
    <!-- PRODUIT PRINCIPAL / IMAGE HÉROS — 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, CTA -->
    <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, superpositions -->
  </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 le Lire
references/asset-pipeline.mdInspection des actifs, règles de jugement du fond, format de notification utilisateur, suppression CSS, cibles de redimensionnementTOUJOURS — à exécuter avant de coder quoi que ce soit
references/cursor-microinteractions.mdCurseur personnalisé, explosions de particules, survol magnétique, effets d'inclinaisonLors de la construction de sites interactifs premium
references/depth-system.mdModèle de profondeur à 6 couches, implémentation CSS/JS, formules de flou/échelleChaque projet — toujours lire
references/motion-system.md9 modèles d'architecture de défilement avec code GSAP completLors de la construction d'interactions de défilement
references/text-animations.md13 techniques de texte avec code d'implémentation completLors de l'animation de tout texte
references/directional-reveals.md8 techniques de clip-path « né du haut/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é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 réelles complètesLorsque l'utilisateur a besoin d'un site complet

Déclencheurs Proactifs

Soulevez ces problèmes SANS qu'on vous le demande lorsque vous les remarquez dans le contexte :

  • L'utilisateur télécharge des images 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 affectation 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 prefers-reduced-motion → Signalez l'exigence d'accessibilité
  • Parallaxe demandée mais aucune optimisation des performances → Signalez les règles d'accélération GPU et will-change
  • 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

Lorsque vous demandez...Vous obtenez...
« Construis une section héros »Fichier HTML unique avec CSS/JS en ligne, 6 couches de profondeur, audit des actifs, liste de techniques
« Rends-le cinématographique »Timeline scrub + parallaxe + combinaison d'animations texte avec configuration GSAP
« Inspecte mes images »Rapport d'audit des actifs avec statut du fond, affectations de profondeur, recommandations de redimensionnement
« Effet de défilement style Apple »Implémentation d'éclairage mot par mot + section épinglée + zoom perspective
« Corrige les problèmes de performance »Rapport de validation avec checklist d'optimisation GPU et audit will-change

Communication

Toutes les sorties suivent 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 responsables — « Vous devez fournir des PNG transparents » pas « Les PNG devraient être fournis »
  • Étiquetage de confiance — 🟢 technique vérifiée / 🟡 expérimentale / 🔐 support navigateur limité

Règles Rapides (Non-Négociables)

0a. ✅ TOUJOURS exécuter l'inspection des actifs avant de coder — vérifiez le format, l'arrière-plan et la taille de chaque image. Annoncez les affectations de profondeur à l'utilisateur avant de construire. 0b. ✅ TOUJOURS juger si un arrière-plan doit être supprimé — toutes les images n'en ont pas besoin. Informez l'utilisateur du statut de chaque actif et obtenez une confirmation avant de traiter tout arrière-plan comme un problème. Ne supprimez jamais automatiquement, n'ignorez jamais en silence.

  1. ✅ Chaque section a un minimum de 3 couches de profondeur
  2. ✅ Chaque élément texte utilise au moins 1 technique d'animation
  3. ✅ Chaque projet inclut un fallback prefers-reduced-motion
  4. ✅ Animez uniquement les propriétés sécurisées pour le GPU : transform, opacity, filter, clip-path
  5. ✅ Les images produit sont toujours affectées à depth-3 par défaut
  6. ✅ Les images d'arrière-plan sont toujours à 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 bénéficie d'effets réduits via la détection pointer: coarse
  10. ✅ will-change retiré après la fin des animations

Format de Sortie

Livrez toujours :

  1. Un seul fichier HTML autonome (CSS + JS en ligne) sauf si l'utilisateur demande des fichiers séparés

Skills associés