After 6 years doing QA automation in Fintech, I got tired of the same cycle: Test fails in CI Download the report Spend 20 minutes reading stack traces Realize it was a one-line selector issue So I built a custom Playwright reporter that does the debugging for you. What it does When a test fails, the reporter automatically: Captures the test name, error message, and stack trace Sends it to an AI with a structured prompt Gets back a root cause, a TypeScript fix, and a prevention tip Saves everything to test-results/ai-diagnosis.md Here's what the output looks like: ❌ Login › locked out user sees lock message 🔍 Analyzing failure: "locked out user sees lock message" ❌ locked out user sees lock message 1. Root cause The selector [data-test="error"] matched but the assertion expected different text than what Sauce Demo returned. 2. Fix await expect ( loginPage . errorMessage ). toContainText ( ' Epic sadface: Sorry, this user has been locked out. ' ); Enter fullscreen mode Exit fullscreen mode 3.…