Animation System — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Animation System (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to build a motion system that feels intentional and consistent instead of ad-hoc transitions scattered across components.
Animation should do work: direct attention, show cause and effect, express hierarchy, or soften a change. If a motion does none of these, cut it.
Establish a small scale. Faster for small/near elements, slower for large/far ones.
instant: 0ms (state with no transition)fast: 100ms (hovers, small toggles)base: 200ms (most transitions)slow: 300ms (modals, sheets, page-level)deliberate: 500ms (large or first-run reveals)Never exceed ~500ms for interactive feedback — it starts to feel sluggish.
ease-out (cubic-bezier(0, 0, 0.2, 1)) — for elements entering. Fast start, gentle stop.ease-in (cubic-bezier(0.4, 0, 1, 1)) — for elements exiting. They accelerate away.ease-in-out (cubic-bezier(0.4, 0, 0.2, 1)) — for elements moving on screen.spring — for playful, physical interactions (drag release, bouncy toggles).Rule of thumb: things that appear should decelerate in; things that leave accelerate out.
When multiple elements animate, sequence them:
Prefer GPU-friendly properties: transform and opacity. Avoid animating width, height, top, or left — they trigger layout and stutter.
Always honor reduced-motion. Provide a non-animated fallback:
@media (prefers-reduced-motion: reduce) {
* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}Replace large motions with simple cross-fades rather than removing feedback entirely.
Express the system as named tokens so engineers reuse them:
const motion = {
duration: { fast: '100ms', base: '200ms', slow: '300ms' },
easing: { enter: 'cubic-bezier(0,0,0.2,1)', exit: 'cubic-bezier(0.4,0,1,1)' },
};Deliver the duration scale, easing set, choreography rules, and a per-component mapping (what animates, which duration, which curve) the team can implement directly.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.