Read-only judgment of existing UI. It edits nothing, including one-character fixes: findings name the change, and applying it is pe-build’s job.
Say this, get this
| You say | You get |
|---|---|
| “Review my PR” | Diff-scoped findings with severity, file:line, and the named change |
| “Review this screen” | A critique against the experience and technical rubrics |
| “Audit the app, give me a roadmap” | Whole-surface findings delivered as self-contained plans another agent executes |
| “Check this against the guidelines” | A terse file:line lint against the Web Interface Guidelines |
| “Will this component survive?” | The component rendered in every hostile state |
| “Review the animations” | Motion findings against the standards; opportunities on request |
| “Is this accessible?” | An accessibility audit; its findings are always kept |
| “Did we stay true to the mock?” | Every deviation from the approved record, with severity |
Modes
| Mode | When |
|---|---|
change |
A diff, branch, PR, or “review my changes” is named. Always wins over screen when both could apply. |
screen |
A screen, page, site, or screenshot; “review this UI.” |
improve |
“Audit this and give me a roadmap”, “improve the app” — whole-surface improvement, delivered as self-contained plans another agent executes. Explicit invocation only. |
guidelines |
“Check against best practices / the guidelines”; terse file:line lint of UI code. |
stress |
“Does this component survive?” — render one component in every hostile state. Explicit invocation only. |
motion |
“Review the animations / motion.” For a whole-codebase motion audit with plans, add motion-audit.md + motion-audit-signals.md + plan-template.md. |
opportunities |
“What could be animated here?” — read-only; proposes motion with exact values, never implements. Explicit invocation only. |
a11y |
“Is this accessible?” — audit, not implementation. |
fidelity |
“Did we stay true to the mock / design?” — the implementation against the approved artifact in .product/approved/; every deviation is a finding with severity. Implied whenever a reviewed surface has an approved record. |
Verb beats noun: “review the animation” is motion mode here; “fix the animation” is pe-build. A named diff, branch, or PR is always change mode.
Setup
required |
a diff, branch, or PR; a URL; or a screenshot, depending on the mode |
optional |
a browser, for screen and a11y modes on a running product |
convention |
fidelity mode reads .product/approved/; an unstamped mock goes to pe-design for approval first |
What it produces
Findings with a severity of HIGH, MEDIUM, or LOW plus the engine’s escalation triggers, each with evidence (a file:line or a screenshot) and the change that resolves it, ending in a verdict. A request that mixes modes runs the engine once and consolidates. The Review a PR workflow shows a full report.
Handoffs
Fixes: pe-build. Proof that behavior works end to end, with recordings: pe-verify. Documenting the system a review revealed: pe-design, understand mode.
Provenance
Carries 16 files from Jakub Krehel (7), Emil Kowalski (6), Julien Thibeaut (2), Vercel (1), and 4 authored here. Every vendored file is hash-locked to a pinned upstream commit.
Apache-2.0 · skills/pe-review