Skip to main content

/frontend-visual-verify

Visual verification of UI components via Storybook snapshots and Playwright MCP.


Overview

Verifies that components render correctly by analyzing accessibility trees and capturing screenshots. Operates in two modes depending on Playwright MCP availability: full visual verification or code-review-only analysis.


Usage

/frontend-visual-verify "http://localhost:6006/?path=/story/button--default"
/frontend-visual-verify "src/components/Button.tsx"
/frontend-visual-verify "jaan-to/outputs/frontend/design/01-hero/"
ArgumentRequiredDescription
targetNoStorybook URL (localhost), component path, or frontend-design output

What It Produces

Files at $JAAN_OUTPUTS_DIR/frontend/visual-verify/{id}-{slug}/:

FileContent
{id}-{slug}.mdVerification report with scoring and findings
{id}-{slug}-screenshots/Captured screenshots (visual-mode only)
{id}-{slug}-readme.mdSummary with pass/fail status

Output Modes

ModeConditionVisual ScoreCan Conclude Pass/Fail?
visual-modePlaywright MCP available0-10 scaleYes
static-modeNo Playwright MCPN/ANo — code analysis only

In static-mode, the report header states: "Static analysis only — visual verification requires Playwright MCP."


Key Features

  • Accessibility tree analysis — Uses browser_snapshot (structured, deterministic) as the primary verification tool
  • Screenshot capturebrowser_take_screenshot for visual evidence (secondary to accessibility tree)
  • Localhost-only default — Only navigates to localhost:* and 127.0.0.1:*; external URLs require per-URL user confirmation
  • Visual scoring rubric — 6 categories: layout, typography, color, spacing, responsiveness, accessibility
  • Honest static-mode — Never claims visual pass/fail without Playwright
  • API dependency note — Flags components with API dependencies that may need MSW handlers for proper Storybook rendering

Network Security

Default: localhost-only. The skill will not navigate to external domains without explicit user confirmation.

Playwright MCP config recommendation:

{
"network": {
"allowedOrigins": ["http://localhost:*", "http://127.0.0.1:*"]
}
}

Workflow Chain

/frontend-story-generate → /frontend-visual-verify → /frontend-component-fix (if issues found)
  • frontend-story-generate creates stories to verify
  • frontend-visual-verify checks rendering
  • frontend-component-fix fixes any issues found

SkillRelationship
/frontend-story-generateUpstream — generates stories to verify
/frontend-component-fixDownstream — fixes issues found during verification
/frontend-designUpstream — produces components to verify
/dev-verifyComplementary — verifies build pipeline; this skill verifies visual output

Back to Frontend Skills | Back to All Skills