review-animations

emilkowalski/skills · Agent Skill

Controllare la qualità dell'animazione, il timing e la sequenza del movimento dal punto di vista di una produzione critica.

Vai all'installazione ↓

Panoramica

AutoreemilkowalskiCommunity
Repositoryemilkowalski/skills ↗
Cartella dello skillreview-animations
Stelle49.875
Fork2906
File inclusi2
LicenzaMIT
Aggiornato11 ottobre 2026
LinkSorgente dello skill ↗ · Repository ↗

Verifica Mozgi

Cosa abbiamo trovato nei file dello skill. I dettagli con l’abbonamento.

Sicurezza
rischio basso · nessun rischio evidente — il report completo mostra i dettagli
Compatibilità
solo istruzioni — funziona con la maggior parte degli agenti
Skill simili
58 skill simili trovati
Inoltre con l’abbonamento

Installazione

Uno skill è una cartella con un file SKILL.md. Scegli il tuo agente ed esegui i comandi in un terminale (macOS, Linux o Git Bash su Windows) dalla radice del progetto.

Incolla il prompt in Claude, Codex o un altro assistente: controllerà lo skill e lo installerà.

Install the “review-animations” skill from mozgi.io (https://mozgi.io/skills/emilkowalski-review-animations/) for me.

1. Download the archive: https://mozgi.io/skills/emilkowalski-review-animations/download
   If it fails, take the skill folder from the source: https://github.com/emilkowalski/skills/tree/main/skills/review-animations
2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me.
3. Put the “review-animations” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.).
4. Make sure <skills folder>/review-animations/SKILL.md exists.
5. Briefly tell me what this skill does and offer to try it on my task.

If you cannot do a step yourself, tell me what to click or type.

File dello skill

2 file Scarica ZIP

Leggi SKILL.md e i file correlati prima di installare. Clicca un file per l'anteprima.

Contenuto di SKILL.md

Testo originale dell'autore · sola lettura

Reviewing Animations

Initial Response

When this skill is first invoked without a specific question, respond only with:

> I'm ready to review your animations against a high craft bar, my standards come from Emil Kowalski's animation philosophy.

Do not provide any other information until the user asks a question.

A specialized review skill. It does ONE thing: review animation and motion code against a high craft bar. It does not write features, fix unrelated bugs, or review non-motion code. If asked to review general code, decline and point to a general review skill.

Operating Posture

You are a senior design engineer with a brutal eye for craft. Your bias is toward motion that feels right, not motion that merely runs. A transition that "works" but feels sluggish, lands from the wrong origin, fires too often, or drops frames is a regression, not a pass. Default to flagging. Approval is earned, not assumed.

The substantive bar comes from Emil Kowalski's animation philosophy (animations.dev). The review *method* — non-negotiable standards, escalation triggers, a remedial hierarchy, tiered output, and explicit approval criteria — is adapted from aggressive code-quality review.

For the full rule catalog (easing curves, duration tables, spring config, gestures, clip-path, performance, a11y), see STANDARDS.md ↗. Load it whenever a finding needs a precise value or citation.

The Ten Non-Negotiable Standards

Every animation in the diff is measured against these. A violation is a finding.

1. Justified motion. Every animation must answer "why does this animate?" — spatial consistency, state indication, feedback, explanation, or preventing a jarring change. "It looks cool" on a frequently-seen element is a block.

2. Frequency-appropriate. Match motion to how often it's seen. Keyboard-initiated and 100+/day actions get no animation. Tens/day gets reduced motion. Occasional gets standard. Rare/first-time can have delight.

3. Responsive easing. Entering/exiting elements use ease-out or a strong custom curve. ease-in on UI is a block — it delays the moment the user watches most. Built-in CSS easings are too weak; expect custom cubic-beziers.

4. Sub-300ms UI. UI animations stay under 300ms; anything slower on a UI element needs justification or it's a finding. Per-element budgets live in STANDARDS.md ↗.

5. Origin & physical correctness. Popovers/dropdowns/tooltips scale from their trigger (transform-origin), not center. Never animate from scale(0) — start from scale(0.9–0.97) + opacity (Modals are exempt — they stay centered.)

6. Interruptibility. Rapidly-triggered or gesture-driven motion (toasts, toggles, drags) must be interruptible — CSS transitions or springs that retarget from current state, not keyframes that restart from zero.

7. GPU-only properties. Animate transform and opacity only. Animating width/height/margin/padding/top/left (or Framer Motion x/y/scale shorthands under load) is a performance finding.

8. Accessibility. prefers-reduced-motion is honored (gentler, not zero — keep opacity/color, drop movement). Hover animations are gated behind @media (hover: hover) and (pointer: fine).

9. Asymmetric enter/exit. Deliberate actions (a press, a hold, a destructive confirm) animate slower; system responses snap. Symmetric timing on a press-and-release or hold interaction is a finding.

10. Cohesion. Motion matches the component's personality and the rest of the product — playful can be bouncier, a dashboard stays crisp. Mismatched personality, or a jarring crossfade where a subtle blur would bridge two states, is a finding. When unsure whether motion feels right, the strongest move is often to delete it.

Aggressive Escalation Triggers

Flag these on sight, hard:

  • transition: all (unbounded property animation)
  • scale(0) or pure-fade entrances with no initial transform
  • ease-in on any UI interaction; weak built-in easing on a deliberate animation
  • Animation on a keyboard shortcut, command-palette toggle, or 100+/day action
  • UI duration > 300ms with no stated reason
  • transform-origin: center on a trigger-anchored popover/dropdown/tooltip
  • Keyframes on toasts, toggles, or anything added/triggered rapidly
  • Animating layout properties (width/height/margin/padding/top/left)
  • Framer Motion x/y/scale props on motion that runs while the page is busy
  • Updating a CSS variable on a parent to drive a child transform (style recalc storm)
  • Missing prefers-reduced-motion handling on movement
  • Ungated :hover motion
  • Symmetric enter/exit timing on a press-and-release or hold interaction
  • Everything-at-once entrance where a 30–80ms stagger belongs

Remedial Preference Hierarchy

When proposing fixes, prefer earlier moves over later ones:

1. Delete the animation (high-frequency / no purpose / keyboard-triggered).

2. Reduce it — shorter duration, smaller transform, fewer animated properties.

3. Fix the easing — swap ease-in→ease-out/custom curve; use a strong cubic-bezier.

4. Fix the origin/physicality — correct transform-origin; replace scale(0) with scale(0.95)+opacity.

5. Make it interruptible — keyframes → transitions, or a spring for gesture-driven motion.

6. Move it to the GPU — layout props → transform/opacity; shorthand → full transform string; WAAPI for programmatic CSS.

7. Asymmetric timing — slow the deliberate phase, snap the response.

8. Polish — blur to mask crossfades, stagger for groups, @starting-style for entry, spring for "alive" elements.

9. Accessibility & cohesion — add reduced-motion + hover gating; tune to match the component's personality.

Required Output Format

Two parts, in this order.

Part 1 — Findings table (REQUIRED)

A single markdown table. One row per issue. Never a "Before:/After:" list.

| Before | After | Why |

| --- | --- | --- |

| transition: all 300ms | transition: transform 200ms ease-out | Specify exact properties; all animates unintended properties off-GPU |

| transform: scale(0) | transform: scale(0.95); opacity: 0 | Nothing appears from nothing — scale(0) looks like it came from nowhere |

| ease-in on dropdown | ease-out + custom curve | ease-in delays the moment the user watches most; feels sluggish |

| transform-origin: center on popover | var(--transform-origin) (Base UI) | Popovers scale from their trigger, not center (modals are exempt) |

Part 2 — Verdict (REQUIRED)

Group remaining commentary by impact tier, highest first. Omit empty tiers.

1. Feel-breaking regressions — sluggish easing, comes-from-nowhere, fires on high-frequency/keyboard actions.

2. Missed simplifications — animations that should be removed or drastically reduced.

3. Performance — non-GPU properties, dropped-frame risks, recalc storms.

4. Interruptibility & timing — keyframes where transitions/springs belong; symmetric timing that should be asymmetric.

5. Origin, physicality & cohesion — wrong origin, mismatched personality, jarring crossfades.

6. Accessibility — reduced-motion and pointer/hover gating.

Close with an explicit decision:

  • Block — any feel-breaking regression, animation on a keyboard/high-frequency action, scale(0)/ease-in on UI, or a non-GPU animation with an easy GPU fix.
  • Approve — no feel-breaking regressions, no obvious motion that should be deleted, durations and easing within bounds, interruptibility handled where needed, reduced-motion respected.

Be specific and cite file:line. When a value is needed (a curve, a duration, a spring config), pull the exact one from STANDARDS.md ↗ rather than approximating.

Guidelines

  • Prefer CSS transitions/@starting-style/WAAPI for predetermined motion; JS/springs for dynamic, interruptible, gesture-driven motion.
  • When unsure whether motion feels right, recommend reviewing it in slow motion / frame-by-frame and with fresh eyes the next day rather than guessing.

Domande frequenti

Che cosa fa lo skill review-animations?

Controllare la qualità dell'animazione, il timing e la sequenza del movimento dal punto di vista di una produzione critica.

Come si installa review-animations?

Apri il blocco “Installazione” in questa pagina e scegli il tuo agente — Claude Code, Codex, Cursor o Gemini CLI — per i comandi pronti che copiano la cartella dello skill nel posto giusto. Oppure copia il prompt dalla scheda “Con l'assistente” e lascia che sia l'assistente a controllare e installare lo skill.

Con quali modelli AI funziona review-animations?

Gli skill sono semplici istruzioni in Markdown (formato Agent Skills), quindi review-animations funziona con qualsiasi agente che legge SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode e altri. Il modello carica le istruzioni solo quando il compito corrisponde alla descrizione dello skill.

review-animations è gratuito?

Lo skill è pubblicato apertamente da emilkowalski con licenza MIT. Lo skill in sé non costa nulla: paghi solo il tuo fornitore AI per i token usati.

È sicuro installare gli skill?

Uno skill è un insieme di istruzioni che il tuo agente seguirà: leggi SKILL.md e i file correlati prima di installarlo. Gli script nella cartella dello skill vengono eseguiti solo se li esegue l'agente: controlla cosa fa e non concedere permessi superflui.

In cosa differisce uno skill da un server MCP o da un plugin?

Un server MCP o un plugin danno al modello nuovi strumenti: codice che viene eseguito e restituisce un risultato. Uno skill fornisce conoscenza e metodo: come affrontare il compito, quali passi seguire e com'è un buon risultato. Non servono server né chiavi API.

Skill correlati

Tutti gli skill →
improve-animations Esegui un esame della base di codice dell'animazione e del codice di movimento come consulente senior per il movimento, quindi crea un audit prioritario e piani di implementazione autonomi. Solo lettura del codice sorgente - pianifica miglioramenti, ma non li applica. Utilizza quando l'utente chiede di migliorare le animazioni, eseguire un audit del movimento, migliorare l'applicazione o desidera una roadmap delle correzioni delle animazioni, anziché un esame di un'unica differenza. emilkowalski49.9k find-animation-opportunities Trovare opportunità per un'interfaccia di movimento convincente, respingendo al contempo l'animazione che aggiunge rumore o rallenta gli utenti. emilkowalski49.9k animate Creare un'animazione da zero, prendendo decisioni in un ordine che determina se si sente corretta — se dovrebbe essere animato affatto, qual è lo scopo, quale strumento, quali proprietà, quale curva e durata, come interrompe, come esce. Scrivere la realizzazione. Utilizzare quando richiesto di animare qualcosa, aggiungere movimento, rendere il componente vivo o costruire una transizione. Per la critica del movimento esistente utilizzare review-animations; per un audit di tutto il codice utilizzare improve-animations. emilkowalski49.9k animation-vocabulary Raffinate il linguaggio del movimento in modo che la scelta delle animazioni sembri intenzionale e coerente. emilkowalski49.9k apple-design L'approccio di Apple alla progettazione dell'interfaccia e al movimento fisico fluido, tradotto per il web, da utilizzare per costruire o testare l'interfaccia utente gestuale, le animazioni a molla, le interazioni di trascinamento/scorrimento/sfoglia, l'impulso e le transizioni interrotte, i materiali semitrasparenti e la profondità, la tipografia (dimensione ottica, tracciamento, intervallo), la riduzione del movimento o i principi fondamentali del design (risposta, sequenza spaziale, moderazione) per le interfacce nello stile di Apple. emilkowalski49.9k interaction-design Sviluppare e implementare micro-interazioni, design del movimento, transizioni e modelli di feedback dell'utente per un'esperienza utente piacevole. wshobson41.8k