Skip to main content

mvvm-toolkit-bundle

Routes MVVM implementation work to the correct MVVM skill set and selects manual, CommunityToolkit, Prism, generator, validation, testing, and platform guidance for the request.

Source facts

Repository
visionarycoder/vc.Agentic
Last source activity
November 9, 2026 at 06:22
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
mvvm-toolkit-bundle
description
Routes MVVM implementation work to the correct MVVM skill set and selects manual, CommunityToolkit, Prism, generator, validation, testing, and platform guidance for the request.
metadata
{"metadata-version":"1.0.0","title":"MVVM Toolkit Bundle","document-type":"skill","repository":"vc.Agentic","language":"Standard Technical English","updated":"2026-11-08","collection":"optional"}
# MVVM Toolkit Bundle Agent uses this bundle for MVVM requests that require routing across manual MVVM, CommunityToolkit.Mvvm, Prism, binding, commands, lifecycle, validation, source generators, tests, or XAML platform selection. ## When to Use | Prompt Pattern | Use This Bundle | |---|---| | New MVVM feature or screen architecture | Yes | | Manual MVVM versus CommunityToolkit versus Prism selection | Yes | | Binding, commands, validation, lifecycle, and testing in one request | Yes | | Single narrow MVVM topic with no routing need | No | ## When Not to Use | Prompt Pattern | Agent Route | |---|---| | Only WPF Fluent UI composition or styling | `wpf-fluent-ui` | | Only platform shell, deployment, or native UI structure | `maui-patterns`, `winui3-patterns`, or `uwp-patterns` | | Only one MVVM testing task | `mstest-mvvm-testing-patterns` | ## Required Inputs | Input | Required | Notes | |---|---|---| | Platform target | Yes | WPF, MAUI, WinUI 3, or UWP | | Framework preference | No | Manual MVVM, CommunityToolkit, Prism, or undecided | | Navigation and lifecycle needs | No | Region navigation, page activation, resume, or teardown | | Validation and test scope | No | Forms, async commands, state transitions, or binding tests | ## Activation | Request Signal | Use Bundle | Route Detail | |---|---|---| | View-model structure, state, and separation of concerns | Yes | `mvvm-patterns-dotnet` | | Bindings, converters, templates, or update timing | Yes | `databinding-patterns` | | Commands, behaviors, gesture handling, or async actions | Yes | `commands-behaviors-patterns` | | Activation, navigation, disposal, or message cleanup | Yes | `viewmodel-lifecycle` | | Source-generated observable properties and relay commands | Yes | `communitytoolkit-mvvm` | | Region composition, event aggregation, or Prism navigation | Yes | `prism-framework-patterns` | | Custom Roslyn generation for MVVM plumbing | Yes | `roslyn-mvvm-source-generators` | | Errors, editable forms, or validation summaries | Yes | `validation-mvvm` | | View-model unit tests, command tests, or notification tests | Yes | `mstest-mvvm-testing-patterns` | ## Decision Matrix: Manual MVVM vs CommunityToolkit vs Prism | Signal | Manual MVVM | CommunityToolkit | Prism | |---|---|---|---| | Small feature set, low framework surface | Best fit | Good fit | Heavy fit | | Boilerplate reduction priority | Weak fit | Best fit | Good fit | | Region composition and modular shell | Weak fit | Partial fit | Best fit | | Existing team familiarity with raw `INotifyPropertyChanged` | Best fit | Good fit | Good fit | | Large desktop shell with dialogs and navigation infrastructure | Partial fit | Partial fit | Best fit | ## Decision Matrix: When to Use Source Generators | Condition | Use Generators | Route | |---|---|---| | Repeated property notification and command plumbing | Yes | `communitytoolkit-mvvm` | | Team needs standard MVVM patterns with low custom infrastructure | Yes | `communitytoolkit-mvvm` | | Project needs custom generated attributes, wrappers, or diagnostics | Yes | `roslyn-mvvm-source-generators` | | Project has a small view-model count and explicit handwritten code aids maintenance | No | `mvvm-patterns-dotnet` | | Roslyn complexity outweighs boilerplate savings | No | `communitytoolkit-mvvm` or manual MVVM | ## Decision Matrix: Platform Selection | Signal | WPF | MAUI | WinUI 3 | UWP | |---|---|---|---|---| | Mature Windows desktop line-of-business app | Best fit | Partial fit | Good fit | Legacy fit | | Cross-platform mobile and desktop target | Weak fit | Best fit | Weak fit | Weak fit | | Native current WindowsAppSDK desktop experience | Partial fit | Partial fit | Best fit | Weak fit | | Existing shipped legacy Windows Store app | Weak fit | Partial fit | Migration target | Best fit | | Route skill | `wpf-fluent-ui` | `maui-patterns` | `winui3-patterns` | `uwp-patterns` | ## Decision Order | Decision | Agent Action | |---|---| | Platform selection | Agent selects `wpf-fluent-ui`, `maui-patterns`, `winui3-patterns`, or `uwp-patterns` first. | | Framework selection | Agent chooses manual MVVM, CommunityToolkit, or Prism from app size, shell complexity, and boilerplate targets. | | Implementation approach | Agent adds binding, commands, lifecycle, validation, and testing skills after framework selection. | | Generator choice | Agent applies `communitytoolkit-mvvm` before `roslyn-mvvm-source-generators` unless custom generation requirements exist. | | Final verification | Agent verifies platform behavior and view-model tests before closing the task. | ## Workflow | Step | Agent Action | Test | Pass | |---|---|---|---| | 1. Classify platform | Agent maps the request to WPF, MAUI, WinUI 3, or UWP. | Agent records one primary UI platform. | Platform route is explicit. | | 2. Select framework | Agent chooses manual MVVM, CommunityToolkit, or Prism. | Agent compares shell complexity, navigation, and boilerplate goals. | Framework choice matches constraints. | | 3. Add specialist skills | Agent routes bindings, commands, lifecycle, validation, generators, and tests in dependency order. | Agent lists routed skills. | Every MVVM concern maps to one skill. | | 4. Integrate platform skill | Agent aligns view-model guidance with the selected UI platform skill. | Agent reviews routed platform and MVVM skills together. | Platform and MVVM patterns do not conflict. | | 5. Verify behavior | Agent checks observable state, commands, validation, navigation, and tests. | Run existing targeted build or test commands in scope. | MVVM flow stays stable. | ## Verification Matrix | Area | Agent Verifies | Test | Pass | |---|---|---|---| | State | Observable properties raise notifications once per change. | Run targeted MVVM tests or inspect generated members. | Bound state updates predictably. | | Commands | Guards, async flow, and duplicate-execution prevention are explicit. | Trigger enabled and disabled paths. | Command behavior matches state. | | Lifecycle | Activation, teardown, and subscription cleanup are bounded. | Navigate in and out of the target view. | No stale subscriptions remain. | | Validation | Errors block unsafe actions and surface through the selected platform. | Submit invalid input. | Validation output is visible and actionable. | | Platform fit | Platform shell and MVVM pattern align. | Review routed UI platform skill outputs. | View-model pattern fits the target platform. | ## Common Pitfalls | Pitfall | Agent Fix | |---|---| | Mixing Prism navigation with ad hoc page state ownership | Agent chooses one navigation owner and routes lifecycle through `viewmodel-lifecycle`. | | Handwriting repetitive property and command plumbing in generator-friendly projects | Agent routes to `communitytoolkit-mvvm`. | | Introducing custom generators before standard toolkit patterns | Agent starts with `communitytoolkit-mvvm` and adds `roslyn-mvvm-source-generators` only for custom gaps. | | Letting code-behind own validation or command logic | Agent moves behavior into the view model and bindings. | | Choosing a platform before checking deployment and device scope | Agent resolves platform fit before framework details. |
View on GitHub