CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

visual-validation

Autonomous screenshot verification — captures, compares, and AI-evaluates UI changes for visual regressions

55

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/visual-validation/SKILL.md
SKILL.md
Quality
Evals
Security

Visual Validation — Autonomous Screenshot Verification

Philosophy

Every UI change should be visually verified before it ships. Peekaboo captures pixel-accurate screenshots. The system compares before/after and flags visual regressions. No manual "looks good to me" — the machine verifies what the machine built.

Autonomous Flow

static/* files modified (detected by auto-review-hook or E2E testkit)
    ↓
peekaboo image --mode screen → ~/.maggy/visual-verify/after-{ts}.png
    ↓
Compare with latest baseline (previous after-*.png)
    ↓
AI evaluation: Gemini Flash analyzes screenshot for visual regressions
    ↓
Report: CLEAN or REGRESSION_DETECTED with specific issues

Quick Commands

# Install
brew install steipete/tap/peekaboo

# Capture full system screenshot
peekaboo image --mode screen --retina --path /tmp/screen.png

# Capture specific window
peekaboo image --mode window --app "Google Chrome" --path /tmp/window.png

# Verify Maggy dashboard after code change
peekaboo image --mode window --app "Google Chrome" --path ~/.maggy/visual-verify/after-$(date -u +%Y%m%d-%H%M%S).png

# Compare two screenshots
ls -la ~/.maggy/visual-verify/after-*.png  # review before/after pairs

Autonomous Verification Flow (Claude Code)

# After making any static/ file change, Claude should:
1. git add maggy/maggy/static/ && git diff --stat HEAD  # check what changed
2. Restart Maggy: lsof -ti :8080 | xargs kill && python3 -m maggy.main &
3. Wait for health: curl -s http://localhost:8080/api/health
4. Capture screenshot: peekaboo image --mode screen --path ~/.maggy/visual-verify/after-$(date -u +%Y%m%d-%H%M%S).png
5. Compare with latest baseline in ~/.maggy/visual-verify/
6. AI evaluation: ~/bin/gemini-api --flash "Analyze this screenshot for visual regressions"
7. Report findings

Maggy Dashboard Verification

# One-shot verification
curl -s http://localhost:8080/api/health && \
peekaboo image --mode screen --path ~/.maggy/visual-verify/verify.png && \
echo "✓ Dashboard verified — screenshot at ~/.maggy/visual-verify/verify.png"

Integration Points

Auto-Review Hook (already wired)

  • Detects static/ changes in git diff
  • Auto-captures Peekaboo screenshot
  • Saves before/after pairs in ~/.maggy/visual-verify/

E2E Testkit Plugin

  • Visual regression testing as part of POST /api/testkit/run
  • Compares screenshots against baselines
  • Flags pixel differences above threshold

Build-in-Public Plugin

  • Peekaboo screenshots replace AI-generated images
  • Real product captures for LinkedIn/X posts

When to Use

ScenarioCommand
After static/ changepeekaboo image --mode screen --path ~/.maggy/visual-verify/after.png
Before committing UI changeRun verification flow above
Reviewing dashboardScreenshot + AI analysis
Build-in-public postAuto-captured by plugin
Cross-browser checkpeekaboo image --mode window --app "Safari"
Repository

alinaqi/maggy

Path

skills/visual-validation/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.