wpf-rule-mvvm-constraints — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited wpf-rule-mvvm-constraints (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Rules for enforcing strict MVVM layer separation in wpf-dev-pack projects.
ViewModel projects must NOT reference these assemblies:
WindowsBase.dllPresentationFramework.dllPresentationCore.dllIf any of these appear in a .csproj targeting the ViewModel layer, remove them immediately.
The following namespaces must never appear in ViewModel code:
// Prohibited in ViewModel projects
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Input; // except ICommand — use CommunityToolkit.Mvvm insteadThese namespaces are safe for ViewModels:
// Allowed
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;ViewModel properties and constructor parameters must use BCL types only:
string, int, double, bool, decimal, DateTime, GuidObservableCollection<T>, List<T>, IEnumerable<T>Do NOT expose WPF types (Brush, Visibility, ImageSource, Thickness, etc.) as ViewModel properties. Convert in the View layer using converters or triggers.
Prefer CommunityToolkit.Mvvm for all ViewModel base classes and commands:
ObservableObject or ObservableRecipient[ObservableProperty] for bindable properties (source-generated)[RelayCommand] for commands (source-generated)INotifyPropertyChanged or ICommand implementations~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.