What problem does it solve? Blazor WASM components fail silently in hard-to-trace ways: StateHasChanged skips OnParametersSet, @ref breaks inside RenderFragment, OnAfterRender ordering traps, paired lists throw IndexOutOfRange, and SetKey sibling swaps drop attributes in real browsers. This Skill catalogs these lifecycle and rendering pitfalls with root causes and verified fixes. ## Core Features & Use Cases - Lifecycle Diagnosis: Classify issues across StateHasChanged, ShouldRender, OnParametersSet, and OnAfterRender/OnAfterRenderAsync ordering, with fixes like per-render state reset in ShouldRender. - Rendering Pitfall Fixes: Resolve @ref-in-RenderFragment failures, paired-list IndexOutOfRange via Math.Min defensive iteration, and SetKey sibling-swap attribute loss that bUnit cannot reproduce. - Verification Guidance: Distinguish bugs bUnit/AngleSharp can catch from real-browser-only DOM application failures, with a checklist for JS errors, DotNetObjectReference leaks, and drag-and-drop regressions. - Use Case: A toolbar component throws IndexOutOfRange after StateHasChanged because _renderIndex reset lives in OnParametersSet; the Skill identifies the lifecycle gap and moves the reset into ShouldRender with a regression test. ## Quick Start Ask the agent to diagnose why your Blazor component's StateHasChanged call causes stale render state or an IndexOutOfRange, and apply the matching pitfall fix.