skills/blazor-interactive-ssr-adhoc-testing-playwright-cli/SKILL.md
Specialized for ad-hoc testing Blazor web apps in interactive server render mode with SignalR using playwright-cli. Use when performing quick tests on Blazor components, real-time updates, forms, and UI interactions in server-rendered applications.
npx skillsauth add arisng/github-copilot-fc blazor-interactive-ssr-adhoc-testing-playwright-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extends the playwright-cli skill for exploratory, in-development testing of Blazor apps running in interactive server render mode (interactive SSR) with SignalR. Focus is on quick, manual validation — not CI/CD automation.
Covers: ad-hoc E2E workflows, component interaction, SignalR-driven UI updates, form/validation testing, basic visual and performance checks.
Does not cover: automated test suites (use Playwright Test Framework), unit/component testing (xUnit/bUnit), load/security/accessibility testing, or production E2E.
window.Blazor._internal.dotNetObject !== undefined.eval to assert DOM state after actions rather than relying on timing.playwright-cli console to catch Blazor-specific errors (circuit disconnections, rendering exceptions).Seven strategies cover the common Blazor ad-hoc testing scenarios. Detailed workflows with bash examples are in references/strategies.md.
| # | Strategy | When to use | |---|----------|-------------| | 1 | Connection and Initial Load | Verify SignalR connects and components render | | 2 | Component Interaction and State | Test clicks, server state changes, and UI updates | | 3 | Real-Time Data Sync | Validate SignalR-pushed data updates in UI | | 4 | Form Submission and Validation | Test form fill, submit, success/error handling | | 5 | Error Scenarios and Recovery | Test circuit disconnection and reconnection | | 6 | Visual Regression Verification | Snapshot/DOM checks for unintended visual changes | | 7 | Basic Performance Assessment | Tracing and responsiveness checks |
Read references/strategies.md for the workflow commands for any strategy above.
# Verify Blazor and SignalR loaded
playwright-cli open https://localhost:5001
playwright-cli eval "window.Blazor !== undefined"
playwright-cli network
# Click + assert state change
playwright-cli click e5
playwright-cli eval "document.querySelector('.counter-value').textContent.includes('1')"
playwright-cli snapshot
# Form fill and submit
playwright-cli fill e2 "[email protected]"
playwright-cli click e3
playwright-cli eval "document.querySelector('.success-message') !== null"
eval assertions immediately after interactions to avoid race conditions with SignalR updates.playwright-cli console and playwright-cli network when debugging connection issues.playwright-cli skill for the full command reference and session management.devops
Programmatically create tldraw whiteboards and visualize them with a self-hosted tldraw instance. Create boards with shapes, text, and connectors, then deploy to a self-hosted server for collaborative editing and gallery management.
tools
Execute Google Cloud Platform operations using the gcloud CLI (and gsutil/bq where applicable). Use when the user wants to: authenticate with GCP, manage GCP resources, deploy applications, configure projects or IAM, view logs, run SQL/BigQuery, or interact with any GCP service from the command line. Triggers on phrases like "gcloud", "Google Cloud CLI", "deploy to GCP", "create a VM", "Cloud Run", "GKE cluster", "Cloud Storage bucket", "set GCP project", "service account", "Cloud Functions", "App Engine deploy", or any request to manage Google Cloud resources via command line.
testing
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
development
Session-scoped git commit orchestrator that commits only current-session changes and leaves unrelated dirty worktree edits untouched. Inherits git-atomic-commit for atomic grouping and commit message execution, and git-commit-scope-constitution for scope governance and validation. Use when asked to commit this session only or isolate commits from mixed worktree state.