
Report
Turn Playwright runs into a markdown summary and route results to TestRail, Slack, CI artifacts, or HTML without adding a separate reporting product.
Overview
Report is an agent skill most often used in Ship (also Operate iterate, Build frontend) that generates Playwright test summaries and pushes them to your existing reporting channels.
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill reportWhat is this skill?
- Runs or reuses Playwright with json, html, and list reporters when no fresh results exist
- Parses totals, duration, failures, and flaky retry passes from JSON output
- Auto-routes to TestRail (`TESTRAIL_URL`), Slack webhook, GitHub Actions artifacts, or local HTML
- Always emits a dated markdown report with summary counts and failure detail
- Five routing checks: TestRail env, Slack webhook, GitHub workflows, HTML report folder, markdown default
- Extracts passed, failed, skipped, flaky, duration, and per-test errors from JSON
Adoption & trust: 1.6k installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You ran Playwright tests—or need to—but results are buried in logs, HTML folders, or CI artifacts instead of a quick answer on what failed and where to send it.
Who is it for?
Indie SaaS teams with Playwright in the repo who want agent-triggered reporting aligned to TestRail, Slack, or GitHub Actions habits.
Skip if: Projects without Playwright, or teams that need a full test management migration rather than summarizing an existing run.
When should I use this skill?
User says "test report", "results summary", "test status", "show results", "test dashboard", or "how did tests go".
What do I get? / Deliverables
You get a structured markdown report plus optional TestRail, Slack, or HTML routing so the next fix or PR comment can start from named failures and flaky retries.
- Markdown test results report with pass, fail, skip, flaky counts and failure messages
- Optional TestRail push, Slack summary, or opened/served HTML playwright-report
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Ship is the primary home because the skill is triggered by test outcomes and failure triage right before release. Testing subphase matches Playwright execution, JSON/HTML parsing, and pass-fail-flaky rollups.
Where it fits
Pre-release, regenerate JSON/HTML and paste failure names into a fix list.
After a production hotfix branch, confirm flaky retries before redeploying.
Following a UI change, produce a markdown rollup for your own changelog notes.
How it compares
Workflow on top of Playwright reporters—not a replacement for your test framework or a hosted dashboard product.
Common Questions / FAQ
Who is report for?
Solo builders and small teams shipping web apps with Playwright who want fast, channel-aware result summaries from the agent.
When should I use report?
Use it in Ship testing before a release, in Operate iterate when checking nightly health, and during Build frontend when validating UI changes after a local or CI run.
Is report safe to install?
It can execute shell commands and post to webhooks if configured; review the Security Audits panel on this page and scope secrets like `SLACK_WEBHOOK_URL` and TestRail credentials carefully.
SKILL.md
READMESKILL.md - Report
# 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: ```bash ls -la test-results/ playwright-report/ 2>/dev/null ``` If no recent results, run tests: ```bash npx playwright test --reporter=json,html,list 2>&1 | tee test-output.log ``` ### 2. Parse Results Read the JSON report: ```bash 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) ```markdown # 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) ```bash 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 ```bash npx playwright show-report ``` Or if in CI: ```bash 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)