maui-accessibility
Guide for making .NET MAUI apps accessible — screen reader support via SemanticProperties, heading levels, AutomationProperties…
Diagnose and troubleshoot .NET MAUI Hot Reload issues (C# Hot Reload, XAML Hot Reload, Blazor Hybrid). Covers all UI approaches (XAML, MauiReactor, C# Markup, Blazor Hybrid), Visual Studio, VS Code, environment variables, encoding requirements, and MetadataUpdateHandler. USE
$ npx -y skills add davidortinau/maui-skills --skill maui-hot-reload-diagnostics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/maui-hot-reload-diagnosticsContext preview
The summary Claude sees to decide when to auto-load this skill.
Diagnose and troubleshoot .NET MAUI Hot Reload issues (C# Hot Reload, XAML Hot Reload, Blazor Hybrid). Covers all UI approaches (XAML, MauiReactor, C# Markup, Blazor Hybrid), Visual Studio, VS Code, environment variables, encoding requirements, and MetadataUpdateHandler. USE
name: maui-hot-reload-diagnostics description: > Diagnose and troubleshoot .NET MAUI Hot Reload issues (C# Hot Reload, XAML Hot Reload, Blazor Hybrid). Covers all UI approaches (XAML, MauiReactor, C# Markup, Blazor Hybrid), Visual Studio, VS Code, environment variables, encoding requirements, and MetadataUpdateHandler. USE FOR: "hot reload not working", "XAML hot reload", "C# hot reload", "UI not updating", "hot reload troubleshooting", "MetadataUpdateHandler", "hot reload Blazor Hybrid", "hot reload VS Code", "DOTNET_WATCH". DO NOT USE FOR: general build errors (not hot reload related), app lifecycle events (use maui-app-lifecycle), or performance profiling (use maui-performance).
Systematically diagnose Hot Reload failures for .NET MAUI apps.
1. **Identify what's failing**: XAML Hot Reload (`.xaml` changes) vs C# Hot Reload (`.cs` changes) 2. **Check run configuration**: Must be **Debug** config, started with F5/debugger attached 3. **Save file and re-execute code path**: C# changes require re-triggering the code 4. **Check Hot Reload output**: View > Output > "Hot Reload" (VS) or "C# Hot Reload" (VS Code)
**CRITICAL: All `.cs` files must be UTF-8 with BOM encoding.**
# Check if file has BOM (should show "UTF-8 Unicode (with BOM)")
file -I *.cs
# Find files without BOM
find . -name "*.cs" -exec sh -c 'head -c 3 "$1" | od -An -tx1 | grep -q "ef bb bf" || echo "$1"' _ {} \;
# Fix: convert to UTF-8 with BOM
sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' file.cs
# Or in VS Code: Open file > Save with Encoding > UTF-8 with BOM1. Verify Debug configuration (not Release) 2. Check Hot Reload output for errors 3. Ensure file is saved (not just modified) 4. Re-execute the code path (navigate again, tap button again)
Some changes **always** require app restart:
<!-- ✅ Correct — feature switch in .csproj --> <ItemGroup Condition="'$(Configuration)'=='Debug'"> <RuntimeHostConfigurationOption Include="MauiReactor.HotReload" Value="true" Trim="false" /> </ItemGroup>
// ❌ Wrong — v2 API, remove for v3+ .EnableMauiReactorHotReload()
⚠️ If migrating from MauiReactor v2, **remove** the `EnableMauiReactorHotReload()` call from `MauiProgram.cs`.
Key points — missing any of these breaks hot reload:
These changes **always** require restart:
These usually work without restart:
⚠️ **CSS isolation**: If `.razor.css` changes don't apply, verify the isolated CSS file is properly linked.
| UI approach | What reloads | Watch out for | |---|---|---| | XAML | `.xaml` files (instant) | Linker must be off on iOS; config must be "Debug" | | C# code-behind | Method bodies only | Must re-trigger code path; rude edits require restart | | MauiReactor v3+ | Component re-render | Need `RuntimeHostConfigurationOption`, not code call | | C# Markup | `Build()` method body | Must implement `ICommunityToolkitHotReloadHandler` | | Blazor Hybrid | `.razor` + `.css` | New components/services need restart |
A collection of 41 skills for .NET MAUI development, UI/UX design reasoning, and Xamarin migration, designed for use with GitHub Copilot CLI and Claude Code.
Guide for making .NET MAUI apps accessible — screen reader support via SemanticProperties, heading levels, AutomationProperties…
.NET MAUI view animations, custom animations, easing functions, rotation, scale, translation, and fade effects. USE FOR: "animate…
.NET MAUI app icon configuration, splash screen setup, SVG to PNG conversion at build time, composed/adaptive icons, and…
.NET MAUI app lifecycle guidance covering the four app states (not running, running, deactivated, stopped), cross-platform Window…
Guide for .NET MAUI apps consuming .NET Aspire-hosted backend services. Covers AppHost configuration, service discovery for…
Add authentication to .NET MAUI apps. Covers WebAuthenticator for generic OAuth 2.0 / social login, and MSAL.NET for Microsoft…