Pwa user simulation
Skill TheWatcher01/skills/.claude/skills/pwa-user-simulation
Agent Skills collection — Reusable capabilities for AI coding agents. Install: npx skills add TheWatcher01/skills
npx -y skills add TheWatcher01/skills --skill pwa-user-simulationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Simulate real user journeys through a PWA using browser automation MCPs (Playwright MCP + Chrome DevTools MCP). Combines SXO (Search eXperience Optimization), neuro-ergonomic heuristics, WCAG 2.2 AA checks, and Core Web Vitals analysis via structured accessibility snapshots and visual screenshots. Triggers on: simulate user, user journey, PWA test, SXO audit, UX walkthrough, browser automation, e2e exploration, user simulation, test the app, parcourir comme un utilisateur, tester le flow, vérifier le parcours.
SKILL.md
5.7 KB, as published. Nobody here has run it
PWA User Simulation Skill
Simulate real user journeys through a web application using Playwright MCP (accessibility tree, structured navigation, assertions) and Chrome DevTools MCP (visual screenshots, DOM inspection, JS evaluation). Produce structured reports with prioritized findings and actionable handoff recommendations.
When to Load References
- Persona definitions → load
references/personas.md - SXO audit checklist → load
references/sxo-checklist.md - MCP tools usage guide → load
references/mcp-tools-guide.md - Journey report template → copy from
assets/journey-report.md
Simulation Protocol (3 Phases)
Phase 1 — Bootstrap & Discovery
- Verify the app is running (
browser_navigateto$BASE_URLorhttp://localhost:3000) - Take an initial screenshot (Chrome DevTools
take_screenshot) + accessibility snapshot (Playwrightbrowser_snapshot) to confirm the landing state - Load the selected persona from
references/personas.md - List all navigable routes visible from the current page (links, nav items, CTAs)
Phase 2 — Route-by-Route Exploration
For each route in the persona's journey:
- Navigate — use Playwright
browser_navigate(structured, token-efficient) or Chrome DevToolsnavigate_page(if vision/screenshot needed) - Snapshot — take an accessibility snapshot (
browser_snapshot) to read the page structure as an accessibility tree - Screenshot — take a visual screenshot (
take_screenshot) to capture visual state. Do this at every significant state change: page load, form interaction, modal open, error state, loading state, hover state - Interact — simulate user actions: click CTAs (
browser_click), fill forms (browser_type), submit, navigate back, toggle dark mode, resize viewport - Analyze — for each state, evaluate against the SXO checklist (load
references/sxo-checklist.md):- Cognitive load: too many elements? Clear visual hierarchy?
- Affordances: are interactive elements obviously clickable?
- Navigation depth: how many clicks to reach the goal?
- Error handling: what happens on wrong input or 401/404/500?
- Loading states: are there skeletons or spinners?
- Responsiveness: does the layout adapt to mobile viewport?
- Log — record each finding with severity (P0/P1/P2), affected route, screenshot reference, and recommended handoff target
Phase 3 — Synthesis & Report
- Compile all findings using the template from
assets/journey-report.md - Group by severity: P0 (blocking UX), P1 (significant friction), P2 (polish)
- For each finding, specify:
- The affected component/route
- A description with screenshot reference
- Recommended fix approach
- Handoff target: UI (design/component issues), Backend (API errors, data problems), Review (quality gate, patterns)
- Provide an overall SXO score (0-100) based on the checklist
MCP Tool Selection Guide
| Task | Playwright MCP | Chrome DevTools MCP |
|---|---|---|
| Navigate to URL | browser_navigate ✅ | navigate_page |
| Read page structure | browser_snapshot ✅ (accessibility tree) | take_snapshot (DOM) |
| Visual screenshot | browser_screenshot (with --caps=vision) | take_screenshot ✅ |
| Click element | browser_click ✅ (by ref from snapshot) | click (by selector) |
| Type text | browser_type ✅ | fill |
| Evaluate JS | — | evaluate_script ✅ |
| Check console errors | browser_console_messages | get_console_message |
| Network monitoring | — | get_network_request |
| Run assertions | browser_snapshot + logic (with --caps=testing) | — |
| Emulate device | --device flag | emulate |
Default strategy: Use Playwright for navigation + interaction (token-efficient, structured). Use Chrome DevTools for screenshots + JS evaluation + network inspection (vision-powered, pixel-level).
Key Principles
- Think like a user, not a developer — navigate via visible UI elements, not code knowledge
- Screenshot at every state change — page load, interaction, error, success, loading
- Accessibility-first exploration — the accessibility tree reveals what screen readers see
- Mobile-first — always test the smallest viewport first (390×844), then desktop (1920×1080)
- Feature flags awareness — check which features are enabled/disabled and test both states
- No code editing — this skill is read-only/browser-only. Findings lead to handoffs, not direct fixes
- Structured reporting — every finding must be actionable with a clear handoff target
Anti-Patterns to Detect
- ❌ Click targets < 44×44px on mobile
- ❌ Missing loading states (content flash, layout shift)
- ❌ Forms without validation feedback
- ❌ Navigation dead-ends (no back button, no breadcrumbs)
- ❌ Inconsistent visual hierarchy (competing CTAs)
- ❌ Missing error handling (white screen on 500, generic "Error")
- ❌ Animations without
prefers-reduced-motionguard - ❌ Contrast ratio < 4.5:1 on body text
- ❌ No focus indicators on interactive elements
- ❌ Orphan pages (unreachable from main navigation)
Gives 0 of the 12 instructions most e2e browser skills give
Counted across 407 of the 410 authors here whose files we hold, read 2026-08-06
- use page object model patternin 35 of 407, across 25 files
- Snapshot to get element refsin 24 of 407, across 14 files
- keep tests independentin 23 of 407, across 18 files
- Interact using refs from the latest snapshotin 23 of 407, across 11 files
- clean up test data after each testin 21 of 407, across 15 files
- test user behavior not implementationin 20 of 407, across 14 files
- quarantine flaky tests explicitlyin 19 of 407, across 10 files
- wait for specific network conditionsin 18 of 407, across 8 files
- re-snapshot after navigation or dom changesin 17 of 407, across 10 files
- Detect running dev servers before writing test codein 17 of 407, across 7 files
- use web-first assertionsin 17 of 407, across 14 files
- capture screenshots or videos on test failurein 17 of 407, across 14 files
Said here and by no other author read
- navigate via visible UI elements
- evaluate each state against the SXO checklist
- assign severity and handoff target to every finding
- test the smallest viewport first
- explore pages using the accessibility tree
- check feature flag states and test both
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.