home / skills / willsigmon / sigstack / vision-qa-workflow

This skill guides you through visual QA by prompting Claude to analyze screenshots and iteratively fix issues until the UI is pixel-perfect.

npx playbooks add skill willsigmon/sigstack --skill vision-qa-workflow

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.2 KB
---
name: Vision QA Workflow
description: THE default workflow - screenshot, analyze, fix, repeat
allowed-tools: Read, Edit, Bash, Task
model: sonnet
---

# Vision QA Workflow

**The Sigstack Default. Use for everything.**

## The Golden Rule

> "If you can see it, Claude can QA it."

No test frameworks. No selectors. No flaky tests.
Just screenshots and Claude's vision.

## The Loop

```
┌─────────────────────────────────────────┐
│  1. Make your change                    │
│             ↓                           │
│  2. Screenshot the result               │
│             ↓                           │
│  3. Ask Claude "What's wrong?"          │
│             ↓                           │
│  4. Claude fixes issues found           │
│             ↓                           │
│  5. Repeat until clean                  │
└─────────────────────────────────────────┘
```

## Screenshot Commands

### iOS Simulator
```bash
xcrun simctl io booted screenshot ~/Desktop/screen.png
```

### Android Emulator
```bash
adb exec-out screencap -p > ~/Desktop/screen.png
```

### Web (Playwright)
```typescript
await page.screenshot({ path: 'screen.png', fullPage: true });
```

### macOS App
```bash
screencapture -w ~/Desktop/screen.png
```

## QA Prompts

### General Review
```
"What's wrong with this screen?"
```

### Layout Check
```
"Check alignment, spacing, and hierarchy"
```

### Accessibility
```
"Is this accessible? Check contrast, touch targets, labels"
```

### Dark Mode
```
"Compare light and dark mode screenshots for issues"
```

### Device Matrix
```
"Compare iPhone SE vs iPhone 15 Pro Max screenshots"
```

### Before/After
```
"Here's before and after. Did my change fix the issue?"
```

## Workflow Examples

### New Feature
```
1. Build the feature
2. Screenshot each state (empty, loading, success, error)
3. "Review these states for UX issues"
4. Fix issues found
5. Screenshot again
6. "Verify fixes"
```

### Bug Fix
```
1. Screenshot the bug
2. "What's causing this visual bug?"
3. Fix the code
4. Screenshot again
5. "Is it fixed?"
```

### Design Review
```
1. Screenshot your implementation
2. Also screenshot the design spec
3. "Compare. What doesn't match?"
4. Fix differences
5. Repeat until pixel-perfect
```

## Multi-Device QA

### iOS Device Matrix
```bash
# Boot different simulators
xcrun simctl boot "iPhone SE (3rd generation)"
xcrun simctl boot "iPhone 15 Pro Max"

# Screenshot each
xcrun simctl io "iPhone SE (3rd generation)" screenshot se.png
xcrun simctl io "iPhone 15 Pro Max" screenshot promax.png
```

### Android Sizes
```bash
# Different emulators
emulator -avd Pixel_4 &
emulator -avd Pixel_Fold &

# Screenshot each
adb -s emulator-5554 exec-out screencap -p > pixel4.png
adb -s emulator-5556 exec-out screencap -p > fold.png
```

## Automation

### Pre-Commit QA
```bash
#!/bin/bash
# .git/hooks/pre-commit

# Screenshot current state
xcrun simctl io booted screenshot /tmp/precommit.png

# Ask Claude to review
echo "Review this for obvious issues" | claude -f /tmp/precommit.png
```

### CI Pipeline
```yaml
- name: Visual QA
  run: |
    xcrun simctl io booted screenshot screen.png
    claude "Any visual bugs?" -f screen.png
```

## Why This Works

### Traditional Testing
```
❌ Write test code
❌ Maintain selectors
❌ Fix flaky tests
❌ Miss visual issues
❌ Slow feedback
```

### Vision QA
```
✓ Just screenshot
✓ No code to maintain
✓ Catches visual bugs
✓ Instant feedback
✓ Works on any platform
```

## Pro Tips

### Batch Screenshots
```
Take multiple screenshots in one go:
- Happy path
- Edge cases
- Error states
- Different sizes

Send all to Claude in one message.
```

### Comparison
```
Always keep "before" screenshots.
Compare side-by-side.
Claude spots regressions instantly.
```

### Annotate
```
If something specific is wrong:
"Look at the red button in the top right"

Helps Claude focus.
```

## This Is Your Default

Every feature: Vision QA
Every bug fix: Vision QA
Every refactor: Vision QA
Every PR: Vision QA

No exceptions.

Use when: Always. This is THE workflow.

Overview

This skill is the default Vision QA Workflow for visual testing using screenshots and Claude's vision. It replaces brittle selector-based tests with a simple screenshot, analyze, fix, repeat loop. Use it for feature reviews, bug fixes, design comparisons, and multi-device checks across mobile, web, and desktop apps.

How this skill works

Take screenshots of the UI states you want to validate, send them to Claude with a focused prompt, and get a prioritized list of visual issues and suggested fixes. Iterate: change the UI, capture new screenshots, and ask Claude to verify the fixes or compare before/after images. The workflow can be used manually, in pre-commit hooks, or as part of CI pipelines.

When to use it

  • Every new feature implementation (capture all relevant states)
  • After bug fixes to confirm visual regressions are resolved
  • During design implementation to compare UI against specs
  • Before merging PRs to catch visual problems early
  • On multiple device sizes and themes (dark vs light)

Best practices

  • Capture multiple states: empty, loading, success, and error to cover edge cases
  • Include before and after screenshots to verify fixes and regressions
  • Annotate areas of concern in the prompt to focus the review (e.g., “check red button top-right”)
  • Batch screenshots for a single query to get a holistic review across states or devices
  • Integrate simple hooks or CI steps to automate screenshot capture and trigger reviews

Example use cases

  • New feature: screenshot all states and ask “Review these states for UX issues”
  • Bug fix: screenshot the bug, ask “What’s causing this visual bug?”, fix and re-check
  • Design review: send implementation and design spec screenshots and ask “Compare. What doesn’t match?”
  • Device matrix: capture iPhone SE and iPhone 15 Pro Max screenshots and ask for cross-device issues
  • Pre-commit/CI: auto-capture screenshots and have Claude run a quick visual QA pass before merging

FAQ

Do I need test frameworks or selectors?

No. The workflow intentionally avoids test code and selectors — it relies on screenshots and visual reasoning instead of brittle selectors.

How do I handle multiple devices or themes?

Take separate screenshots for each device size and theme (light/dark). Send them together and ask Claude to compare across the matrix or highlight device-specific issues.