update-storybook-snapshots

Update Storybook Snapshots

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "update-storybook-snapshots" with this command: npx skills add cartridge-gg/controller/cartridge-gg-controller-update-storybook-snapshots

Update Storybook Snapshots

Overview

Storybook snapshots are baseline images used for visual regression testing. When UI components change intentionally, snapshots must be updated to reflect the new expected appearance.

When to Update Snapshots

Update snapshots when:

  • You intentionally changed component styling

  • You added new UI components with stories

  • You modified component layout or structure

  • Design system updates affected component appearance

Do NOT update snapshots when:

  • You didn't intentionally change the UI

  • The visual diff shows a bug or regression

  • You're unsure why the appearance changed

Update Process

Step 1: Run Tests to See Failures

pnpm test:storybook

Review which snapshots failed. Failures generate diff images.

Step 2: Review Diff Images

Diff images are saved to:

packages/keychain/image_snapshots/diff_output/

Each diff image shows:

  • Left: Expected (baseline)

  • Center: Difference highlighted

  • Right: Actual (current)

Verify the changes are intentional before proceeding.

Step 3: Update Snapshots

pnpm test:storybook:update

This regenerates all snapshot images based on current component rendering.

Step 4: Review Updated Snapshots

Check the updated images look correct:

List changed snapshot files

git status packages/*/image_snapshots/

View specific changes (if you have an image viewer)

ls packages/keychain/image_snapshots/*.png

Step 5: Commit the Updates

git add packages/*/image_snapshots/ git commit -m "chore: update storybook snapshots"

Snapshot Locations

packages/keychain/image_snapshots/ ├── components-*.png # Component snapshots ├── diff_output/ # Diff images (not committed) │ └── *-diff.png

Common Scenarios

New Component Added

  • Create the component

  • Add a Storybook story in packages/keychain/src/components/

  • Run pnpm test:storybook:update to generate initial snapshot

  • Commit both the component and snapshot

Theme/Design System Update

When design tokens or theme changes affect multiple components:

Update all snapshots at once

pnpm test:storybook:update

Review all changes

git diff --stat packages/*/image_snapshots/

Commit with descriptive message

git add packages/*/image_snapshots/ git commit -m "chore: update snapshots for design system changes"

CI Auto-Updates

The CI workflow (test.yml ) can auto-update snapshots and push:

  • If running on a PR branch

  • If the only failures are visual differences

  • Creates commit "chore: update storybook snapshots"

This means if you push changes that affect visuals, CI may auto-commit updated snapshots to your PR.

Troubleshooting

Tests timeout

Storybook must be able to start:

Kill any existing Storybook process

pkill -f storybook

Ensure port 6006 is free

lsof -i :6006

Try running Storybook manually first

pnpm storybook

Inconsistent snapshots

If snapshots differ between local and CI:

  • Ensure you're using the same Node version (20.x)

  • Font rendering can differ between platforms

  • CI uses a specific Docker image for consistency

Missing dependencies

pnpm clean && pnpm i && pnpm build:deps

Script Helper

There's also a helper script available:

./scripts/update-storybook-snapshot.sh

Best Practices

  • Review every diff - Don't blindly update snapshots

  • Small commits - Update snapshots in their own commit

  • Descriptive messages - Mention what changed if significant

  • Clean baseline - Don't commit diff images (they're gitignored)

  • CI consistency - If local passes but CI fails, investigate the difference

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

create-pr

No summary provided by upstream source.

Repository SourceNeeds Review
General

test

No summary provided by upstream source.

Repository SourceNeeds Review
General

validate-before-merge

No summary provided by upstream source.

Repository SourceNeeds Review
General

find-skills

No summary provided by upstream source.

Repository SourceNeeds Review