mvvm-toolkit
CommunityToolkit.Mvvm (the MVVM Toolkit) core: source generators ([ObservableProperty], [RelayCommand], [NotifyPropertyChangedFor], [NotifyCanExecuteChangedFor], [NotifyDataErrorInfo]), base classes (ObservableObject / ObservableValidator / ObservableRecipient), commands (RelayCommand / AsyncRelayCommand), and validation. Companion skills: mvvm-toolkit-messenger for pub/sub, mvvm-toolkit-di for Microsoft.Extensions.DependencyInjection wiring. Works across WPF, WinUI 3, MAUI, Uno, and Avalonia.
npx skills add github/awesome-copilot --skill mvvm-toolkit --agent copilot
Same command for any agent — swap --agent for claude-code, codex, cursor.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# CommunityToolkit.Mvvm (core) Use this skill when authoring or reviewing ViewModels, properties, commands, or validation in apps that use `CommunityToolkit.Mvvm` 8.x. > **Companion skills.** Load **`mvvm-toolkit-messenger`** for `IMessenger` > pub/sub patterns. Load **`mvvm-toolkit-di`** for > `Microsoft.Extensions.DependencyInjection` integration. > **Quick recap.** `[ObservableProperty]` on private fields in `partial` > classes; `[RelayCommand]` on instance methods; inherit from > `ObservableObject` (or `ObservableValidator` for input forms, > `ObservableRecipient` when using `IMessenger`). --- ## Package & setup ```xml <ItemGroup> <PackageReference Include="CommunityToolkit.Mvvm" Version="8.*" /> </ItemGroup> ``` Targets: `netstandard2.0`, `netstandard2.1`, `net6.0`+. Works on .NET, .NET Framework, Mono. Source generators ship in the same NuGet — no extra analyzer reference required. Namespaces: ```csharp using CommunityToolkit.Mvvm.ComponentModel; // ObservableObject, [ObservableProperty] using CommunityToolkit.Mvvm.Input; // [RelayCommand], RelayCommand, AsyncRelayCommand ``` > **Universal rule.** Every type that uses `[ObservableProperty]` or > `[RelayCommand]` — and every e
- Package & setup
- Source generators cheat sheet
- ViewModel patterns
- Simple observable property
- Hooks: OnXxxChanging / OnXxxChanged
- Dependent properties + dependent commands
- Wrapping a non-observable model
- Commands
- Base class selection
- Validation
- Top pitfalls
- End-to-end mini walkthrough
- References & companion skills
What does the mvvm-toolkit skill do?
CommunityToolkit.Mvvm (the MVVM Toolkit) core: source generators ([ObservableProperty], [RelayCommand], [NotifyPropertyChangedFor], [NotifyCanExecuteChangedFor], [NotifyDataErrorInfo]), base classes (ObservableObject / ObservableValidator / ObservableRecipient), commands (RelayCommand / AsyncRelayCommand), and validation. Companion skills: mvvm-toolkit-messenger for pub/sub, mvvm-toolkit-di for Microsoft.Extensions.DependencyInjection wiring. Works across WPF, WinUI 3, MAUI, Uno, and Avalonia.
How do I install it?
Run `npx skills add github/awesome-copilot --skill mvvm-toolkit --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From github/awesome-copilot, a repository with 37,432 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.