From pw
Generates Playwright test reports with summaries, failed details, flakies, trends, and outputs to Markdown, HTML, Slack, TestRail, or GitHub Actions.
npx claudepluginhub stillquietlyloud/claude_skills --plugin pwThis skill uses the workspace's default tool permissions.
Generate test reports that plug into the user's existing workflow. Zero new tools.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generate test reports that plug into the user's existing workflow. Zero new tools.
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
Read the JSON report:
npx playwright test --reporter=json 2> /dev/null
Extract:
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 |
# 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.
curl -X POST "$SLACK_WEBHOOK_URL" \
-H 'Content-Type: application/json' \
-d '{
"text": "🧪 Test Results: ✅ {{passed}} | ❌ {{failed}} | ⏱️ {{duration}}\n{{failed_details}}"
}'
Invoke /pw:testrail push with the JSON results.
npx playwright show-report
Or if in CI:
echo "HTML report available at: playwright-report/index.html"
If previous reports exist in test-reports/: