Agent skill · Audited from source
review-animations
skill · emilkowalski/skillsMIT licenceAudited 29 Oct 2026 · source fd0de5c86b51
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit fd0de5c86b51 and found no filesystem, network or shell access and no hard-coded secrets. What it does: Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
Cite
Cite this page
ModelsAtlas. “review-animations (emilkowalski/skills)”. Retrieved 29 Oct 2026. https://modelsatlas.com/skills/emilkowalski/review-animations
Trust audit
Audit 0.4.1 · source read 29 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
INFOPrompt injectionprompt.authority_framing · SKILL.md:21
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
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha fd0de5c86b51 · 29 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisheremilkowalski GitHub userOwner of the repository this skill is read from
- Source folderemilkowalski/skills/skills/review-animationsThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdictfd0de5c86b51A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
--- name: review-animations description: Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned. disable-model-invocation: true --- # 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](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](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 com
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit fd0de5c
git clone https://github.com/emilkowalski/skills git -C skills checkout fd0de5c86b51
The author documents no install command, so this uses the repository directly. Our verdict covers commit fd0de5c86b51 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
fd0de5c86b51
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/emilkowalski/review-animations/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
All coding & review skills →obra/superpowers
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions…
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Add this badge to your README
[](https://modelsatlas.com/skills/emilkowalski/review-animations/)
<a href="https://modelsatlas.com/skills/emilkowalski/review-animations/"><img src="https://modelsatlas.com/skills/emilkowalski/review-animations/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about review-animations
What does the review-animations skill do?
Is review-animations safe to install?
What can review-animations access on my machine?
How current is this page?
Sources
- github.com/emilkowalski/skills/tree/main/skills/review-animation — the audited source at commit fd0de5c86b51 and every finding aboveObserved · 29 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the review-animations skill do?
- Is review-animations safe to install?
- What can review-animations access on my machine?