A brief description of what this skill does
This skill provides agents with a standardized, production-ready approach to creating and structuring .NET MAUI applications. It defines folder conventions, MVVM architecture defaults, dependency injection patterns, and cross-platform considerations that should be applied whenever a new MAUI project is initialized.
The goal is to ensure that all generated MAUI projects follow consistent, maintainable, and scalable patterns.
MVVM-first architecture Use ViewModels, observable properties, and commands as the primary interaction pattern.
Dependency Injection
Register services in MauiProgram.cs using the built-in DI container.
Separation of Concerns Keep UI, business logic, and data access isolated in clear folder structures.
Cross-platform awareness Prefer abstractions over platform-specific code unless required.
Scalable folder structure Organize code into predictable, discoverable modules.
[root]
ββ Models
β ββ [Add model classes here]
ββ Platforms
β ββ [Add platform-specific setup and code here]
ββ Resources
β ββ AppIcon
β β ββ [Add application icon files here]
β ββ Fonts
β β ββ [Add font files here]
β ββ Images
β β ββ [Add image files here]
β ββ raw
β β ββ [Add raw files here]
β ββ Splash
β β ββ [Add splash screen files here]
β ββ Styles
β ββ [Add style files here]
ββ Services
β ββ Interfaces
β β ββ [Add service interfaces here]
β ββ [Add service classes here]
ββ ViewModels
β ββ MainViewModel.cs
β ββ [Add other ViewModels here]
ββ Views
β ββ Controls
β β ββ [Add custom controls here]
β ββ MainPage.xaml
β β ββ MainPage.xaml.cs
β ββ Templates
β ββ [Add custom templates here]
ββ App.xaml
β ββ App.xaml.cs
ββ MauiProgram.cs
Create a new MAUI project:
dotnet new maui -n [ProjectName]
Add MVVM base classes:
BaseViewModelObservableObject or INotifyPropertyChanged implementationAsyncCommand helpersRegister services in MauiProgram.cs:
builder.Services.AddSingleton<INavigationService, NavigationService>();
builder.Services.AddTransient<MainViewModel>();
builder.Services.AddTransient<MainPage>();
Configure global styles in Resources/Styles/Styles.xaml.
Add platform assets:
Views/MyPage.xamlViewModels/MyPageViewModel.csServices/Interfaces/IServiceName.csServices/ServiceName.csMauiProgram.cs.maui-ui-best-practices)maui-authentication)maui-deployment)