
Update Storybook Snapshots
- 36 installs
- 80 repo stars
- Updated July 29, 2026
- cartridge-gg/controller
Update Storybook visual regression baseline snapshots after intentional UI changes, reviewing diffs first.
About
Updates Storybook visual regression snapshots after intentional UI changes in the Cartridge Controller repo. A developer uses it when visual tests fail due to expected component changes.
- Updates Storybook visual regression baseline snapshots after UI changes
- Reviews diff images before regenerating snapshots
Update Storybook Snapshots by the numbers
- 36 all-time installs (skills.sh)
- Ranked #1,310 of 2,155 Testing & QA skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cartridge-gg/controller --skill update-storybook-snapshotsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 36 |
|---|---|
| repo stars | ★ 80 |
| Last updated | July 29, 2026 |
| Repository | cartridge-gg/controller ↗ |
What it does
Update Storybook visual regression baseline snapshots after intentional UI changes, reviewing diffs first.
Files
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:storybookReview 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:updateThis 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__/*.pngStep 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.pngCommon Scenarios
New Component Added
1. Create the component 2. Add a Storybook story in packages/keychain/src/components/ 3. Run pnpm test:storybook:update to generate initial snapshot 4. 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 storybookInconsistent 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:depsScript Helper
There's also a helper script available:
./scripts/update-storybook-snapshot.shBest Practices
1. Review every diff - Don't blindly update snapshots 2. Small commits - Update snapshots in their own commit 3. Descriptive messages - Mention what changed if significant 4. Clean baseline - Don't commit diff images (they're gitignored) 5. CI consistency - If local passes but CI fails, investigate the difference