What problem does it solve? Building .NET UI applications often leads to tangled code-behind, untestable logic, and tight coupling between Views and business logic. This Skill guides the implementation of the Model-View-ViewModel pattern with the CommunityToolkit.Mvvm library so ViewModels stay testable and Views stay free of business logic. ## Core Features & Use Cases - Source-Generated ViewModels: Use ObservableProperty, RelayCommand, and NotifyCanExecuteChangedFor attributes to eliminate boilerplate INotifyPropertyChanged code. - Messaging, Validation, and DI: Apply WeakReferenceMessenger for loose coupling, ObservableValidator for data annotation validation, and constructor injection for services. - Anti-Pattern Guidance: Identify and fix common mistakes like logic in code-behind, God ViewModels, and ViewModels referencing View types. - Use Case: When building a WPF, MAUI, WinUI, or Avalonia product page, generate a ProductViewModel with observable properties, async save commands with CanExecute logic, and unit tests that run without any UI. ## Quick Start Ask the AI to create a testable ViewModel with observable properties and RelayCommands for your .NET page using the MVVM Toolkit.