aspnet-core
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…
Add, repair, or review Playwright visual regression tests for browser-facing .NET apps, including screenshot baselines, Pixelmatch thresholds, deterministic rendering, and GitHub Actions artifacts. USE FOR: toHaveScreenshot, page.screenshot visual checks, Pixelmatch/pngjs
Claude Code
$ npx -y skills add managedcode/dotnet-skills --skill playwright-visual-testing --agent claude-code
Codex
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a codex -y
Cursor
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a cursor -y
Gemini CLI
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a gemini-cli -y
GitHub Copilot
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a github-copilot -y
OpenCode
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a opencode -y
Windsurf
$ npx skills add managedcode/dotnet-skills --skill playwright-visual-testing -a windsurf -y
name: playwright-visual-testing description: "Add, repair, or review Playwright visual regression tests for browser-facing .NET apps, including screenshot baselines, Pixelmatch thresholds, deterministic rendering, and GitHub Actions artifacts. USE FOR: toHaveScreenshot, page.screenshot visual checks, Pixelmatch/pngjs comparison scripts, visual baseline updates, screenshot diff triage, or CI workflows for UI regression screenshots. DO NOT USE FOR: pure unit tests, accessibility audits, browser-debugging sessions, or frontend linting."
flowchart TD
A["Need visual regression coverage"] --> B{"Uses Playwright Test"}
B -->|"Yes"| C["Prefer expect(page).toHaveScreenshot"]
B -->|"No or custom compare needed"| D["Capture page.screenshot output"]
D --> E["Compare with pixelmatch and pngjs"]
C --> F["Stabilize viewport, data, animation, and volatile regions"]
E --> F
F --> G["Commit reviewed baselines"]
G --> H["Run in CI and upload reports or image diffs"]
H --> I["Triage expected, actual, and diff before changing thresholds"]1. Inspect the current browser-test surface:
2. Choose the comparison path deliberately:
3. Make screenshots deterministic before tuning thresholds:
4. Keep baseline updates explicit:
5. Wire CI for repeatability:
Stop explaining .NET to your AI. Start building. We've all been there: asking Claude to use Entity Framework, only to get EF6 patterns in a .NET 8 project. Explaining to Copilot that Blazor Server and Blazor WebAssembly aren't the same thing.
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…
Build, upgrade, and operate Aspire 13.5.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults,…
Build and debug Avalonia 11/12 .NET applications with XAML, compiled bindings, MVVM, custom controls, desktop lifetimes, and…
Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable…
Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design,…
Maintain or migrate EF6-based applications with realistic guidance on what to keep, what to modernize, and when EF Core is or is…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.