Aller au guide d’utilisation
apple-designpar Emil Kowalski

Apple Design Skill.

Un skill Claude Code et Codex pour la recherche UX : les gestes, le mouvement physique et la hiérarchie spatiale d'Apple transposés pour le web.

  • UX et recherche
  • Code UI
emilkowalski/skills · skills/apple-design/SKILL.mdSKILL.md
--- name: apple-design description: Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style … --- ## The Core Idea ## 1. Response — kill latency ## 2. Direct manipulation — 1:1 tracking ## 3. Interruptibility — the single most important principle ## 4. Behavior over animation — use springs ## 5. Velocity handoff — the seam between drag and animation
Entête et titres de section lus depuis le fichier source le 14/09/2026 · 22 559 caractères au total

01 Ce qu'il fait

Ce que fait le skill apple-design dans Claude Code et Codex

Résumé, workflow et sorties, tous lus dans le SKILL.md du skill.

D'après le SKILL.mdLu le 14-09-2026 · pas une exécution enregistrée

Dans les termes du Skill

Apple Design distille les conférences WWDC d'Apple sur l'interface, principalement Designing Fluid Interfaces (WWDC 2018), en règles pour construire une UI web fluide et physique. Il s'adresse aux designers et développeurs travaillant sur des interfaces gestuelles : glisser, balayer, feuilles (sheets), ressorts, momentum, transitions interruptibles, matériaux translucides et profondeur, typographie (taille optique, tracking, interlignage) et comportement à mouvement réduit.

Le fil conducteur est que le mouvement doit partir de la valeur actuelle affichée à l'écran, hériter de la vélocité de l'utilisateur, projeter le momentum vers l'avant, et être saisissable et réversible à tout instant. Les ressorts remplacent les animations à durée fixe car ils sont intrinsèquement interruptibles et sensibles à la vélocité, et le skill se conclut par les huit principes de design d'Apple utilisés comme vocabulaire commun.

Ce qu'il produit

  • CSS de retour de pression qui met à l'échelle le contrôle au :active avec une transition ease-out de 100ms.
  • Appels de ressort de mouvement montrant côte à côte l'amortissement critique par défaut et la variante de rebond de momentum.
  • Un helper project() implémentant la projection de momentum avec un decelerationRate par défaut de 0.998.
  • CSS de transparence réduite qui remplace les barres d'outils translucides par des fonds opaques sans flou.
Voir l'exemple de prompt ↗

Fonctionnement

  1. 01
    Répondre au pointer-down

    Le retour appartient à la pression, pas au relâchement : mettez en évidence le contrôle dès l'instant où il est pressé, et considérez tout ce qui n'est pas essentiel sur le chemin de saisie, y compris le délai de tap de ~300ms, comme une régression.

  2. 02
    Suivre le pointeur au 1:1

    Utilisez les Pointer Events avec capture afin que le suivi persiste même si le pointeur quitte les limites de l'élément, et respectez l'endroit où l'utilisateur a saisi l'élément plutôt que de vous recaler sur son centre.

  3. 03
    Rendre le mouvement interruptible

    Un élément en mouvement doit pouvoir être saisi et inversé en plein vol ; l'utilisateur ne devrait jamais avoir à attendre la fin de l'animation en cours pour la rediriger.

  4. 04
    Modéliser le mouvement avec des ressorts

    Un ressort absorbe une nouvelle entrée en changeant simplement sa cible, si bien que le mouvement reste continu ; les scripts à durée fixe n'ont rien à recibler.

  5. 05
    Transmettre la vélocité au relâchement

    Donnez au ressort la vélocité du pointeur au moment du relâchement afin qu'il n'y ait aucune rupture entre le glissement et l'animation ; normalisez par la distance restante lorsque l'API attend une vélocité relative.

  6. 06
    Projeter l'inertie, puis se caler

    Ne vous calez pas à l'endroit où le doigt a relâché l'élément : projetez la position de repos comme le ferait une décélération de défilement, et choisissez la cible de calage la plus proche de cette projection.

02 Trouvez celui qui vous convient

Quand Utiliser le Skill apple-design

Utilisez le skill apple-design dans Claude Code ou Codex lorsque le travail relève de la recherche UX de ce type. L'adéquation et les limites ci-dessous sont tirées du propre fichier du skill.

Bon choix

  • Conception ou revue d'UI pilotée par les gestes, telles que glisser, balayer, feuille (sheet), inertie et transitions interruptibles.
  • Travail sur les matériaux translucides et la profondeur, où barres de navigation, barres d'outils et feuilles agissent comme une couche fonctionnelle flottante.
  • Travail typographique sur une échelle de tailles, où la taille optique, l'approche et l'interlignage doivent varier avec la taille.
  • Passes d'accessibilité où mouvement réduit, transparence réduite et contraste accru sont intégrés aux composants plutôt qu'ajoutés après coup.
  • Équipes qui souhaitent utiliser les principes de conception d'Apple comme vocabulaire commun explicite pour argumenter une décision.

Connaître les limites

  • Animation prescriptée ou à durée fixe, que le skill exclut dès que l'utilisateur peut toucher l'élément.
  • Recognizers qui ne rapportent qu'un état final du geste, car ils rejettent le suivi continu dont dépend le retour visuel.
  • Chrome opaque qui occupe une bande fixe au lieu de laisser le contenu défiler sous une couche translucide.
  • Confirmations utilisées par défaut ; le fichier les réserve exclusivement aux actions réellement destructrices et irréversibles.

Quoi fournir

  • Le code du geste et son historique de pointeurApportez l'implémentation Pointer Events, car le skill attend setPointerCapture ainsi qu'un court historique de vélocité/position plutôt que le seul point courant.
  • Une bibliothèque de ressorts qui recible la vélocitéLe mapping web passe par Motion / Framer Motion, et la bibliothèque doit conserver la vélocité lors d'un recadrage de cible ; toutes les implémentations de ressort ne le font pas.
  • Le chrome translucide que vous souhaitez faire revoirBarres d'outils, barres de navigation et feuilles sont construites comme des couches translucides avec un flou backdrop-filter et un fond semi-transparent, le contenu défilant dessous.

03 Dans le skill

Les règles que le skill apple-design donne à Claude Code et Codex

8 instructions concrètes, valeurs par défaut et limites que le SKILL.md fixe pour l'agent — la partie du fichier qui change le résultat.

  1. Utiliser par défaut un ressort à amortissement critique

    Réglez la plupart des UI avec un amortissement de 1.0 afin qu'elles se stabilisent sans dépassement ; n'ajoutez du rebond, autour d'un amortissement de 0.8, que lorsque le geste lui-même a apporté de l'inertie, comme un flick ou un relâchement de glissement.

  2. Animer à partir de la valeur de présentation

    Lors d'une interruption, lisez la transformation en direct de l'élément à l'écran et démarrez la nouvelle animation à partir de là ; partir de la valeur logique ou cible produit un saut visible.

  3. Ne pilotez pas les gestes avec des transitions CSS

    Les transitions CSS et les @keyframes ne peuvent pas être saisies et inversées en douceur en plein vol, donc le mouvement piloté par geste doit être géré par une bibliothèque de ressorts (spring).

  4. Divisez le mouvement 2D en deux ressorts

    Exécutez des ressorts X et Y indépendants plutôt qu'un seul ressort sur une distance 2D, car les axes se désynchronisent lorsque leurs vitesses diffèrent.

  5. Utilisez la projection d'Apple, pas celle du manuel

    Le v²/(2·décel) du manuel de physique n'est pas ce qu'Apple utilise ; utilisez la forme de décroissance exponentielle avec un decelerationRate de 0,998 pour une sensation de défilement normale, ou 0,99 pour quelque chose de plus vif.

  6. Mélangez la vitesse lors d'une inversion

    Remplacer une animation par une autre au moment où un geste s'inverse crée une discontinuité de vitesse, un mur ; choisissez une bibliothèque de ressorts qui recadre à partir de la vitesse actuelle.

  7. Ne superposez jamais des surfaces translucides claires

    Le poids du matériau est ce qui permet de lire la hiérarchie : les matériaux plus lourds séparent les régions structurelles et les plus légers mettent en valeur les éléments interactifs, donc gardez les couches translucides claires éloignées les unes des autres.

  8. N'utilisez jamais une seule valeur de tracking pour toutes les tailles

    L'espacement des lettres est spécifique à la taille : un grand texte d'affichage veut un tracking négatif tandis qu'un petit texte veut un tracking légèrement positif, donc un letter-spacing fixe sera faux quelque part.

04 Mettez-le en pratique

Installer apple-design dans Claude Code ou Codex

Une commande npx skills add, puis une première tâche dans votre agent et une checklist pour le résultat.

Ajouter apple-design à Claude Code, Codex ou Votre Agent

Exécutez-la dans votre projet ; l'installateur demande à quel agent l'ajouter.

Terminal
npx skills add https://github.com/emilkowalski/skills --skill apple-design

Forme générique de la CLI skills pour skills/apple-design/SKILL.md ; le dépôt peut documenter son propre chemin.

Donnez au Skill une Première Tâche de Recherche UX

Rédigé dans les termes propres du skill ; remplacez les parties entre crochets par votre contenu.

Starter prompt
I'm building a bottom sheet in [React] that users drag down to dismiss. It currently uses a CSS transition, so a flick snaps from wherever I released and the sheet can't be grabbed again while it's closing. Rework it with Pointer Events and a spring so it tracks the finger 1:1, hands off the release velocity, and projects momentum to pick the snap point.

Source : rédigé à partir du SKILL.md, dans les termes propres du skill.

Vérifiez le premier résultat

Ce que le SKILL.md lui-même présente comme un résultat correct :

  • Saisissez à nouveau un élément en cours de fermeture en plein vol et vérifiez qu'il suit le doigt au lieu de terminer sa fermeture en premier.
  • Inversez un geste et surveillez une discontinuité de vitesse, ce qui signifie que la vitesse n'a pas été mélangée lors du recadrage.
  • Testez avec de vraies personnes en contexte réel, car le jugement du mouvement se dégrade sur la machine d'un développeur.
  • Rejouez le mouvement au ralenti ou image par image, car les défauts intéressants sont invisibles à vitesse normale.
  • Vérifiez que le point d'arrivée provient du point de terminaison projeté plutôt que du point de relâchement.
  • Vérifiez la variante à transparence réduite : les surfaces translucides doivent devenir plus givrées ou solides, avec une opacité de fond augmentée et un flou réduit.

Dans OpenDesign, importez apple-design depuis son lien SKILL.md : Plugins → Add → Skill → Import from link, puis sélectionnez-le dans la barre supérieure.

05 Open source, traçable

Source, licence et vérification

D'où proviennent les faits de cette page et quand ils ont été vérifiés pour la dernière fois.

Repository
github.com/emilkowalski/skills Branche main
Fichier du skill
skills/apple-design/SKILL.md Somme de contrôle du contenu enregistrée à la vérification ; commit d23d7f8
License
MIT Depuis LICENSE.
Étoiles du dépôt
37 516 Instantané GitHub pris le 14/09/2026 pour l'ensemble du dépôt emilkowalski/skills, qui contient 9 skills dans ce catalogue. Ce n'est ni une note ni un décompte d'utilisation pour apple-design.
Vérifié par OpenDesign
2026-09-14 Le fichier source, le chemin, le texte de licence et le nombre d'étoiles ont été vérifiés. Non intégré dans OpenDesign main (vérifié le 2026-08-28) ; aucune exécution en conditions réelles n'a été enregistrée sur cette page.

Dans le SKILL.md

  1. 1. Réponse — éliminer la latenceRépondez à l'appui du pointeur, auditez chaque latence, maintenez un retour continu tout au long de l'interaction.
  2. 2. Manipulation directe — suivi 1:1Collez le contenu au pointeur, respectez le décalage de saisie, conservez un court historique de vitesse.
  3. 3. Interruptibilité — le principe le plus importantNe jamais verrouiller l’entrée, animer depuis la valeur de présentation, fusionner la vélocité lors d’une inversion, séparer les springs 2D.
  4. 4. Comportement plutôt qu’animation — utiliser des springsLe ratio d’amortissement et la réponse remplacent la physique ; amortissement 1.0 par défaut, rebond réservé à la quantité de mouvement.
  5. 5. Transfert de vélocité — la jonction entre glisser et animationTransmettre la vélocité de relâchement au spring, en la normalisant par la distance restante si nécessaire
Description du skill lui-même
« L'approche d'Apple en matière de design d'interface et de mouvement fluide et physique, traduite pour le web. À utiliser lors de la construction ou de la révision d'UI pilotées par gestes, d'animations à ressort, d'interactions drag/swipe/sheet, de transitions avec momentum et interruptibles, de matériaux translucides et de profondeur, de typographie (dimensionnement optique, crénage, interlignage), de reduced-motion, ou des fondements de design (feedback, cohérence spatiale, retenue) derrière les interfaces de style Apple. »

Description front-matter tirée de SKILL.md. Le fichier complet fait environ 22 559 caractères. Lire le fichier complet sur GitHub.

Apple Design

Exécutez apple-design sur une vraie tâche de recherche UX.

Téléchargez OpenDesign, importez apple-design depuis son lien SKILL.md, collez le prompt ci-dessus, et lisez le plan avant le résultat.

Terminal
npx skills add https://github.com/emilkowalski/skills --skill apple-design

OpenDesign Desktop

Un seul design system. Votre marque, cohérente partout

Dans le Vibe Design Workspace complet, appliquez les mêmes règles de marque aux sites, slides, prototypes interactifs, dashboards, images et vidéos HTML. Connectez Codex, Claude Code, Cursor et vos autres agents de code locaux, puis créez gratuitement.

  • Sites, slides, prototypes, dashboards, images et vidéos
  • Plus de 140 design systems et la bibliothèque complète de modèles et skills
  • Codex local et plus de 21 agents de code · Gratuit
Télécharger gratuitement

Disponible sur macOS et Windows