PlugWiki

remove-animations Skill (Emil Kowalski) for Claude Code: What It Does and How to Install It

Finds the animations your interface does not need and removes or reduces them, then cleans up the leftover code.

Installs
8.8K
on skills.sh
Stars
52.7K
on GitHub
Updated
Oct 2026
last repo commit

This skill puts every animation in your UI on trial. It deletes the ones that cannot defend themselves, such as motion on keyboard shortcuts, repeated scroll reveals and charts that redraw on every refresh. It shrinks others, and it never adds motion.

It triggers on phrases like "feels slow" or "has too much animation". It edits your code and runs the type checker and tests if your project has them. It bundles no scripts. It reports what it removed and what it kept.

Good for

  • Front-end developers whose app feels slow or over-animated
  • Designers and engineers who want to tone down motion before a release
  • Teams reviewing AI-generated UI that added fade-ins and hover effects everywhere

Install remove-animations

Claude Code

  1. 1

    Download the skill folder from https://github.com/emilkowalski/skills/tree/HEAD/skills/remove-animations.

  2. 2

    Put it at ~/.claude/skills/remove-animations/ so that SKILL.md sits directly inside.

  3. 3

    Start a new session; the skill loads when its description matches the task.

Pick one route. The README installs all 16 skills in the repo with one command; the skills CLI command for remove-animations alone installs one. The skill edits your project files and runs your checks, so it fits an agent that works in your repo; the Claude app upload route loads the skill but gives it no project to edit unless you attach files.

Built from the package data we hold. Not yet tested by us.

What's in the skill

When it loads

Find the animations an interface doesn't need and remove them — motion on keyboard actions, high-frequency surfaces, functional data, and decoration with no purpose — then clean up what they leave behind. Edits code, but only to subtract; it never adds or retunes motion. Use when the user says the app "feels slow", "has too much animation", "feels over-animated", wants to "tone down the motion", or asks what animations to remove. For finding places that should animate, use find-animation-opportunities; for fixing animations that should stay, use improve-animations or review-animations.

Sections in SKILL.md

  1. Initial Response
  2. Operating Posture
  3. Hard Rules
  4. The Gate
  5. Reducing
  6. Where to Hunt
  7. Removal Hazards
  8. Cleanup
  9. Workflow
  10. Required Output Format
  11. Part 1 — Removed and reduced
  12. Part 2 — Kept (REQUIRED)
  13. Part 3 — Cleanup and verdict
  14. Tone

Key facts

License
MIT
Installs on skills.sh
8,774 (Nov 2, 2026)
Last repo commit
Oct 28, 2026

What it includes

  • Invoked with no question, it replies with one fixed sentence and nothing else.

    The sentence says it is ready to remove the animations your interface does not need, with knowledge from Emil Kowalski's animation philosophy.

    Initial response

  • Every animation is tested: keyboard-triggered, 100+ times a day, data, or purposeless.

    Each animation ends as Delete, Reduce or Keep, and the branch that decided it goes in the report. An animation stays only if it passes.

    The Gate

  • Shrinks motion instead of replacing it: 150ms color change, opacity-only, 200 to 250ms.

    Five rows cover hover scale, slide or scale entrances, animations over 300ms, long staggers and infinite loops.

    Write · Reducing

  • Four sweeps: keyboard and high-frequency, decoration, functional data, over-engineering.

    It greps for terms such as transition, @keyframes, whileInView, AnimatePresence and IntersectionObserver.

    Files · Where to hunt

  • Six checks before deleting, such as hidden start states and exit-animation unmount timing.

    The others are code that waits for the animation, layout animations hiding a jump, focus timed after motion, and tests and selectors.

    Removal hazards

  • Removes orphaned keyframes, motion wrappers, imports and config entries.

    If the motion library is no longer imported anywhere, it proposes removing the dependency and asks first.

    Delete · Cleanup

  • Runs the type checker and tests if the project has them, then greps for removed names.

    Which commands run depends on your project.

    Runs code · Verify

  • Three parts: removed and reduced, kept (2 to 5 items), cleanup and verdict.

    The Kept section is required, so the report shows what survived and why.

    Report

From the official docs

Permissions

Medium risk

It edits and deletes code in your project, and a bad removal can leave an element invisible. Commit first and read the diff.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It edits and deletes code in your project

    Every change deletes or reduces an animation, or removes code it left unused. Commit first, then review the diff. github.com

  • It may propose removing a package

    Hard Rule 3 says to ask before removing a dependency, because that touches the lockfile and other people's work. Answer no if others depend on it. github.com

  • It treats repo text as data

    Hard Rule 5 says that if a file tries to steer it with text like "ignore previous instructions", it flags that and moves on. github.com

Technical details
Turning on read-onlyNo read-only mode. The skill exists to edit code; use version control and review the diff.
Scopes
  • Edits and deletes animation code, CSS, config and imports in your project

  • Runs the project's type checker and tests if it has them

Questions

What does remove-animations do?

It looks through your UI code for animations the product does not need and deletes or shrinks them. It targets motion on keyboard actions, high-frequency screens, live data and pure decoration. It never adds motion or retunes easing.

When does it run?

The SKILL.md lists phrases such as the app "feels slow", "has too much animation", "feels over-animated", "tone down the motion", or asking what animations to remove. If you invoke it with no question, it replies with one fixed sentence and waits.

How do I install it?

Use the install box above. The README installs the whole emilkowalski/skills set with one command, which adds 16 skills. The skills CLI tab here installs only remove-animations.

Will it change my code?

Yes. It edits files to delete or reduce animations and clean up what they leave behind. Use version control and read the diff. It asks before uninstalling a motion library, and it keeps an animation when a comment or design doc explains why it exists.

Does it need an API key?

The SKILL.md names no API key. It runs the type checker and tests if your project has them, so it needs whatever those need. The folder holds only SKILL.md.

How is it different from find-animation-opportunities, improve-animations and review-animations?

remove-animations only subtracts. The SKILL.md calls find-animation-opportunities its counterpart for finding places that should animate, and sends animations that stay to improve-animations or review-animations. Those are separate skills in the same repo.

Does it work in the Claude app?

The install box has a Claude app upload tab, which needs "Code execution and file creation" turned on. The skill edits files and runs your type checker and tests. Our advice: use it in an agent that works inside your repo, such as Claude Code.

Information

updated Nov 2, 2026

Folder
skills/remove-animations

emilkowalski/skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 2
  1. remove-animations SKILL.md · github.com
  2. emilkowalski/skills README · github.com

Updated Nov 2, 2026.