Smart Test Reporting

Generate test report.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/report, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit alirezarezvani/claude-skills/engineering-team/playwright-pro/skills/report#main ~/.claude/skills/report

For one project only, change the path to .claude/skills/report. This skill also uses -report.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Smart Test Reporting

Show the full text127 lines
namedescription
report>- Generate test report. Use when user says "test report", "results summary", test status", "show results", "test dashboard", or "how did tests go".

Smart 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)
1---
2name: "report"
3description: >-
4 Generate test report. Use when user says "test report", "results summary",
5 "test status", "show results", "test dashboard", or "how did tests go".
6---
7 
8# Smart Test Reporting
9 
10Generate test reports that plug into the user's existing workflow. Zero new tools.
11 
12## Steps
13 
14### 1. Run Tests (If Not Already Run)
15 
16Check if recent test results exist:
17 
18```bash
19ls -la test-results/ playwright-report/ 2>/dev/null
20```
21 
22If no recent results, run tests:
23 
24```bash
25npx playwright test --reporter=json,html,list 2>&1 | tee test-output.log
26```
27 
28### 2. Parse Results
29 
30Read the JSON report:
31 
32```bash
33npx playwright test --reporter=json 2> /dev/null
34```
35 
36Extract:
37- Total tests, passed, failed, skipped, flaky
38- Duration per test and total
39- Failed test names with error messages
40- Flaky tests (passed on retry)
41 
42### 3. Detect Report Destination
43 
44Check what's configured and route automatically:
45 
46| Check | If found | Action |
47|---|---|---|
48| `TESTRAIL_URL` env var | TestRail configured | Push results via `/pw:testrail push` |
49| `SLACK_WEBHOOK_URL` env var | Slack configured | Post summary to Slack |
50| `.github/workflows/` | GitHub Actions | Results go to PR comment via artifacts |
51| `playwright-report/` | HTML reporter | Open or serve the report |
52| None of the above | Default | Generate markdown report |
53 
54### 4. Generate Report
55 
56#### Markdown Report (Always Generated)
57 
58```markdown
59# Test Results — {{date}}
60 
61## Summary
62- ✅ Passed: {{passed}}
63- ❌ Failed: {{failed}}
64- ⏭️ Skipped: {{skipped}}
65- 🔄 Flaky: {{flaky}}
66- ⏱️ Duration: {{duration}}
67 
68## Failed Tests
69| Test | Error | File |
70|---|---|---|
71| {{name}} | {{error}} | {{file}}:{{line}} |
72 
73## Flaky Tests
74| Test | Retries | File |
75|---|---|---|
76| {{name}} | {{retries}} | {{file}} |
77 
78## By Project
79| Browser | Passed | Failed | Duration |
80|---|---|---|---|
81| Chromium | X | Y | Zs |
82| Firefox | X | Y | Zs |
83| WebKit | X | Y | Zs |
84```
85 
86Save to `test-reports/{{date}}-report.md`.
87 
88#### Slack Summary (If Webhook Configured)
89 
90```bash
91curl -X POST "$SLACK_WEBHOOK_URL" \
92 -H 'Content-Type: application/json' \
93 -d '{
94 "text": "🧪 Test Results: ✅ {{passed}} | ❌ {{failed}} | ⏱️ {{duration}}\n{{failed_details}}"
95 }'
96```
97 
98#### TestRail Push (If Configured)
99 
100Invoke `/pw:testrail push` with the JSON results.
101 
102#### HTML Report
103 
104```bash
105npx playwright show-report
106```
107 
108Or if in CI:
109```bash
110echo "HTML report available at: playwright-report/index.html"
111```
112 
113### 5. Trend Analysis (If Historical Data Exists)
114 
115If previous reports exist in `test-reports/`:
116- Compare pass rate over time
117- Identify tests that became flaky recently
118- Highlight new failures vs. recurring failures
119 
120## Output
121 
122- Summary with pass/fail/skip/flaky counts
123- Failed test details with error messages
124- Report destination confirmation
125- Trend comparison (if historical data available)
126- Next action recommendation (fix failures or celebrate green)
127 

Discussion

Alternatives

Also in Reports & dashboardsSee all 47 in Data & analytics →
/ar:ar-status — Experiment DashboardShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.Data & AI · MITAnalytics dashboardTurn a LinkedIn Analytics export into an interactive dark-themed React dashboard plus a written strategic analysis with 5 data-backed content recommendations. Reads every sheet in the export, builds charts for engagement trend, follower growth, post performance scatter, day-of-week heatmap, and audience breakdown. Use this skill whenever the user says "analyse my linkedin", "linkedin analytics", "build my dashboard", "review my performance", or uploads a LinkedIn Analytics export file. Requires the user's LinkedIn Analytics export (xlsx) as input.Creator · MITEarnings Preview SkillGenerate a pre-earnings briefing for any stock using Yahoo Finance data. Use this skill whenever the user wants to prepare for an upcoming earnings report, understand what analysts expect, review a company's beat/miss track record, or get a quick overview before an earnings call. Triggers include: "earnings preview for AAPL", "what to expect from TSLA earnings", MSFT reports next week", "earnings preview", "pre-earnings analysis", what are analysts expecting for NVDA", "earnings estimates for", will GOOGL beat earnings", "earnings beat/miss history", upcoming earnings", "before earnings", "earnings setup", consensus estimates", "earnings whisper", "EPS expectations", what's the street expecting", "earnings season preview", any mention of preparing for or previewing an earnings report, or any request to understand expectations ahead of a company's earnings date. Always use this skill when the user mentions a ticker in context of upcoming earnings, even if they don't say "preview" explicitly.Data & AI · MITPath A — List-styleSave the results of an in-chat data-exploration session as a TL report. Triggers when the user wants to persist a channels / brands / videos (uploads) / sponsorships list or filtered set they've been working with — phrases like "save this as a report", "save the list", "turn this into a campaign", "persist this", "make a report from what you found", "save the result", "I want to come back to this".Creator · MIT