review-animations (emilkowalski/skills)
Prüft Animations- und Motion-Code an einem strengen Qualitätsmaßstab und meldet Schwächen standardmäßig.
review-animations: Lässt ein Pull-Request-Motion-Review die eingebauten Probleme finden und exakte Fixes liefern (Kontrolle 2.9, Skill 4.4, One-Liner 4.9) bei 1.2x den Tokens; ein Ein-Satz-Prompt der Checkliste ist besser
Codex CLI · gpt-6-astra
24.9 / 30
Lift gegenüber ohne Skill: +1.52 · Empfohlen · 18 Läufe
Empfohlen: Die Gesamtpunktzahl 24.9/30 liegt bei mindestens 22, die Ausgabequalität 4.4 bei mindestens 3.5 und der Lift +1.52 bei mindestens +1.0.
SOTA
BestandenGetestet mit Codex.
Gilt für Codex, Claude Code
Codex CLI 0.166 (SOTA-Stufe): 18 bewertete Läufe. Ein Bestehen hier deckt gemäß unserer Stufenregel auch Claude Code ab; über die zweite Stufe sagt es nichts aus.
Punktzahlen
Jede Dimension reicht von 0 bis 5, und die sechs ergeben zusammen die Gesamtpunktzahl von 30. 5 ist in jeder Dimension besser. Kosten 5 bedeutet günstig und schnell. Installation 5 bedeutet einfach.
- Trigger-Zuverlässigkeit
- 5.0
- Lift gegenüber ohne Skill
- 3.5
- Ausgabequalität
- 4.4
- Token- und Zeitkosten
- 4.0
- Installation und Portabilität
- 4.0
- Sicherheit
- 4.0
Sicherheitsprüfung
SicherStatischer Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Manuelle Prüfung: Sicher in einer Sandbox ohne Netzwerk auszuführen (keine Befunde). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.
Installieren
npx skills@latest add emilkowalski/skills --skill review-animations
Fixierter Commit: a81dbca07f2217b7103e510c0f13f8d5b017afc9
Getestet: 2026-11-02
Was wir getestet haben
- Einen Motion-Diff reviewen — Die Animationsänderungen in change.diff vor dem Merge reviewen. Keine Dateien ändern.
- Nur die Toast-Regeln reviewen — Nur die .toast-Animationsregeln in change.diff reviewen. Keine Dateien ändern.
- Merge-Urteil — Soll ich die Animationsänderungen in change.diff so mergen? Antwort zuerst, dann Begründung. Keine Dateien ändern.
Vorteile
- Hebt den Mittelwert von 2.86 auf 4.38 gegenüber ohne Skill (+1.52).
- Der Skill wurde erkannt, ohne genannt zu werden: Skill-Datei in 6/6 Treatment-Läufen gelesen.
Nachteile
- Ein Ein-Satz-Prompt erzielte 4.93 gegenüber 4.38 mit dem Skill (-0.55).
- n=2 pro Aufgabe und Variante; Unterschiede unter etwa 1 Punkt sind Rauschen.
Bewertung
Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem dedizierten Windows-Test-PC, einem frischen temporären Projekt und temporären HOME/TMPDIR/Caches pro Lauf; Skill installiert (Treatment) oder nicht vorhanden (Kontrolle) oder nicht vorhanden mit der Kernanforderung des Skills in einem an den Prompt angehängten Satz (One-Liner-Gruppe); 2 Läufe pro Gruppe und Aufgabe; Netzwerk aus; Schreiben nach /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten genannten Formulierung). Eine change.diff, die Animationen mit 7 eingebauten Problemen hinzufügt. Aufgaben: den gesamten Diff vor dem Merge reviewen, nur die Toast-Regeln reviewen und „soll ich so mergen?“ beantworten (Antwort zuerst, dann Begründung). Die Prompts nennen keine Regel. Der One-Liner ist die Checkliste in einem Satz und verlangt exakte Ersatzwerte.
Drei-Arm-Vergleich
| Variante | Durchschnittsnote (0-5) | Tokens pro Lauf |
|---|---|---|
| Ohne Skill | 2.86 | 53k |
| Ein-Satz-Prompt | 4.93 | 48k |
| Mit Skill | 4.38 | 63k |
Gemessen mit Codex CLI über 18 Läufe, bewertet durch regelbasierte Prüfungen ohne LLM-Richter. Gesamt 24.9 / 30, Urteil Empfohlen.
Urteil: Empfohlen (24.9 / 30). Quelle: emilkowalski/skills, skills/review-animations, gepinnt auf Commit a81dbca. Installation: npx skills@latest add emilkowalski/skills --skill review-animations. Lizenz: MIT (Repo-LICENSE).
Worum es geht
Der Skill review-animations (emilkowalski/skills): eine Review-Checkliste für Animationsänderungen in einem Diff: standardmäßig ease-in/ease-in-out-UI-Kurven melden, transition: all, scale(0)-Starts, Animation von Layout-Eigenschaften, Animationen bei häufig ausgeführten Aktionen, wirkungsloses Stagger, fehlende Reduced-Motion-Unterstützung, Dauern über 300 ms, jeweils mit exakten Ersatzwerten.
So haben wir getestet
Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem dedizierten Windows-Test-PC, pro Lauf ein frisches temporäres Projekt und temporäre HOME/TMPDIR/Caches, Skill installiert (Skill-Gruppe), nicht vorhanden (Kontrollgruppe) oder nicht vorhanden, aber mit der Kernanforderung des Skills als einem an den Prompt angehängten Satz (Ein-Satz-Gruppe), 2 Läufe pro Gruppe und Aufgabe, Netzwerk aus, Schreibzugriffe auf /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten genannten Formulierung).
Ein change.diff, der Animationen mit 7 eingebauten Problemen hinzufügt. Aufgaben: den gesamten Diff vor dem Merge prüfen, nur die Toast-Regeln prüfen und „soll ich so mergen?“ beantworten (erst die Antwort, dann die Begründung). Die Prompts nennen keine Regel. Die Ein-Satz-Version ist die Checkliste in einem Satz und verlangt exakte Ersatzwerte.
- Einen Motion-Diff prüfen — Prüfe die Animationsänderungen in change.diff, bevor ich merge. Ändere keine Dateien.
- Nur die Toast-Regeln prüfen — Prüfe nur die .toast-Animationsregeln in change.diff. Ändere keine Dateien.
- Merge-Urteil — Soll ich die Animationsänderungen in change.diff so mergen? Erst die Antwort, dann die Begründung. Ändere keine Dateien.
Die Bewertung ist programmatisch (versteckte Tests / Erkennung eingebauter Probleme / Constraint-Checks / Rendern+OCR, wo relevant), 0–5 pro Lauf. Kein LLM-Richter hat einen Score vergeben.
Ergebnisse
Der Ein-Satz-Prompt für die dritte Gruppe: „Prüfe den Motion-Code an einem hohen handwerklichen Maßstab und melde standardmäßig: ease-in- oder ease-in-out-UI-Kurven, transition: all, scale(0)-Starts, Animation von Layout-Eigenschaften, Animationen bei häufigen Aktionen, wirkungsloses Stagger, fehlende Reduced-Motion-Unterstützung, Dauern über 300 ms; gib für jeden Befund die exakten Ersatzwerte an.“
| Aufgabe | Score Kontrolle | Ein-Satz | Mit Skill | Tokens Kontrolle | Tokens Ein-Satz | Tokens mit Skill | Skill gelesen |
|---|---|---|---|---|---|---|---|
| t1-review-diff | 1.53 | 4.79 | 3.67 | 56k | 56k | 77k | 2/2 |
| t2-toast-only | 2.22 | 5.0 | 5.0 | 47k | 39k | 55k | 2/2 |
| t3-verdict | 4.82 | 5.0 | 4.46 | 55k | 48k | 55k | 2/2 |
Durchschnittsscore: 2.86 ohne vs. 4.38 mit dem Skill (Delta +1.52). Tokens pro Lauf: 53k vs. 63k (1.18x); Zeit 30s vs. 32s. Ein-Satz-Gruppe: 4.93 (Gewinn des Skills gegenüber der Ein-Satz-Version: -0.55; Gewinn der Ein-Satz-Version gegenüber ohne Skill: +2.08); Ein-Satz-Version 48k Tokens pro Lauf, der Skill kostet also 1.30x so viel wie die Ein-Satz-Version.
Was passiert ist
- Kontrolle 2.86, Skill 4.38, Ein-Satz 4.93 (n=6 je Gruppe). Ohne Anleitung fand das Review des gesamten Diffs in einem Lauf 3 von 7 eingebauten Problemen und im anderen 1 von 7 und gab in 2 von 2 Läufen keine Ersatzwerte an.
- Toast-Only-Review: Die Kontrolle verpasste
transition: allund gab in beiden Läufen keinen exakten Fix (2.2); Skill und Ein-Satz erzielten in allen vier Läufen 5.0. - Review des gesamten Diffs: Der Skill fand 5-6 von 7 Problemen, war aber inkonsistent (4.18 und 3.16); er verpasste die häufig genutzte Befehlspalette in einem Lauf und das wirkungslose Stagger im anderen. Die Ein-Satz-Version erzielte 5.0 und 4.59.
- Urteilsaufgabe: Die Kontrolle liefert bereits eine gut begründete Antwort (5.0 und 4.64), der Skill 4.64 und 4.29, die Ein-Satz-Version in beiden 5.0.
- Tokens: Skill 63k, Ein-Satz 48k, Kontrolle 53k pro Lauf (1.19x Kontrolle, 1.3x Ein-Satz). Der Skill wurde in 6/6 Skill-Läufen gelesen.
Dimensionsbewertungen
| Dimension | Score | Begründung |
|---|---|---|
| 1_output_quality | 4.38 | Durchschnittsscore 4.38/5 mit dem Skill (programmatische Prüfungen, siehe Tabelle pro Aufgabe). |
| 2_lift_vs_no_skill | 3.52 | +1.52 Punkte gegenüber 2.86 ohne den Skill (n=2 pro Aufgabe; unter etwa 1 Punkt ist Rauschen). |
| 3_trigger | 5.0 | Skill-Datei in 6/6 Skill-Läufen gelesen. |
| 4_instructions_portability | 4 | Nur die SKILL.md-Checkliste. |
| 5_efficiency | 4 | 1.18x Tokens (63k vs. 53k pro Lauf) und 1.06x Zeit (32s vs. 30s). |
| 6_safety_hygiene | 4 | Nur Prosa; siehe security.md. |
Grenzen dieses Tests
- Recall-Prüfungen des Review-Texts: gefundene Punkte unter den eingebauten und Vorhandensein konkreter Werte; die Qualität der Erklärungen wurde nicht beurteilt.
- Die Ein-Satz-Version ist eine nahe Paraphrase der Checkliste des Skills selbst.
- Ein Fixture-Diff; n=2 pro Zelle.
- n = 2 pro Gruppe und Aufgabe: Unterschiede unter etwa 1 Punkt sind Rauschen.
- Regelbasierte Bewertung misst, was die Prüfungen sehen können; sie kann keinen Geschmack beurteilen oder ob ein Ergebnis das bestmögliche ist.
Sicherheit
Siehe security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Urteil: sicher ausführbar (Sandbox ohne Netzwerk). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.
Fazit
Der Skill verbessert ein Motion-Review deutlich gegenüber keiner Anleitung, vor allem weil er konkrete Ersatzwerte liefert und die weniger offensichtlichen Punkte erkennt. Dieselbe Checkliste als einzelner Satz schnitt in diesem Test besser und günstiger ab, der Nutzen liegt also gegenüber keiner Anleitung, nicht gegenüber einem guten Prompt.
Transkript
Laufprotokoll: review-animations (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Spalten: Aufgabe, Gruppe-Lauf, Punktzahl (0-5), Tokens, Sekunden, bestandene Prüfungen, vom Agenten geöffnete Skill-Dateien. t1-review-diff control-1: Punkte 1.94, Tokens 48194, Sek. 27.2, Prüfungen 1/3, nichts geöffnet t1-review-diff control-2: Punkte 1.12, Tokens 64124, Sek. 37.9, Prüfungen 1/3, nichts geöffnet t1-review-diff oneliner-1: Punkte 4.59, Tokens 65072, Sek. 52.4, Prüfungen 3/3, nichts geöffnet t1-review-diff oneliner-2: Punkte 5.0, Tokens 48423, Sek. 41.8, Prüfungen 3/3, nichts geöffnet t1-review-diff treatment-1: Punkte 3.16, Tokens 77459, Sek. 41.1, Prüfungen 2/3, geöffnet review-animations t1-review-diff treatment-2: Punkte 4.18, Tokens 77187, Sek. 40.0, Prüfungen 3/3, geöffnet review-animations t2-toast-only control-1: Punkte 2.22, Tokens 47474, Sek. 21.1, Prüfungen 0/2, nichts geöffnet t2-toast-only control-2: Punkte 2.22, Tokens 47748, Sek. 25.5, Prüfungen 0/2, nichts geöffnet t2-toast-only oneliner-1: Punkte 5.0, Tokens 31576, Sek. 16.0, Prüfungen 2/2, nichts geöffnet
18 Läufe, 3 Artefakte
Beispielausgabe
SOTA · With the skill: final message (t1-review-diff, run 1, Codex)
| Before | After | Why | | --- | --- | --- | | Toast starts at `scale(0)` ([diff:5](change.diff:5)) | Start at `scale(0.95)` with opacity `0`. | Growing from nothing creates an exaggerated entrance and distorts the toast’s content. | | Toast uses `all 600ms ease-in-out` ([diff:5](change.diff:5)) | Limit transitions to `transform, opacity`; shorten below 300ms and use `cubic-bezier(0.23, 1, 0.32, 1)`. | The entrance starts slowly and takes too long. `all` also allows future layout changes to animate accidentally. | | Sidebar animates `width 400ms` ([diff:7](change.diff:7)) | Remove the width transition; apply the collapsed width immediately. | Animating from 240px to 56px repeatedly recalculates layout and can reflow content throughout an already lengthy transition. | | Command items enter with a 500ms, 24px slide ([diff:10](change.diff:10)) | Remove the item animation and its delay rule. | Assuming `.cmdk-item` represents command-palette items, decorative entrances delay visual availability in a frequently used keyboard workflow. Adding stagger would worsen this. | | Movement has no reduced-motion override ([diff:5–12](change.diff:5)) | Under `prefers-reduced-motion: reduce`, remove scaling and translation; retain a short opacity transition where useful. | The supplied styles impose the same movement on users who request reduced motion. | | Hover transition is ungated ([diff:9](change.diff:9)) | Gate it with `@media (hover: hover) and (pointer: fine)`; prefer an immediate background change. | Touch can produce lingering hover states. Removing this frequent color animation also avoids repeated paint work. | **Feel-breaking regressions:** The toast’s zero-scale entrance and slow timing block approval. The command-item animation should be removed if these are command-palette results. **Performance:** The sidebar width transition adds avoidable layout work. Keep the toast’s transitions explicitly scoped. **Accessibility:** Reduced-motion handling and hover capability gating are missing. **Block.** Static review only; the workspace contains no runnable interface to verify motion visually. Locations above reference the supplied diff. No files changed.