Your report stops at data. QAI starts there. ✅

Your CI tells you
what failed.
QAI tells you
why.

QAI analyzes CI failures, clusters root causes, scores PR risk, and tells you whether to merge — directly on the pull request.

github.com · PR #28 · QAI Agent
Q
QAI Agent · Test Intelligence
17 tests
🔴 High Risk · Do not merge — investigate failures first
9passed
8failed
8clusters
cart.spec.ts › added item appears in cart
RCA: UI changed 85%
AI Analysis: The price locator matches multiple elements (paragraph and span both showing $54.95), causing a strict mode violation. Use getByRole or filter by font-semibold.
💡 AI fix suggestions available → View in QAI
One stepto add to any CI workflow
10k+Tests analyzed
38%Avg fail rate surfaced
500+Failure clusters tracked
60sTo add to your workflow

From CI failure
to merge decision.

QAI runs after your tests. No setup beyond one workflow step.

🔴
01
CI fails
QAI runs automatically after every test suite. No configuration. Works with any JUnit XML output — Playwright, Jest, pytest, Maven, Go.
🔍
02
Clusters & explains
Failures are grouped by root cause. Playwright traces are analyzed locally — no cloud required. AI explains exactly what broke and why.
03
Verdict on the PR
A risk score, merge recommendation, and AI fix suggestions appear directly on the pull request. Your team knows what to do — without opening CI.

Everything your team
needs to ship confidently.

🎯
Failure clustering
30 failing tests doesn't mean 30 problems. QAI groups failures by root cause — one fix may close 20 at once.
🧠
AI root cause analysis
Playwright traces analyzed locally. Detects UI_CHANGED, TIMING_FLAKE, BACKEND_ERROR, TEST_BUG — with confidence scores.
💡
AI fix suggestions
One click generates a fix for each failing test. Full context from traces and Playwright reports — not generic advice.
📈
Trends & flakiness
See fail rate over time, flakiness leaderboard, cluster history. Know what's been broken for 3 weeks before your standup.
🔔
Slack alerts
High-risk PRs fire an alert to your team channel instantly. Risk score, failure count, cluster breakdown, dashboard link.
💬
Ask QAI in your PR
Comment @qai-agent on any PR. Get historical context, severity, frequency data, and fix suggestions — right where you work.

Your PR has
a new reviewer.

Ask anything about your failures. QAI answers using your full history — not just the current run.

📊
Historical context
"How long has this been failing?" — First seen March 18th. 11 occurrences. Never flaky — consistently broken.
📉
Trend comparison
"Is this worse than previous PRs?" — Previous: 7 occurrences. This PR: 20. Nearly 3x increase. Breaking change introduced.
🧰
Fix on demand
"What's the fastest fix?" — Exact code generated. One click to apply. No dashboard required.
github.com · PR #31 · comment thread
@tomerli@qai-agent is there an increase in failures comparing to previous PRs?
Q
QAI Agent
Yes, there's a dramatic increase in failures compared to previous PRs.

Previous PRs: 7 occurrences of these patterns.
This PR: 20 occurrences each — nearly 3x increase.

Root causes:
→ UI_CHANGED failures (4 tests) — 85% confidence
→ TIMING_FLAKE failures (4 tests) — 70% confidence
0% flaky score — consistent, reproducible failures
Verdict: Block merge — systematic failures introduced by this PR.

One workflow step.
Zero excuses to merge red.

Free forever for the core action. No credit card. No setup beyond adding a YAML step.

# Add after your test step
- name: QAI Agent
  uses: useqai/qai-agent@v1
  if: always()
  with:
    junit-path: 'test-results/results.xml'