Content
63%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-organized, largely accurate single-file reference for ScrollTrigger with executable examples and clear coverage of the main patterns (triggers, scrub, pinning, batch, scrollerProxy, containerAnimation, cleanup). Its main weaknesses are redundant mirrored best-practices/Do-Not sections that pad token cost, a couple of code errors in the containerAnimation example, and the absence of any progressive-disclosure split for the bulky API reference material.
Suggestions
Merge the 'Official GSAP best practices' (✅) and 'Do Not' (❌) sections into one non-redundant list: the refresh-after-layout-changes advice currently appears three times (twice within Do Not itself), and registerPlugin, ease:"none", and refreshPriority each appear twice.
Fix the containerAnimation example: replace `Max.max(0, ...)` with `Math.max(...)` and align the code with the prose by using a negative xPercent (or negative x) so the snippet is copy-paste correct.
Move the full config-options table and the ScrollTrigger.batch()/scrollerProxy() deep dives into a references/ file (e.g. references/api.md), keeping SKILL.md as a lean overview with clearly signaled one-level-deep links.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly high-value non-obvious API detail (start/end syntax, scrub semantics, refreshPriority ordering), but the "Official GSAP best practices" and "Do Not" sections largely mirror each other — refresh-after-layout-changes advice appears three times (including twice within Do Not itself), and ease:"none"/refreshPriority/registerPlugin each appear twice — which is more than minor trimmable padding. | 3 / 5 |
Actionability | Nearly all examples (basic trigger, batch, scrollerProxy, timeline, containerAnimation) are executable and complete, but the containerAnimation example contains a typo (`Max.max` instead of `Math.max`) and a positive `xPercent` contradicting the prose's "negative xPercent to move left", and the scrollerProxy example references an undefined `scrollbar` variable — so the code is not fully copy-paste ready. | 4 / 5 |
Workflow Clarity | The lifecycle (registerPlugin → create → refresh on layout change → kill/React cleanup) is clearly sequenced, and the horizontal-scroll pattern has an explicit numbered 1–4 recipe with a highlighted critical mistake (ease: "none"); no destructive/batch operations require validation loops. Not 5 because no single unified top-to-bottom implementation workflow ties the sections together. | 4 / 5 |
Progressive Disclosure | No references/ bundle exists, so ~200 lines of API material (the 25-row config-options table plus full batch() and scrollerProxy() sections) are inlined in SKILL.md — matching the anchor case of API reference that belongs in a separate file — though section headers are well organized and external links go to official docs. | 3 / 5 |
Total | 14 / 20 Passed |