# Add a visual regression baseline for one screen

A committed baseline so an unintended visual change fails a check instead of shipping.

Category: Accessibility and browser verification
Source: https://letsship.ai/use-cases/add-a-visual-regression-baseline
Published: 2026-08-25

## Goal

Capture a visual regression baseline for one screen and wire the comparison into the pipeline.

## Acceptance criteria

- A baseline is committed for each state of the screen
- A deliberately seeded visual change fails the check
- The comparison tolerates font rendering differences without hiding real changes
- Updating a baseline is a reviewable, deliberate step

## What lands as proof

A seeded change failing the check, which is the only proof the baseline is actually comparing anything.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Add a visual regression baseline for {screen}

Description: Capture a visual regression baseline for one screen and wire the comparison into the pipeline.

Acceptance criteria:
- A baseline is committed for each state of the screen
- A deliberately seeded visual change fails the check
- The comparison tolerates font rendering differences without hiding real changes
- Updating a baseline is a reviewable, deliberate step

Before you create the issue, pick a stable, high-traffic screen in this repository and replace {screen} with it. Avoid anything with animation or live data.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: capture a visual regression baseline for one screen and wire the comparison into the pipeline. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means baseline committed, a seeded change fails the check, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
