npx claudepluginhub davidortinau/maui-skills --plugin maui-skillsThis skill uses the workspace's default tool permissions.
Android adaptive icons crop to a circular or squircle safe zone. If the foreground fills the canvas, it **will** be clipped.
Guides .NET MAUI performance optimization including profiling with dotnet-trace, compiled bindings, layout efficiency, image optimization, trimming, NativeAOT, and startup improvements. For slow apps, large sizes, or poor responsiveness.
Implements light/dark mode theming in .NET MAUI apps using AppThemeBinding, ResourceDictionary switching, DynamicResource bindings, system theme detection, and user preferences.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Share bugs, ideas, or general feedback.
Android adaptive icons crop to a circular or squircle safe zone. If the foreground fills the canvas, it will be clipped.
<!-- ❌ Single-layer icon — foreground fills entire canvas, gets clipped -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
Color="#512BD4" />
<!-- ✅ Composed icon with scaled foreground — stays in safe zone -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
ForegroundFile="Resources\AppIcon\appiconfg.svg"
ForegroundScale="0.65"
Color="#512BD4" />
Some platforms ignore alpha in the splash Color and show black instead.
<!-- ❌ Transparent color — may render as black on some platforms -->
<MauiSplashScreen Include="Resources\Splash\splash.svg"
Color="#00FFFFFF" />
<!-- ✅ Opaque color -->
<MauiSplashScreen Include="Resources\Splash\splash.svg"
Color="#512BD4" />
Color = background fill behind the icon/splash.TintColor = recolors the foreground image itself.Setting only TintColor without visible foreground paths results in a blank icon.
Complex SVGs with gradients, filters, or masks may not rasterize correctly via the Microsoft.Maui.Resizetizer MSBuild task.
<!-- Workaround: supply a pre-made PNG and skip resizing -->
<MauiIcon Include="Resources\AppIcon\appicon.png"
Resize="false" />
If your SVG viewBox doesn't match the desired logical size, set BaseSize explicitly — otherwise the output dimensions may be wrong.
<!-- SVG viewBox is 100x100 but you want 456x456 logical output -->
<MauiIcon Include="Resources\AppIcon\appicon.svg"
BaseSize="456,456"
Color="#512BD4" />
BaseSize explicitly when the SVG viewBox doesn't match the desired logical size.ForegroundFile + ForegroundScale="0.65" ensures the foreground stays within the safe zone.| Symptom | Likely fix |
|---|---|
| Icon appears blank or white | Check Color vs TintColor; ensure SVG paths exist |
| Splash shows default .NET logo | Verify MauiSplashScreen item is in the .csproj |
| Android icon looks clipped | Use composed icon with ForegroundScale="0.65" |
| Build error on SVG | Simplify SVG or switch to PNG with Resize="false" |
| Icon wrong size on one platform | Set BaseSize explicitly in the .csproj |
MauiIcon item exists in .csproj with Color setMauiSplashScreen item exists in .csproj with Color and BaseSizeForegroundScale for safe zone complianceResize="false"