analyze_scroll_map
Audit a live page's per-element scroll animations: what animates, CSS properties, timing, triggers, and scrub curves. Rerun with reduced motion to check degradation.
Instructions
Per-element motion census of a live page: what animates, its CSS properties, duration, delay, easing, and what triggered it (GSAP ScrollTrigger, native CSS scroll()/view() timelines, data attributes, SMIL/SVG). Includes svgStrokes list for stroke draw-in effects. Runs on any URL you give it (builds, references) — does not fetch awwwards.com. Run twice (with reducedMotion) to audit prefers-reduced-motion degradation. Optional scrubProbe drives the page and returns real progress curves per scrubbed trigger. compact=true returns a token-diet summary. Every payload also carries a choreography block: stagger hints (hint selector/value/source, groups) distilled from GSAP tween vars and stepped delays across sibling animations.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "analyze_scroll_map"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute page URL to census | |
| compact | No | token-diet summary: keyframes/props/durations and scrubCurves replaced by counts; all numerics and triggers stay. It cannot feed build_gsap_stub/build_motion_manifest (anims[] is omitted) — use compact=false for that handoff | |
| viewport | No | desktop = 1440x900 (default); mobile = 390x844 iPhone-class with deviceScaleFactor 3, isMobile + hasTouch | desktop |
| scrubProbe | No | drive the page through up to 8 scroll steps and sample each scrubbed trigger's progress curve (adds seconds) | |
| waitStrategy | No | 'load' plus a settle works on heavy sites; 'networkidle' (default) waits for total quiet | |
| reducedMotion | No | Emulate prefers-reduced-motion: reduce for this capture |