The skill drives the product in Playwright, records what happens, captures a still at each checkpoint, and writes one JSON file; a script in the skill renders it into a report that opens in your browser.
Say this, get this
| You say | You get |
|---|---|
| “Verify the toolbar” | A feature run: one item, a recording with 3 to 6 checkpoints, one verdict |
| “Run the QA list against this PR” | A selective list run: the entries the change set can affect; the rest shown as not run, with a reason |
| “Release check, everything” | Every entry in .product/qa-list.md: pass, fail, flag, or skipped, each with evidence |
| “Seed a QA list” | A draft from the repo’s routes, scripts, and pins, written to .product/qa-list.md for you to prune |
Modes
| Mode | When |
|---|---|
feature |
“Verify this”, “create a verification for X”, or the last step after a build. The checks come from the change and the conversation: what was built, what the user said it must do, what it must not break. |
list |
“Run the QA list”, “release check”, “QA”. The user’s own markdown list, found under .product/; one report item per list entry, every entry present. |
A list run is selective or all, and the report says which. Selective when you name a change set; all when you say “everything” or name none. Every entry from your list appears in the report either way.
Setup
required |
python3, for the validator and renderer (no packages) |
required |
Playwright with Chromium, for browser checks; without it they report skipped and code checks still run |
optional |
ffmpeg, to convert recordings to mp4; otherwise the report plays webm |
convention |
a QA list in .product/; other locations are remembered in ~/.product-engineering/memories.md |
npx playwright install chromiumWhat it produces
One report.json in a temp folder, rendered to report.html beside it. Counts by status
up top, failures and flags first. Each browser item has a player with a checkpoint list,
narration per checkpoint, and hover previews on the progress bar; filters by status and
type, a search box, and a jump palette (J). Nothing is written to the repo.
A list run, rendered from a QA list of thirteen entries against one change set. Two fails
open on load; the pills filter by status, the chips by check type; J opens the jump
palette; the failed browser check has the recording with hover previews on the bar.
The same renderer on a feature run: the sample feature run, one item with a recording and five checkpoints. The JSON contract is in the report contract.
Handoffs
Fails: pe-build, with their evidence. Whether it looks right: pe-review. Whether it matches the approved mock: pe-review, fidelity mode. Documenting the behavior verified: pe-product-description.
Provenance
Authored in this repository: 3 references, 0 vendored files.
Apache-2.0 · skills/pe-verify