Skip to content

Add maui-startup-profiling skill#111

Draft
simonrozsival wants to merge 4 commits into
mainfrom
feature/maui-startup-profiling-skill
Draft

Add maui-startup-profiling skill#111
simonrozsival wants to merge 4 commits into
mainfrom
feature/maui-startup-profiling-skill

Conversation

@simonrozsival
Copy link
Copy Markdown
Member

Summary

Adds a new maui-startup-profiling skill to the dotnet-maui plugin that guides diagnosis and optimization of slow .NET MAUI app startup.

What's included

File Purpose
SKILL.md Main skill definition — MIBC-first workflow, dotnet-trace report topN for quick analysis, speedscope categorization for deeper breakdown
scripts/analyze_speedscope.cs C# file-based app that parses speedscope JSON and categorizes CPU samples into 7 buckets (App Code, MAUI Framework, .NET Bindings, .NET Runtime, BCL/Third-party, Platform/OS, Unknown)
references/performance-tips.md Curated MS Learn tips mapped to trace categories (DI, Shell, XAML, compiled bindings, trimming, etc.)
references/mibc-r2r-guide.md MIBC/R2R guide: generate profiles, add _ReadyToRunPgoFiles, platform support matrix

Workflow

  1. Collect with maui profile startup --format mibc → produces .mibc + .nettrace
  2. Analyze with dotnet-trace report topN -n 30 (quick) and/or speedscope categorization (deep)
  3. Diagnose using performance tips reference
  4. Apply MIBC profile for R2R optimization (all CoreCLR platforms)
  5. Re-measure

Related

simonrozsival and others added 4 commits April 21, 2026 13:41
Add a new skill to the dotnet-maui plugin that guides diagnosis of slow
.NET MAUI app startup using the `maui profile startup` CLI tool.

The skill includes:
- SKILL.md with MIBC-first workflow, dotnet-trace report topN analysis,
  and speedscope categorization as a deeper secondary tool
- C# file-based analysis script (analyze_speedscope.cs) that categorizes
  CPU samples into 7 buckets (App, MAUI Framework, Bindings, Runtime,
  BCL, Platform/OS, Unknown)
- Performance tips reference (performance-tips.md) mapping trace
  categories to MS Learn optimization guidance
- MIBC/R2R guide (mibc-r2r-guide.md) for generating and applying
  custom PGO profiles on all CoreCLR platforms

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Description: third person, under 1024 chars, fix 'on Android' → all CoreCLR
- Remove CLI Reference section (Claude can run --help)
- Tighten iOS workaround section (reference #109)
- Trim verbose explanations Claude doesn't need
- SKILL.md: 230 → 179 lines

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid version-specific references that need updating on each .NET release.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop articles, filler, verbose explanations. Use fragments, short words.
Total word count: 2436 → 1450 (-40%).

- SKILL.md: 1008 → 593 words
- performance-tips.md: 706 → 513 words
- mibc-r2r-guide.md: 722 → 344 words

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant