.cursor/skills/qa-browser-data-collector/SKILL.md
Autonomously explore live web applications using Playwright MCP to collect page structure, form fields, validation rules, API endpoints, and user flows for test case generation.
npx skillsauth add AZANIR/qa-skills qa-browser-data-collectorInstall 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.
Use Playwright MCP to autonomously explore live web applications and collect structured data for test generation. The skill navigates URLs, captures accessibility snapshots, inspects forms, records network traffic, and maps navigation paths—producing a "UI spec" that feeds into test case generators (e.g., qa-testcase-from-docs, qa-playwright-ts-writer).
| Category | Examples | |----------|----------| | Page structure | DOM tree, headings (h1–h6), landmarks (main, nav, aside), ARIA roles | | Forms | Fields (name, type, placeholder, required/optional), validation rules, submit targets | | Navigation | Links (href, text), menus, breadcrumbs, routing patterns | | API calls | Endpoints, HTTP methods, status codes, request/response payloads | | Error handling | Validation messages, error pages, fallbacks, console errors | | Authentication flows | Login form, session indicators, token storage, logout paths |
Structured "UI spec" suitable for test case generators:
{
"url": "https://example.com/login",
"collectedAt": "ISO8601",
"pages": [
{
"path": "/login",
"title": "Sign In",
"headings": ["Sign In", "Forgot password?"],
"forms": [
{
"id": "login-form",
"fields": [
{ "name": "email", "type": "email", "required": true },
{ "name": "password", "type": "password", "required": true }
],
"submitButton": "Sign In",
"validationMessages": ["Email is required", "Invalid email format"]
}
],
"links": [...],
"apiCalls": [...]
}
],
"navigationPaths": [...],
"authFlow": { "login": "/login", "logout": "/logout" }
}
Markdown output is also supported for human-readable specs. See references/data-collection-checklist.md for a full checklist.
Can do (autonomous):
references/data-collection-checklist.md and references/playwright-mcp-patterns.mdCannot do (requires confirmation):
Will not do (out of scope):
Before delivering a UI spec:
| Symptom | Likely Cause | Fix | |---------|--------------|-----| | Snapshot empty or incomplete | Page not fully loaded, SPA hydration | Use wait patterns; retry snapshot after load | | Forms not detected | Dynamic forms, iframes | Check for iframes; wait for form visibility | | API calls not captured | Network interception not active | Ensure network recording started before navigation | | Login required | Protected area | Ask user for test credentials or skip authenticated routes | | Rate limiting / blocking | Bot detection | Reduce request frequency; use realistic delays | | CORS or mixed content | Cross-origin restrictions | Document observed behavior; note limitations | | Element refs stale | DOM changed between snapshot and action | Re-snapshot before interaction |
references/data-collection-checklist.md — Checklist of data points to collect per pagereferences/playwright-mcp-patterns.md — Common Playwright MCP patterns for data collectiontools
Analyze OpenAPI/Swagger spec (JSON or YAML) against existing test files and generate an HTML coverage report with QA automation tasks. Use when user provides an OpenAPI spec file and wants to know test coverage status.
testing
Universal QA plan generator supporting 10 plan types including test plans, sprint plans, regression plans, release plans, UAT plans, performance plans, migration plans, onboarding plans, and custom plans.
development
Generate consumer-driven contract tests using Pact for JavaScript and Python to verify microservice API compatibility between consumer and provider.
development
Master skill coordinating all QA skills through pipeline modes (full-cycle, docs-only, testcases-only, write-tests, report), formalized handoff chains, scheduler rules, and framework/language selection based on project context.