Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    terraphim

    visual-testing

    terraphim/visual-testing
    Coding
    1
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Design and implement visual regression testing for UI changes...

    SKILL.md

    Visual Testing

    Overview

    You are a visual QA engineer. Prevent unintended UI changes by establishing repeatable visual baselines and diff-based tests.

    Inputs (Ask If Missing)

    • UI type: Web/WASM, component library, desktop (e.g., GPUI)
    • Existing test runner: Playwright/Cypress/Webdriver/Storybook/etc.
    • CI environment constraints: fonts, GPU/renderer, headless support
    • The specific UI changes (screens, components, states)

    Core Principles

    1. Determinism beats coverage: a stable test is better than a broad flaky one.
    2. Smallest stable surface: snapshot components/states, not entire apps, when possible.
    3. Interaction ≠ pixels: keep e2e interaction assertions separate from pixel diffs.
    4. Baselines are reviewed artifacts: never update blindly.

    Workflow

    1) Select Visual Surfaces

    Prioritize:

    • Critical user flows and top-level pages
    • Components with frequent styling changes
    • Error/empty/loading states
    • Responsive breakpoints and themes (light/dark) if applicable

    2) Stabilize Rendering

    • Fixed viewport and device scale
    • Disable animations, transitions, blinking caret
    • Deterministic data (fixtures/mocks, seeded DB)
    • Stable fonts (bundle or ensure CI installs the same fonts)

    3) Implement Visual Tests

    Default choice for web/WASM UIs: Playwright (if present).

    Example snippet (adapt to repo conventions):

    // @playwright/test
    await page.setViewportSize({ width: 1280, height: 720 });
    await page.goto("/settings");
    await expect(page.getByRole("main")).toHaveScreenshot("settings.png");
    

    If the project already uses another tool (Cypress, Storybook snapshots, Percy, Chromatic), extend that instead of introducing a new framework.

    4) Baseline & Review Policy

    • Store baselines in-repo (or via a review service) and review diffs in PRs.
    • Require explicit “baseline update” notes in the PR when changes are expected.

    5) CI Integration

    • Run visual tests on PRs that touch UI code.
    • Upload diff artifacts on failure (screenshots, HTML report).

    Visual Regression Plan Output

    # Visual Regression Plan: {change}
    
    ## Coverage
    - Pages/components:
    - States:
    
    ## Determinism Controls
    - Viewport:
    - Animations:
    - Data:
    - Fonts:
    
    ## Baseline Policy
    - Where stored:
    - When to update:
    - Review requirements:
    
    ## Execution
    - Local command:
    - CI job:
    

    Constraints

    • Avoid pixel diffs for highly dynamic surfaces unless you can stabilize them.
    • Do not introduce a new framework if one already exists; extend the current stack.
    Recommended Servers
    tldraw
    tldraw
    Vercel Grep
    Vercel Grep
    Miro
    Miro
    Repository
    terraphim/opencode-skills
    Files