About report
A Playwright test-reporting skill for teams that want results routed through their existing workflow. It creates a Markdown summary and can direct results to configured destinations, with trend comparisons when historical reports exist.
Key features
- 01Run tests and parse result counts
- 02Capture failures, durations, and flaky tests
- 03Detect configured report destinations
- 04Generate Markdown and HTML reports
- 05Compare trends from historical reports
Use cases
- 01Summarize a recent Playwright test run
- 02Send results to configured Slack or TestRail
- 03Review pass-rate and flakiness trends
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill reportAfter installing, type/reportin Claude Code to confirm it loaded.
Details
From the project READMESmart Test Reporting
Generate test reports that plug into the user's existing workflow. Zero new tools.
Steps
1. Run Tests (If Not Already Run)
Check if recent test results exist:
ls -la test-results/ playwright-report/ 2>/dev/null
If no recent results, run tests:
npx playwright test --reporter=json,html,list 2>&1 | tee test-output.log
2. Parse Results
Read the JSON report:
npx playwright test --reporter=json 2> /dev/null
Extract:
- Total tests, passed, failed, skipped, flaky
- Duration per test and total
- Failed test names with error messages
- Flaky tests (passed on retry)
3. Detect Report Destination
Check what's configured and route automatically:
| Check | If found | Action |
|---|---|---|
TESTRAIL_URL env var | TestRail configured | Push results via /pw:testrail push |
SLACK_WEBHOOK_URL env var | Slack configured | Post summary to Slack |
.github/workflows/ | GitHub Actions | Results go to PR comment via artifacts |
playwright-report/ | HTML reporter | Open or serve the report |
| None of the above | Default | Generate markdown report |
4. Generate Report
Markdown Report (Always Generated)
# Test Results — {{date}}
## Summary
- ✅ Passed: {{passed}}
- ❌ Failed: {{failed}}
- ⏭️ Skipped: {{skipped}}
- 🔄 Flaky: {{flaky}}
- ⏱️ Duration: {{duration}}
## Failed Tests
| Test | Error | File |
|---|---|---|
| {{name}} | {{error}} | {{file}}:{{line}} |
## Flaky Tests
| Test | Retries | File |
|---|---|---|
| {{name}} | {{retries}} | {{file}} |
## By Project
| Browser | Passed | Failed | Duration |
|---|---|---|---|
| Chromium | X | Y | Zs |
| Firefox | X | Y | Zs |
| WebKit | X | Y | Zs |
Save to test-reports/{{date}}-report.md.
Slack Summary (If Webhook Configured)
curl -X POST "$SLACK_WEBHOOK_URL" \
-H 'Content-Type: application/json' \
-d '{
"text": "🧪 Test Results: ✅ {{passed}} | ❌ {{failed}} | ⏱️ {{duration}}\n{{failed_details}}"
}'
TestRail Push (If Configured)
Invoke /pw:testrail push with the JSON results.
HTML Report
npx playwright show-report
Or if in CI:
echo "HTML report available at: playwright-report/index.html"
5. Trend Analysis (If Historical Data Exists)
If previous reports exist in test-reports/:
- Compare pass rate over time
- Identify tests that became flaky recently
- Highlight new failures vs. recurring failures
Output
- Summary with pass/fail/skip/flaky counts
- Failed test details with error messages
- Report destination confirmation
- Trend comparison (if historical data available)
- Next action recommendation (fix failures or celebrate green)
Comments
Markdown supported