plugins/web-motion/skills/gsap-timeline/SKILL.md
Official GSAP skill for timelines — gsap.timeline(), position parameter, nesting, playback. Use when sequencing animations, choreographing keyframes, or when the user asks about animation sequencing, timelines, or animation order (in GSAP or when recommending a library that supports timelines).
npx skillsauth add bjornmelin/dev-skills gsap-timelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply when building multi-step animations, coordinating several tweens in sequence or parallel, or when the user asks about timelines, sequencing, or keyframe-style animation in GSAP.
Related skills: For single tweens and eases use gsap-core; for scroll-driven timelines use gsap-scrolltrigger; for React use gsap-react.
const tl = gsap.timeline();
tl.to(".a", { x: 100, duration: 1 })
.to(".b", { y: 50, duration: 0.5 })
.to(".c", { opacity: 0, duration: 0.3 });
By default, tweens are appended one after another. Use the position parameter to place tweens at specific times or relative to other tweens.
Third argument (or position property in vars) controls placement:
1 — start at 1 second."+=0.5" — 0.5s after end; "-=0.2" — 0.2s before end."labelName" — at that label; "labelName+=0.3" — 0.3s after label."<" — start when recently-added animation starts; ">" — start when recently-added animation ends (default); "<0.2" — 0.2s after recently-added animation start.Examples:
tl.to(".a", { x: 100 }, 0); // at 0
tl.to(".b", { y: 50 }, "+=0.5"); // 0.5s after last end
tl.to(".c", { opacity: 0 }, "<"); // same start as previous
tl.to(".d", { scale: 2 }, "<0.2"); // 0.2s after previous start
Pass defaults into the timeline so all child tweens inherit:
const tl = gsap.timeline({ defaults: { duration: 0.5, ease: "power2.out" } });
tl.to(".a", { x: 100 }).to(".b", { y: 50 }); // both use 0.5s and power2.out
.play() to start.Add and use labels for readable, maintainable sequencing:
tl.addLabel("intro", 0);
tl.to(".a", { x: 100 }, "intro");
tl.addLabel("outro", "+=0.5");
tl.to(".b", { opacity: 0 }, "outro");
tl.play("outro"); // start from "outro"
tl.tweenFromTo("intro", "outro"); // pauses the timeline and returns a new Tween that animates the timeline's playhead from intro to outro with no ease.
Timelines can contain other timelines.
const master = gsap.timeline();
const child = gsap.timeline();
child.to(".a", { x: 100 }).to(".b", { y: 50 });
master.add(child, 0);
master.to(".c", { opacity: 0 }, "+=0.2");
addLabel() for readable, maintainable sequencing.gsap.timeline() and the position parameter for multi-step animation.defaults: { duration: 0.5, ease: "power2.out" }) when many child tweens share the same duration or ease.The upstream GreenSock official skill content above is the primary GSAP guidance. This local overlay adds Codex-specific progressive-disclosure resources, static audit scripts, evals, and portable source metadata. Keep GSAP API behavior aligned with GreenSock's official skill and docs; use this overlay for validation, local boundaries, and report shape.
references/official-source.md - Official GreenSock timeline skill source. Use this to verify copied upstream timeline behavior.references/position-parameter.md - Position parameter and labels guide. Use this for sequencing, overlaps, labels, and nested timeline design.references/playback-control.md - Timeline playback, cleanup, and testing. Use this when pause, reverse, seek, kill, or replay behavior matters.references/sequence-design-taxonomy.md - Timeline sequence design taxonomy. Read before converting delay chains, staggered entrances, or product choreography into timelines.references/timeline-state-machine-patterns.md - Timeline state-machine and playback patterns. Read when a timeline is controlled by app state, route state, media queries, or user playback controls.references/docs-timeline-current-notes.md - Copied source excerpt. Load only when exact upstream wording or API detail is needed.references/index.md - Complete reference inventory and routing summary.references/source-ledger.md - Portable source list and copy policy.references/provenance.json - Machine-readable provenance and local-resource metadata.scripts/audit.mjs - Self-contained Codex audit CLI with domain-specific GSAP rules.assets/templates/gsap-timeline-audit-report.md - GSAP audit response template.assets/templates/gsap-timeline-review-checklist.md - GSAP manual review checklist.assets/examples/gsap-timeline-starter.js - Minimal starter fixture/example.evals/trigger-queries.json - Trigger/near-miss eval set.evals/evals.json - Task-quality evals with assertions.node scripts/audit.mjs doctor --root . --format json
node scripts/audit.mjs scan --root . --format markdown
node scripts/audit.mjs scan --root . --format json --output gsap-timeline-audit.json
Treat script findings as leads. Verify every finding against current code before changing behavior or reporting it as valid.
development
Repo/monorepo modernization: dependency upgrades, security fixes, deprecation cleanup, framework migrations, dependency-native refactors, and verified hard-cut simplification.
development
Use this skill for Browser Web Animations API: Element.animate(), Animation, KeyframeEffect, playback control, generated keyframes, cancel/finish, commitStyles, and cleanup. Trigger on Element.animate, WAAPI, Web Animations API, KeyframeEffect, Animation object, commitStyles. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
tools
Use this skill for Three.js, React Three Fiber, Drei, Canvas/createRoot lifecycle, loaders, GLTF, useFrame, disposal, SSR/client boundaries, DPR, and browser proof. Trigger on Three.js, THREE, @react-three/fiber, @react-three/drei, R3F Canvas, useFrame, GLTF, WebGLRenderer. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
development
Use this skill for Tailwind CSS v4 transition, animation, duration, easing, motion-safe/motion-reduce, @theme motion tokens, and static class safety. Trigger on Tailwind animation, transition-all, motion-safe, motion-reduce, @theme, animate-, duration-. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.