UI Evidence — screenshots are mandatory for UI/UX changes
SkillMediaCapture mandatory before/after screenshots (and videos/GIFs for flows) for any change touching UI/UX, and attach them to the PR. Use whenever a change touches frontend/pages, components, layouts, or assets.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the UI Evidence — screenshots are mandatory for UI/UX changes skill
What this skill tells your AI
The instructions your AI receives, as published by bagofwords1/bagofwords in .agents/skills/ui-evidence/SKILL.md and read by ahel’s review.
Any PR touching frontend/{pages,components,layouts,assets}/** must show what
changed visually: before/after screenshots in the PR description, plus a
GIF/video when the change is a flow or animation. Only skip this for refactors
with zero visual effect — and say so explicitly in the PR description.
Screenshots (always)
- Boot + seed:
tools/agent/boot_stack.sh cd backend && uv run python ../tools/agent/seed_org.py --demo export PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers # cloud sandboxes - Capture before (on the base branch or with your change stashed) and
after — same page, same viewport:
For authenticated pages, log in once with a throwaway Playwright script andcd frontend node ../tools/agent/capture.mjs http://localhost:3000/<page> before.png # apply change / unstash, rebuild if prod mode: node ../tools/agent/capture.mjs http://localhost:3000/<page> after.pngcontext.storageState({ path: 'state.json' }), then pass--state state.json. - For RTL-sensitive work, capture
heas well asen(set the locale via the picker in/settings/generalor theX-Localeheader).
Videos / GIFs (for flows, animations, drag-drop, streaming UI)
Static shots can't show a flow. Record one:
node ../tools/agent/capture.mjs http://localhost:3000/<page> flow.webm --video 10
# or drive a multi-step flow in a throwaway spec with recordVideo, then:
ffmpeg -i flow.webm -vf "fps=10,scale=960:-1:flags=lanczos" flow.gif
GitHub renders GIFs inline; .webm cannot be attached via the API.
Attaching evidence to the PR
Commit the files under media/pr/<branch-slug>/ and reference them in the PR
body by their raw URL so they render inline:
## UI changes
| Before | After |
|--------|-------|
|  |  |

Rules:
- Keep each image < 1 MB where possible (GIFs < 5 MB — trim fps/scale, not length).
media/pr/files may be deleted after the PR merges; they are evidence, not assets.- Never capture screens containing real credentials, tokens, or customer data — seeded sandbox data only.
- Humans attaching evidence may simply drag-and-drop into the PR description instead.
Signals
- GitHub stars
- 455
- Forks
- 82
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ui-evidence- Source
- github.com/bagofwords1/bagofwords