Agent skill

Flutter Performance

Optimization standards for rebuilds and memory.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/performance-hoangnguyen0403-agent-skills-standar-3

Metadata

Additional technical details for this skill

labels
performance
triggers
{
    "files": [
        "lib/presentation/**",
        "pubspec.yaml"
    ],
    "keywords": [
        "const",
        "buildWhen",
        "ListView.builder",
        "Isolate",
        "RepaintBoundary"
    ]
}

SKILL.md

Performance

Priority: P1 (OPERATIONAL)

Performance optimization techniques for smooth 60fps Flutter applications.

  • Rebuilds: Use const widgets and buildWhen / select for granular updates.
  • Lists: Always use ListView.builder for item recycling.
  • Heavy Tasks: Use compute() or Isolates for parsing/logic.
  • Repaints: Use RepaintBoundary for complex animations. Use debugRepaintRainbowEnabled to debug.
  • Images: Use CachedNetworkImage + memCacheWidth. precachePicture for SVGs.
  • Keys: Provide ValueKey for list items and stable IDs for reconciliation.
  • Resource Cleanup: Dispose controllers/streams in dispose().
  • Pagination: Default to 20 items per page for network lists.
  • Build Purity: Keep build methods free of heavy work; move logic to BLoC/Application.
  • Image Resizing: Always set maxWidth/maxHeight when loading images.

🚫 Anti-Patterns

  • Large Rebuilds: **No SetState at Root**: Use granular builders (BlocBuilder, Consumer).
  • Logic in Build: **No Heavy Work in body**: Perform parsing/sorting in the Business Layer.
  • Missing Const: **No Dynamic Leaf Widgets**: Use const where possible.
dart
BlocBuilder<UserBloc, UserState>(
  buildWhen: (p, c) => p.id != c.id,
  builder: (context, state) => Text(state.name),
)

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results