Skip to content
Back to skills

Orbit Uat Compare

ASecurity

Side-by-side UAT comparison of two WordPress plugins on the same feature set. Generates an HTML report with paired PNG screenshots, MP4 flow videos, PM analysis per flow, RICE backlog, and a feature comparison table. Names files via the PAIR-NN-slug-a/b convention so the report auto-pairs by slug. Use when the user says "Plugin A vs Plugin B", "compare two plugins", "UAT report", "PAIR screenshots", "side-by-side", or "video comparison".

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
testingpythongophpbash

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add adityaarsharma/orbit --skill orbit-uat-compare --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Orbit Uat Compare?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Orbit Uat Compare
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/adityaarsharma-orbit-uat-compare/badge)](https://www.skillsdirectory.com/skills/adityaarsharma-orbit-uat-compare)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: orbit-uat-compare
description: Side-by-side UAT comparison of two WordPress plugins on the same feature set. Generates an HTML report with paired PNG screenshots, MP4 flow videos, PM analysis per flow, RICE backlog, and a feature comparison table. Names files via the PAIR-NN-slug-a/b convention so the report auto-pairs by slug. Use when the user says "Plugin A vs Plugin B", "compare two plugins", "UAT report", "PAIR screenshots", "side-by-side", or "video comparison".
---

# 🪐 orbit-uat-compare — Plugin A vs Plugin B

PM-grade side-by-side comparison. Same flows, two plugins, one HTML report. Watch the videos, see the screenshots, read the PM verdict.

---

## Quick start

```bash
# Run flow tests + generate report + open in browser
npm run uat

# CI-friendly (no auto-open)
npm run uat:ci
```

---

## How the pairing works

Screenshots and videos use the **PAIR-NN-slug-a/b** convention:

```
pair-01-dashboard-a.png    ← Plugin A dashboard
pair-01-dashboard-b.png    ← Plugin B dashboard
pair-02-settings-a.png     ← Plugin A settings
pair-02-settings-b.png     ← Plugin B settings
```

The HTML report pairs by **slug** (`dashboard`, `settings`), not by index. Social always pairs with Social, regardless of order or count. Enforced by the `snapPair()` helper in `tests/playwright/helpers.js`.

---

## Write a flow spec

### Step 1 — Discovery (run first per plugin)
```bash
npx playwright test "Discovery | Plugin A"
# Prints all nav links → copy the exact URLs into your spec
```

### Step 2 — Use snapPair, never page.screenshot

```js
const { snapPair } = require('../helpers');
const SNAP = require('path').join(__dirname, '../../reports/screenshots/flows-compare');

test('PAIR-1 | dashboard | a | Plugin A dashboard', async ({ page }) => {
  await gotoAdmin(page, '/wp-admin/admin.php?page=plugin-a-dashboard');
  await snapPair(page, 1, 'dashboard', 'a', SNAP);                  // → pair-01-dashboard-a.png
  await snapPair(page, 1, 'dashboard', 'a', SNAP, 'scroll');        // → pair-01-dashboard-a-scroll.png
});

test('PAIR-1 | dashboard | b | Plugin B dashboard', async ({ page }) => {
  await gotoAdmin(page, '/wp-admin/admin.php?page=plugin-b-dashboard');
  await snapPair(page, 1, 'dashboard', 'b', SNAP);
});
```

### Step 3 — Test title format (required for video auto-renaming)

```
"PAIR-1 | dashboard | a | Plugin A dashboard overview"
```

The script `generate-uat-report.py` parses this title to wire videos to the right pair.

---

## Generate the HTML report

```bash
python3 ~/Claude/orbit/scripts/generate-uat-report.py \
  --title    "Plugin A vs Plugin B — v2.1" \
  --label-a  "Plugin A" \
  --label-b  "Plugin B" \
  --snaps    reports/screenshots/flows-compare \
  --videos   reports/videos \
  --out      reports/uat-report.html

open reports/uat-report.html
```

---

## Add PM analysis, RICE, feature table

Pass `--flow-data` JSON to enrich the report with per-flow PM verdicts, RICE-scored backlog, and a feature comparison table:

```bash
python3 ~/Claude/orbit/scripts/generate-uat-report.py \
  --flow-data reports/flow-data/my-plugin-vs-competitor.json \
  --out reports/uat-report.html
```

JSON shape:

```json
{
  "FLOW_DATA": {
    "1": {
      "slug": "dashboard",
      "title": "Dashboard",
      "verdict": "🔴 Needs Redesign",
      "a_summary": "Plugin A: cluttered, 12 tabs, no empty state.",
      "b_summary": "Plugin B: 2 tabs, clear empty state, CTA visible.",
      "pm_analysis": "<p>...</p>",
      "wins": ["Clear hierarchy", "Good empty state"],
      "gaps": ["Missing recent activity", "No quick actions"],
      "actions": ["Reduce tabs to 3", "Add Recent Activity card"]
    }
  },
  "RICE": [
    { "r": 1, "n": "Reduce dashboard tabs", "s": 54000, "reach": 18000,
      "imp": "MASSIVE", "eff": "XS", "t": "qw", "q": 1,
      "note": "Top friction in onboarding telemetry" }
  ],
  "FEATURES": [
    ["Setup wizard", "Plugin A: 5 steps", "Plugin B: 3 steps", "b"],
    ["Empty state", "Plugin A: blank", "Plugin B: CTA + tutorial", "b"]
  ],
  "IA_RECS": "<div>... optional HTML for IA / hierarchy section ...</div>"
}
```

`"t"` = task type (`qw` = quick win, `bb` = big bet). `"q"` = quarter (1-4).

---

## RICE columns explained

| Field | Meaning |
|---|---|
| r | Rank (1 = top priority) |
| n | Name of the task |
| s | RICE score (Reach × Impact × Confidence ÷ Effort × 1000) |
| reach | Users affected per quarter |
| imp | Qualitative impact: MASSIVE / HIGH / MED / LOW |
| eff | Effort: XS / S / M / L / XL |
| t | Type: qw / bb |
| q | Quarter to ship |
| note | Why it scored what it did |

PMs use this column to slot work into roadmap.

---

## Use case templates

### Free vs Pro
```bash
# Run side-by-side: my-plugin-free vs my-plugin-pro
LABEL_A="Free" LABEL_B="Pro"  npm run uat
```

### Vs competitor
```bash
LABEL_A="My Plugin" LABEL_B="Competitor"  npm run uat
```

### Old version vs new version
Pair this with `/orbit-version-compare` for a mixed report — code diff + UAT visual.

---

## Output

```
reports/
├── uat-report-<timestamp>.html         ← the master HTML
├── screenshots/flows-compare/
│   ├── pair-01-dashboard-a.png
│   ├── pair-01-dashboard-b.png
│   └── ...
└── videos/
    ├── PAIR-1-dashboard-a.mp4
    └── PAIR-1-dashboard-b.mp4
```

The HTML is self-contained — open in any browser, share via DM, attach to a release post.

---

## Pair with `/orbit-pm-ux-audit`

UAT compare = visual + flow comparison. PM UX audit = textual quality (spelling, labels, terminology). Run both for a complete PM-facing report.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.