Creates summary reports from test results with support for Slack, TestRail, and local dashboards.

Install

mkdir -p .claude/skills/report && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3308" && unzip -o skill.zip -d .claude/skills/report && rm skill.zip

Installs to .claude/skills/report

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate test report. Use when user says "test report", "results summary", "test status", "show results", "test dashboard", or "how did tests go".
146 chars · catalog description✓ has a “when” trigger
Beginner

Key capabilities

  • Extracts test result metadata from JSON
  • Categorizes passed, failed, and flaky tests
  • Integrates with Slack webhooks
  • Generates summary tables for markdown output
  • Calculates total test duration

How it works

Executes standard test runner commands with reporting flags and parses the resulting JSON to format text summaries for common output channels.

Inputs & outputs

You give it
Request for report summary or status
You get back
Formatted markdown report or Slack notification

When to use report

  • Show test status summary
  • Generate test failure dashboard
  • Analyze test results duration

About this skill

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:

CheckIf foundAction
TESTRAIL_URL env varTestRail configuredPush results via /pw:testrail push
SLACK_WEBHOOK_URL env varSlack configuredPost summary to Slack
.github/workflows/GitHub ActionsResults go to PR comment via artifacts
playwright-report/HTML reporterOpen or serve the report
None of the aboveDefaultGenerate 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)

When not to use it

  • When testing framework is not Playwright
  • When no existing test artifacts are accessible

Prerequisites

npxplaywright

Limitations

  • Limited to the output data format of the underlying test runner
  • Requires pre-configuration of env vars for external notification routing
  • Cannot analyze code coverage beyond raw test success metrics

How it compares

It routes reporting to pre-configured destinations automatically without additional tool dependencies.

Compared to similar skills

report side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
report (this skill)15moReviewBeginner
qa-tester299moNo flagsIntermediate
qa-expert149moReviewIntermediate
agent-benchmark-suite36moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

More by alirezarezvani

View all by alirezarezvani

ma-playbook

alirezarezvani

M&A strategy for acquiring companies or being acquired. Due diligence, valuation, integration, and deal structure. Use when evaluating acquisitions, preparing for acquisition, M&A due diligence, integration planning, or deal negotiation.

39122

ad-creative

alirezarezvani

When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say 'write ad copy,' 'generate headlines,' 'create ad variations,' 'bulk creative,' 'iterate on ads,' 'ad copy validation,' 'RSA headlines,' 'Meta ad copy,' 'LinkedIn ad,' or 'creative testing.' This is pure creative production — distinct from paid-ads (campaign strategy). Use ad-creative when you need the copy, not the campaign plan.

3395

content-trend-researcher

alirezarezvani

Advanced content and topic research skill that analyzes trends across Google Analytics, Google Trends, Substack, Medium, Reddit, LinkedIn, X, blogs, podcasts, and YouTube to generate data-driven article outlines based on user intent analysis

30126

cold-email

alirezarezvani

When the user wants to write, improve, or build a sequence of B2B cold outreach emails to prospects who haven't asked to hear from them. Use when the user mentions 'cold email,' 'cold outreach,' 'prospecting emails,' 'SDR emails,' 'sales emails,' 'first touch email,' 'follow-up sequence,' or 'email prospecting.' Also use when they share an email draft that sounds too sales-y and needs to be humanized. Distinct from email-sequence (lifecycle/nurture to opted-in subscribers) — this is unsolicited outreach to new prospects. NOT for lifecycle emails, newsletters, or drip campaigns (use email-sequence).

2971

content-humanizer

alirezarezvani

Makes AI-generated content sound genuinely human — not just cleaned up, but alive. Use when content feels robotic, uses too many AI clichés, lacks personality, or reads like it was written by committee. Triggers: 'this sounds like AI', 'make it more human', 'add personality', 'it feels generic', 'sounds robotic', 'fix AI writing', 'inject our voice'. NOT for initial content creation (use content-production). NOT for SEO optimization (use content-production Mode 3).

2251

aws-solution-architect

alirezarezvani

Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.

2047

Search skills

Search the agent skills registry