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
Download the skill folder from https://github.com/emilkowalski/skills/tree/HEAD/skills/remove-animations.
- 2
Put it at ~/.claude/skills/remove-animations/ so that SKILL.md sits directly inside.
- 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
- Initial Response
- Operating Posture
- Hard Rules
- The Gate
- Reducing
- Where to Hunt
- Removal Hazards
- Cleanup
- Workflow
- Required Output Format
- Part 1 — Removed and reduced
- Part 2 — Kept (REQUIRED)
- Part 3 — Cleanup and verdict
- Tone
Key facts
- License
- MIT
- Installs on skills.sh
- 8,774 (Nov 2, 2026)
- Last repo commit
- Oct 28, 2026
- Audits on skills.sh
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
- What it includes
- 1 file including SKILL.md
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 responseEvery 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 GateShrinks 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 ·
ReducingFour 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 huntSix 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 hazardsRemoves 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 ·
CleanupRuns the type checker and tests if the project has them, then greps for removed names.
Which commands run depends on your project.
Runs code ·
VerifyThree 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-only | No read-only mode. The skill exists to edit code; use version control and review the diff. |
|---|---|
| Scopes |
|
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
- Repository
- emilkowalski/skills
- Folder
skills/remove-animations
Sources
Docs, issue trackers and discussions this page is built from.
Show all 2Hide
- remove-animations SKILL.md · github.com
- emilkowalski/skills README · github.com