skills/flutter-profiler/SKILL.md
Analyze Flutter performance data and generate severity-ranked reports. Covers CPU frame analysis, memory/GC pressure, frame rendering and jank, and custom profiling snippets. Use when the user says "analyze profiler data," "performance report," "why is my app slow," "check for jank," "memory leak," "GC spikes," "frame drops," or has completed a DevTools profiling session and needs interpretation. Also use when the user wants to add custom performance markers, timeline events, or profiling instrumentation to their Flutter code. Read-only analysis — suggests fixes but does not modify code.
npx skillsauth add cuozg/oh-my-skills flutter-profilerInstall 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.
Analyze Flutter DevTools performance data, identify bottlenecks across CPU, memory, and rendering, and generate a ranked findings report with actionable fixes.
Detect the mode from the user's request:
| Signal | Mode | Action |
|--------|------|--------|
| Slow frames, CPU timeline, function timings | CPU | Load references/cpu-mode.md |
| GC spikes, memory leaks, heap growth | Memory | Load references/memory-mode.md |
| Jank, frame drops, GPU bottleneck, shader compilation | Frame | Load references/frame-mode.md |
| "Add profiling," "custom markers," "instrument this" | Custom | Load references/custom-mode.md |
If unclear, ask: "Are you investigating CPU timing, memory usage, frame rendering, or do you need profiling instrumentation?"
setState in loops, missing const, MediaQuery.of in deep widgets, full-list builds, unclosed streamsgrep and lsp_find_referencesreferences/report-template.md| Level | Frame Time | GC / Memory | Description | |-------|-----------|-------------|-------------| | CRITICAL | > budget sustained 5+ frames | > 10 MB retained or leak confirmed | Blocks release | | WARNING | 80-100% of budget | Growing heap trend or > 1 MB/s alloc | Investigate | | INFO | < 80% of budget | Stable, minor inefficiency | Acceptable |
Frame budget: 60 fps = 16.67ms (default), 120 fps = 8.33ms (high-refresh). Determine from user input or device target.
flutter run --profile), never debug mode — debug overhead skews all timingsDocuments/Profiler/PERF_{TOPIC}_{YYYYMMDD}.mdMarkdown report at Documents/Profiler/PERF_{TOPIC}_{YYYYMMDD}.md — budget status table, ranked findings (max 10), subsystem breakdown, top 3 recommended fixes.
Load template: read_skill_file("flutter-profiler", "references/report-template.md")
| File | When to Load |
|------|-------------|
| references/cpu-mode.md | CPU frame analysis, slow function identification |
| references/memory-mode.md | GC pressure, heap analysis, leak detection |
| references/frame-mode.md | Jank, frame drops, GPU vs CPU, shader compilation |
| references/custom-mode.md | Custom markers, Timeline API, instrumentation snippets |
| references/report-template.md | Always — report output template |
Load via read_skill_file("flutter-profiler", "references/<filename>").
Load flutter-standards for performance baselines and anti-pattern lists:
performance-optimization.md — Frame budgets, rebuild profiling, RepaintBoundary, image optimizationdebug-logging.md — DevTools tabs, debug flags, structured loggingasync-streams.md — Stream/Future performance, cancellation patternsLoad via read_skill_file("flutter-standards", "references/<filename>").
tools
Generate Unity raster image assets through Unity MCP: game sprites, item art, backgrounds, UI icons, portraits, concept images, transparent cutouts, image edits, upscales, background removal, and Unity scene or Game View screenshots. Use when a Unity project needs image files imported under Assets or screenshots captured from the editor. Do not use for meshes, audio, animation, materials, gameplay code, UI Toolkit layout, or generic non-Unity image generation.
tools
Create Unity technical solution documents from user requirements, feature ideas, bug goals, specs, or codebase problems. Use when the user asks for a technical approach, architecture, implementation strategy, solution options, feasibility analysis, system design, or "how should we build/fix this" for Unity runtime, Editor, tools, assets, data, UI, WebGL, SDKs, or production pipelines.
tools
Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.
development
Convert a spec document into an implementation TODO list in the same spec folder. U se when the user says goal-todo, todo from spec, generate tasks from spec, turn this spec into todos, create implementation checklist, extract tasks, or asks to read a Docs/Specs design doc and produce what must be implemented. Includes UI/UX review and codebase investigation before writing the checklist. Do not use for implementing the tasks, creating new goal files, writing test cases, or verifying completed work.