Skill

Finding Animation Opportunities

Find justified animation opportunities through a read-only interface sweep with frequency gates, exact recipes, and explicit rejections.


39
Spark score
out of 100
Updated 7 days ago
Source checked Nov 3, 2026
Version 20.4.0

Add to Favorites

Install

Add it to your toolbox

Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-find-animation-opportunities | bash

After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.

Reports

Agent outcome reports

No reports yet

Overview

A read-only discovery skill for useful interface motion. It proposes a limited, evidence-backed set of recipes and records candidates deliberately left static. Use before implementing animations when you need to decide which interactions deserve motion and which should remain instant.

What it does

Finding Animation Opportunities reviews an interface for moments where motion would improve feedback or understanding. It searches existing code, identifies concrete locations, filters candidates, and proposes precise recipes. Its defining principle is restraint: a short list of justified changes is more useful than a broad animation wishlist, and finding that nothing should animate is an acceptable outcome.

Each candidate passes an ordered gate covering frequency, purpose, speed, and function. Actions used more than 100 times daily are rejected, as are keyboard-initiated command palettes, shortcuts, and focus jumps. Frequent hover states or toggles receive either no motion or near-imperceptible treatment. Occasional dialogs, drawers, and toasts can qualify for standard motion, while rare onboarding or celebration moments have more room for delight.

The named purpose must be feedback, spatial consistency, state indication, preventing a jarring change, explanation, or delight. Explanation belongs to marketing or onboarding, and delight is limited to rare or first-time moments. Decorative movement that interferes with reading or acting on functional data fails the gate even if the implementation would be visually appealing.

When to use - and when NOT to

Use it when asking where a screen or application would benefit from motion before authorizing implementation. It does not review existing animation quality, audit and plan animation fixes, or write the implementation. Those concerns are assigned to companion review and improvement skills.

This mode is read-only: project files and dependencies remain unchanged. A whole-application report is capped at roughly five to seven suggestions, with fewer for a single view, ordered by value rather than novelty. Product personality also matters; a crisp dashboard should receive fewer and subtler suggestions than a playful consumer interface.

Inputs and outputs

Inputs are the interface scope, source code, stack, motion libraries, existing easing and duration tokens, and a rough usage-frequency map. Reconnaissance establishes those constraints before searching. Existing tokens are extended rather than replaced with a competing vocabulary, and repository text is treated as data rather than instructions.

The sweep examines feedback gaps, instant conditional content changes, missing spatial relationships, group entrances, gesture discontinuities, and rare emotional moments. It looks for pressable elements without active feedback, expanding sections that snap open, list additions without a bridge, popovers detached from their triggers, mismatched entry and exit directions, and draggable elements that stop abruptly.

Recipe ideas include subtle press scaling, deliberate hold-to-confirm progress, entry fades near full scale, anchored overlay origins, symmetric dismissal paths, non-blocking staggered entrances, and gesture springs with velocity-aware dismissal and soft boundary resistance. The hunt catalog also covers accordions and clip-path confirmation fills. Every applicable seam class must either yield an evidenced candidate or be explicitly cleared.

Timing is checked against the standard budgets: press feedback at 100-160ms, small overlays around 125-200ms, and dropdowns around 150-250ms. Ordinary UI motion should stay below 300ms, with larger ranges allowed for dialogs or drawers and longer explanatory motion. A candidate that requires a slow spectacle to work is rejected.

The output begins with an opportunities table giving location, current behavior, purpose, frequency, and suggested motion. Recipes name exact properties, curves, and durations from the shared vocabulary, with reduced-motion handling and fine-pointer hover gating where needed. Final property guidance favors transform and opacity.

A required rejection section records two to five considered surfaces and the gate that ruled each out. The verdict then explains how much motion the interface needs and identifies the highest-value suggestion. It points to improve-animations plan as the handoff for a self-contained implementation plan and states when feel still needs observation rather than claiming certainty from code.

Integrations

The review inspects existing CSS, conditional renders, event handlers, list rendering, and gesture code. Its vocabulary includes CSS transitions, @starting-style, spring motion, and trigger-origin conventions such as Base UI's transform-origin variable. Suggested APIs and values remain illustrative and must be checked against installed versions, project conventions, keyboard alternatives, and accessibility requirements before implementation.

Source README

"It looks cool" is not on this list. If you can't name the purpose in one of these words, reject the candidate.

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.