Add, review, or fix JavaScript interop in Blazor components. USE FOR: calling JavaScript from Blazor, calling .NET from JavaScript, collocated .razor.js modules, IJSRuntime, IJSObjectReference lifecycle, DotNetObjectReference, ElementReference, timing rules for when JS is available, IAsyncDisposable disposal of JS references, server-side JS interop safety.
Install
npx skills add dotnet/skills --skill use-js-interopnpx skills add dotnet/skills --skill use-js-interop -a claude-code -gnpx skills add dotnet/skills --skill use-js-interop -a codex -ggemini skills install https://github.com/dotnet/skills.git --path plugins/dotnet-blazor/skills/use-js-interopgh skill install dotnet/skills use-js-interopgit clone --depth 1 https://github.com/dotnet/skills /tmp/dotnet__skills
mkdir -p ~/.claude/skills ~/.agents/skills
cp -R /tmp/dotnet__skills/plugins/dotnet-blazor/skills/use-js-interop ~/.claude/skills/use-js-interop # Claude Code
cp -R /tmp/dotnet__skills/plugins/dotnet-blazor/skills/use-js-interop ~/.agents/skills/use-js-interop # Codex, Cursor, Gemini CLI, Copilot, OpenCode