What problem does it solve? Blazor components often fail at runtime due to subtle mistakes: mutating parameters, using Action instead of EventCallback, deadlocking the sync context with .Result, or leaking event subscriptions. This Skill encodes the correct architectural rules so generated or reviewed .razor components follow framework conventions from the start. ## Core Features & Use Cases - Component authoring rules: Enforces one-way data flow via [Parameter], EventCallback<T> for events, RenderFragment slots, generic components with @typeparam, and CSS isolation. - Async and disposal guidance: Covers IAsyncDisposable, CancellationToken cancellation, debounce with Task.Delay, external event handling with async void plus DispatchExceptionAsync, and forbidden primitives like Task.Run and .Result. - Reference deep-dives: Ships reference docs on async programming rules, component decomposition (sibling extraction, list-item extraction, cascading values), and disposal patterns. - Use Case: Ask the agent to build a paged data grid component; it produces a .razor file with proper parameters, @key diffing, loading/empty/error states, and CTS-based cancellation on disposal. ## Quick Start Ask the agent to create a Blazor component, for example: write a TaskList component that takes a list of tasks and raises an event when one is toggled.