Skip to the usage guide
fixing-motion-performanceby Julien Thibeaut

Fixing Motion Performance Skill.

A Claude Code and Codex skill for motion and video: finds and fixes janky CSS/JS animation and scroll-linked motion.

  • Motion & Video
  • Review report
ibelick/ui-skills · skills/fixing-motion-performance/SKILL.mdSKILL.md
--- name: fixing-motion-performance description: Audit and fix animation performance issues including layout thrashing, compositor properties, scroll-linked motion, and blur effects. Use when animations stutter, transitions jank, or reviewing CSS/JS animation performance. --- ## how to use ## when to apply ## rendering steps glossary ## rule categories by priority ## common fixes ## review guidance
Front matter and section headings read from the upstream file on 2026-09-14 · 5,561 characters in full

01 What it does

What the fixing-motion-performance Skill Does in Claude Code and Codex

Summary, workflow and outputs, all read from the skill's SKILL.md.

From the SKILL.mdRead 2026-09-14 · not a recorded run

In the Skill's Own Terms

An audit-and-fix playbook for CSS and JS animation performance, aimed at designers and developers reviewing or refactoring janky transitions, scroll-linked motion and blur effects. It ships as a slash command: invoked bare, it applies the guidelines to any animation work in the conversation; given a file, it reports violations by quoting the exact line, why it matters, and a code-level fix.

Rules are ordered by priority from never patterns, choose the mechanism and tool boundaries at critical, through measurement, scroll, paint, layers and blur, down to view transitions. It refuses to migrate animation libraries unless asked, applying rules within the existing stack.

What it produces

  • One short sentence per violation explaining why it matters.
  • A concrete, code-level fix for each violation.
  • A stated justification for any non-default choice of rendering work.
See the example prompt ↗

How It Works

  1. 01
    Invoke It as a Slash Command

    Run /fixing-motion-performance to bind the constraints to whatever animation work is already under discussion in the session.

  2. 02
    Or Point It at a File

    Passing a path switches it into review mode, checking that file against every rule rather than constraining live work.

  3. 03
    Report in Three Parts

    Each finding quotes the offending line, gives one short sentence on why it matters, and proposes a code-level fix.

  4. 04
    Sort Properties by Rendering Step

    The glossary splits work into composite, paint and layout so the reviewer knows which animations are cheap and which are expensive.

  5. 05
    Enforce in Priority Order

    Critical categories are checked before the lower-impact ones, so never patterns and tool boundaries are settled first.

  6. 06
    Stay Inside the Current Stack

    Library migration is not part of the job; the rules are applied to whatever animation system the codebase already uses.

02 Find your fit

When to Use the fixing-motion-performance Skill

Use the fixing-motion-performance skill in Claude Code or Codex when the job is motion and video of this kind. Fit and limits below are taken from the skill's own file.

Good Fit

  • Adding or changing UI animations written with CSS, WAAPI, Motion, rAF or GSAP.
  • Refactoring interactions or transitions that already feel janky.
  • Implementing scroll-linked motion or reveal-on-scroll effects that currently run off scroll events.
  • Animating layout, filters, masks, gradients or CSS variables, where the cost profile is the whole question.
  • Reviewing components that lean on will-change, transforms or measurement.

Know the Boundaries

  • View transitions beyond navigation-level changes, such as interaction-heavy UI or flows that must be interruptible.
  • Continuous or large-surface blur effects, which are excluded rather than optimised.

What to Provide

  • The slash command on its ownFor live work, invoking it bare is enough; it then shapes any animation changes made in the conversation.
  • A file path for review modePassing one file makes the skill review that file against all rules and produce the violation report.
  • The existing animation systemYou do not supply a target library; the code as it stands is the frame of reference, and rules are applied within it.

03 Inside the skill

Rules the fixing-motion-performance Skill Gives Claude Code and Codex

8 concrete instructions, defaults and limits the SKILL.md sets for the agent — the part of the file that changes the result.

  1. Never Interleave Reads and Writes

    Layout reads and writes must not be mixed within the same frame, and multiple animation systems that each measure or mutate layout must not run together.

  2. Never Animate from Scroll Position

    Driving animation from scrollTop, scrollY or scroll events is prohibited; use Scroll or View Timelines and IntersectionObserver instead.

  3. Every rAF Loop Needs an Exit

    A requestAnimationFrame loop with no stop condition is a never pattern, not an acceptable trade-off.

  4. Default to Transform and Opacity

    These are the compositor properties and the starting point for motion; JS-driven animation is reserved for interactions that require it.

  5. Cap Blur at 8px

    Blur animation must stay small, at 8px or less, and is limited to short one-time effects; continuous blur and blur on large surfaces are ruled out.

  6. Use will-change Surgically

    Layer promotion is not automatic, so will-change is applied temporarily and narrowly rather than left on many or large promoted layers.

  7. Do Not Animate CSS Variables for Motion

    Custom properties driving transform, opacity or position must not be animated, and inherited animated variables are banned outright.

  8. No Half Migrations

    Within one component, APIs must not be partially migrated and animation styles must not be mixed.

04 Put it to work

Install fixing-motion-performance in Claude Code or Codex

One npx skills add command, then a first task in your agent and a checklist for the result.

Add fixing-motion-performance to Claude Code, Codex or Your Agent

Run in your project; the installer asks which agent to add it to.

Terminal
npx skills add https://github.com/ibelick/ui-skills --skill fixing-motion-performance

Generic skills CLI form for skills/fixing-motion-performance/SKILL.md; the repository may document its own path.

Give the Skill a First Motion and Video Task

Written in the skill's own terms; replace the bracketed parts with your material.

Starter prompt
Use /fixing-motion-performance on [path/to/Component.tsx]. The [side panel] transitions width on hover, the reveal-on-scroll is wired to a window scroll listener, and there is a blurred overlay on a full-width section. Report each violation with the exact line, why it matters, and a concrete fix, working within our existing [Motion] setup rather than migrating libraries.

Source: written from the SKILL.md in the skill's own terms.

Check the First Result

What the SKILL.md itself says a correct result looks like:

  • Confirm the proposed fix does the least expensive rendering work that still matches the intended effect.
  • Check that anything moved off-screen is actually paused or stopped rather than left running.
  • Where layer promotion matters, verify it with tooling instead of assuming it happened.

In OpenDesign import fixing-motion-performance from its SKILL.md link: Plugins → Add → Skill → Import from link, then pick it in the top bar.

05 Open source, traceable

Source, License and Verification

Where this page's facts come from, and when they were last checked.

Repository
github.com/ibelick/ui-skills Branch main
Skill file
skills/fixing-motion-performance/SKILL.md Content checksum recorded at verification; commit 79081ab
License
MIT From LICENSE.
Repository stars
8,402 GitHub snapshot taken 2026-09-14 for the whole ibelick/ui-skills repository, which contains 5 skills in this catalog. Not a rating or usage count for fixing-motion-performance.
Verified by OpenDesign
2026-09-14 Source file, path, license text and star count were checked. Not bundled in OpenDesign main (checked 2026-08-28); a live run has not been recorded on this page.

Inside the SKILL.md

  1. how to useBare invocation constrains the session; a file argument triggers a full violation report.
  2. when to applyLists the five situations that should trigger these guidelines during animation work.
  3. rendering steps glossaryDefines composite, paint and layout and the properties each one covers.
  4. rule categories by priorityNine categories ranked with an impact label, critical down to low.
  5. quick referenceNine numbered categories of short bullet constraints, from never patterns to tool boundaries.
  6. common fixesCSS and JS before/after snippets for layout thrashing, scroll-linked motion and FLIP measurement.
  7. review guidanceHow to run the review: critical first, cheapest work, justified non-default choices, actionable notes.
The Skill's Own Description
“Audit and fix animation performance issues including layout thrashing, compositor properties, scroll-linked motion, and blur effects. Use when animations stutter, transitions jank, or reviewing CSS/JS animation performance.”

Front-matter description from SKILL.md. The full file is about 5,561 characters. Read the full file on GitHub.

06 Before you install

Questions About the fixing-motion-performance Skill

Answers come from the SKILL.md as read on 2026-09-14, not from a recorded run.

Which animation libraries does it cover?

It names CSS, WAAPI, Motion, rAF and GSAP in its scope, so it is broad rather than tied to one framework. Because it applies rules within the existing system, it adapts to whichever of those you are already using.

Fixing Motion Performance

Run fixing-motion-performance on a Real Motion and Video Task.

Download OpenDesign, import fixing-motion-performance from its SKILL.md link, paste the prompt above, and read the plan before the result.

Terminal
npx skills add https://github.com/ibelick/ui-skills --skill fixing-motion-performance

OpenDesign Desktop

One design system. Every output unmistakably your brand

Inside the full Vibe Design Workspace, use the same brand rules across websites, slide decks, interactive prototypes, dashboards, images, and HTML video. Connect Codex, Claude Code, Cursor, and other coding agents already on your computer, then create locally for free.

  • Web, slides, prototypes, dashboards, images, and video
  • 140+ design systems, plus the full template and skill library
  • Connect local Codex and 21+ coding agents · Free to use
Download free

Available for macOS and Windows