gsap-plugins
Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.
1How It Works & Mechanism
Resolve the 'license myth' before discussing APIs: An opening section specifically corrects outdated information claiming 'Club GSAP is paid/requires an auth token/private registry', providing the only correct installation path.
Every GSAP plugin is **free**, including for commercial use.
Unified registration paradigm: All plugins must be registered via gsap.registerPlugin() before use, and the registration point is fixed at the application level (never inside re-rendering components).
Register each plugin once so GSAP (and bundlers) know to include it.
Partitioned into functional domain guides: Scroll / DOM-UI / Text / SVG / Easing / Physics / Development / Other, with each plugin equipped with minimal viable snippets + key configuration tables.
gsap.registerPlugin(ScrollToPlugin, Flip, Draggable);
Teaches SplitText usage down to the 'lifecycle binding' level: Driven by autoSplit + onSplit return values for automatic cleanup and progress synchronization, rather than just 'splitting text then staggering'.
Animations must be created inside onSplit()
Comprehensive MorphSVG coverage from basics to parameter tuning: shapeIndex alignment, map matching strategies, smooth/curveMode/precompile performance knobs, and rendering to canvas.
MorphSVGPlugin.convertToPath("circle, rect, ellipse, line");
Establish strict red lines for development-only plugins: Debugging tools like GSDevTools and markers must never reach production.
❌ Ship GSDevTools or development-only plugins to production.
Explicitly declares implicit plugin interdependencies: Draggable inertia throws must have InertiaPlugin registered simultaneously.
gsap.registerPlugin(Draggable, InertiaPlugin);
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| package | gsap(公共 npm 包,全部插件内含) |
| package | gsap 插件子路径(ScrollToPlugin/Flip/Draggable/InertiaPlugin/SplitText/MorphSVGPlugin/Physics2DPlugin/PixiPlugin…) |
| package | PixiJS(PixiPlugin 动画的宿主渲染库,第三方) |
| network | Webflow 收购 GSAP 公告(插件免费的依据) |
| network | GSAP 插件总文档 / Flip / DrawSVG / MorphSVG / SplitText 分页 |
4Recommended Governance & Evidence
- SKILL.md: Pure prompt instructions and rule text; no script execution or external impact
5Second-Pass Verification
- [ok] 目录资产面:仅 SKILL.md — skills/gsap-plugins/ 下唯一文件 SKILL.md(21,579 B);无 scripts/、references/、二进制。
- [ok] external_deps 逐条核实 — npm 安装行、插件子路径 import、PIXI.Sprite 代码、以及 6 条 gsap.com URL(blog/webflow-GSAP、Plugins 总页、Flip、DrawSVGPlugin、MorphSVGPlugin、SplitText)全部逐字命中文件。
- [ok] 「无需 auth token / 私有 registry」是否为原文反例式约束 — 原文确为否定式告诫「❌ Do **not** generate an `.npmrc` with a GreenSock auth token, suggest the private `npm.greensock.com` registry…」——全仓 token 关键词命中处即此,非读取凭证。
- [ok] SplitText 的 onSplit/autoSplit 描述与 API 语义一致性 — 原文说明 autoSplit 在字体加载完成/宽度变化时重拆、动画须建于 onSplit 内并 return 以获得清理与进度同步,与官方 v3.13+ 行为一致;同时给出 aria/mask/smartWrap 等真实参数。
- [ok] MorphSVG 参数是否编造 — shapeIndex/map/smooth(v3.14+)/curveMode/origin/precision/precompile/render/updateTarget 与官方参数表一致;convertToPath/rawPathToString/stringToRawPath 静态方法真实存在。
- [ok] 安全反例搜索 — token 扫描:除上述否定式 auth token 一处外,curl/wget/fetch(/XMLHttpRequest/exec(/child_process/process.env/.env/API_KEY/secret 全零命中;无混淆/编码载荷。
- [ok] 与 gsap-scrolltrigger 的插件归属是否打架 — 本文首段声明「ScrollTrigger has its own skill (gsap-scrolltrigger)」,未重复其内容;ScrollSmoother 在此、ScrollTrigger 本体在彼,分工一致。
- [ok] 元数据与 pin — frontmatter license MIT;HEAD = aed9cfd3277740755f6bfc1155c7aa645403b760;GitHub API stars 15326 / pushed_at 2026-07-29T17:36:08Z。
6Verdict & Scenarios
188abaf4c67c55db…