Skip to content

Merge branch 'main' of https://github.com/VeryGoodOpenSource/very_goo…

e8173f7
Select commit
Loading
Failed to load commit list.
Open

feat: animations skill #72

Merge branch 'main' of https://github.com/VeryGoodOpenSource/very_goo…
e8173f7
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Apr 8, 2026 in 9m 10s

Code review found 1 important issue

Found 6 candidates, confirmed 5. See review comments for details.

Details

Severity Count
🔴 Important 1
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🔴 Important skills/animations/references/staggered-animations.md:96-115 CurvedAnimation listener leak in StaggeredListItem (StatelessWidget)
🟡 Nit .claude-plugin/plugin.json:26-31 New keywords out of alphabetical order in plugin.json

Annotations

Check failure on line 115 in skills/animations/references/staggered-animations.md

See this annotation in the file changed.

@claude claude / Claude Code Review

CurvedAnimation listener leak in StaggeredListItem (StatelessWidget)

The `StaggeredListItem` example creates a new `CurvedAnimation` inside `build()` on a `StatelessWidget`, which registers a status listener on the parent `AnimationController` via `parent.addStatusListener()` but never removes it — because `StatelessWidget` has no `dispose()` method. Each rebuild (e.g., theme change, orientation change, ancestor state update) adds another orphaned listener, accumulating O(rebuilds) leaked listeners on the live controller. Fix by converting `StaggeredListItem` to 

Check warning on line 31 in .claude-plugin/plugin.json

See this annotation in the file changed.

@claude claude / Claude Code Review

New keywords out of alphabetical order in plugin.json

Four of the five new animation-related keywords added in this PR are inserted out of alphabetical order in the `plugin.json` keywords array: `easing` appears after `format` (e < f), `hero` appears before `golden-testing` (g < h), `motion` appears before `mcp` (mc < mo), and `page-transitions` appears before `owasp` (o < p). The correct sorted positions are: easing → flutter → format; go-router → golden-testing → hero; mcp → ... → motion; owasp → page-transitions.