Skill v1.0.0
currentTrusted Publisher100/100version: "1.0.0" name: playwright-trace description: Inspect Playwright trace files from the command line — list actions, view requests, console, errors, snapshots and screenshots. allowed-tools: Bash(npx playwright trace:*)
Playwright Trace CLI
Inspect .zip trace files produced by Playwright tests without opening a browser.
Workflow
- Start with
trace open <trace.zip>to extract the trace and see its metadata. - Use
trace actionsto see all actions with their action IDs. - Use
trace action <action-id>to drill into a specific action — see parameters, logs, source location, and available snapshots. - Use
trace requests,trace console, ortrace errorsfor cross-cutting views. - Use
trace snapshot <action-id>to get the DOM snapshot, or run a browser command against it. - Use
trace closeto remove the extracted trace data when done.
All commands after open operate on the currently opened trace — no need to pass the trace file again. Opening a new trace replaces the previous one.
Commands
Open a trace
# Extract trace and show metadata: browser, viewport, duration, action/error countsnpx playwright trace open <trace.zip>
Close a trace
# Remove extracted trace datanpx playwright trace close
Actions
# List all actions as a tree with action IDs and timingnpx playwright trace actions# Filter by action title (regex, case-insensitive)npx playwright trace actions --grep "click"# Only failed actionsnpx playwright trace actions --errors-only
Action details
# Show full details for one action: params, result, logs, source, snapshotsnpx playwright trace action <action-id>
The action command displays available snapshot phases (before, action, after) and the exact command to extract them.
Requests
# All network requests: start time (on the `trace actions` clock), method, status, URL, duration, sizenpx playwright trace requests# Filter by URL patternnpx playwright trace requests --grep "api"# Filter by HTTP methodnpx playwright trace requests --method POST# Only failed requests (status >= 400)npx playwright trace requests --failed
Request details
# Show full details for one request: headers, body, securitynpx playwright trace request <request-id>
Console
# All console messages and stdout/stderrnpx playwright trace console# Only errorsnpx playwright trace console --errors-only# Only browser console (no stdout/stderr)npx playwright trace console --browser# Only stdout/stderr (no browser console)npx playwright trace console --stdio# Filter by message text patternnpx playwright trace console --grep "failed to fetch"
Errors
# All errors with stack traces and associated actionsnpx playwright trace errors
Snapshots
The snapshot command loads the DOM snapshot for an action into a headless browser and runs a single browser command against it. Without a browser command, it returns the accessibility snapshot.
# Get the accessibility snapshot (default)npx playwright trace snapshot <action-id># Use a specific phasenpx playwright trace snapshot <action-id> --phase before# Run eval to query the DOMnpx playwright trace snapshot <action-id> -- eval "document.title"npx playwright trace snapshot <action-id> -- eval "document.querySelector('#error').textContent"# Eval on a specific element ref (from the snapshot)npx playwright trace snapshot <action-id> -- eval "el => el.getAttribute('data-testid')" e5# Take a screenshot of the snapshotnpx playwright trace snapshot <action-id> -- screenshot# Redirect output to a filenpx playwright trace snapshot <action-id> -- eval "document.body.outerHTML" --filename=page.htmlnpx playwright trace snapshot <action-id> -- screenshot --filename=screenshot.png
Only three browser commands are useful on a frozen snapshot: snapshot, eval, and screenshot.
Attachments
# List all trace attachmentsnpx playwright trace attachments# Extract an attachment by its numbernpx playwright trace attachment 1npx playwright trace attachment 1 -o out.png
Typical investigation
# 1. Open the trace and see what's insidenpx playwright trace open test-results/my-test/trace.zip# 2. What actions ran?npx playwright trace actions# 3. Which action failed?npx playwright trace actions --errors-only# 4. What went wrong?npx playwright trace action 12# 5. What did the page look like at that moment?npx playwright trace snapshot 12# 6. Query the DOM for more detailnpx playwright trace snapshot 12 -- eval "document.querySelector('.error-message').textContent"# 7. Any relevant network failures?npx playwright trace requests --failed# 8. Any console errors?npx playwright trace console --errors-only