What problem does it solve? Blazor components often need to share state without a direct parent-child parameter relationship, and standard cascading values fail to reach interactive children across render mode boundaries. This Skill guides you through choosing and implementing the right state-sharing mechanism for your Blazor app. ## Core Features & Use Cases - CascadingValue for subtree state: Flow data like themes or layout config to all descendants within the same render mode without prop drilling. - CascadingValueSource<T> via DI: Share app-wide state such as current user or feature flags across all render modes, with NotifyChangedAsync to update subscribers without page reloads. - Scoped services with change events: Manage mutable shared state like shopping carts or notification counts with an Action event pattern and proper disposal. - Use Case: You need a shopping cart count visible in both the header and product pages of a Blazor Server app. Register a scoped CartState service, subscribe to its OnChange event in each component, and every update re-renders all subscribers automatically. ## Quick Start Ask the AI to set up a shared shopping cart state accessible from multiple Blazor components using a scoped service with change notifications.