mcpField
V
visual-auditor

visual-auditor

github.com/heyeddi-comTesting & quality087 installsUpdated 1d ago
Repository

About visual-auditor

visual-auditor is a visual QA skill for reviewing interfaces against product and design specifications, then fixing actionable issues in Vue/CSS and documenting each change. It supports responsive screenshot checks, contrast review, and a final verification gate.

Key features

  1. 01Compare captures with product and design specs
  2. 02Fix visual issues in Vue and CSS
  3. 03Capture responsive screenshots
  4. 04Audit contrast and motion-over-text
  5. 05Log fixes and re-verify

Use cases

  1. 01Review a route after design implementation
  2. 02Fix legibility or layout drift before merge
  3. 03Run responsive visual checks before release

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/heyeddi-com/heyeddi-skills --skill visual-auditor

After installing, type/visual-auditorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

manifest.json
context/
ANTI_PATTERNS.md
EXAMPLES.md
PROSE_ANTI_SLOP.md
VOCABULARY.md
fixtures/
contrast-violations.html
reference/
contrast-audit.md
fix-loop.md
subagents.md
visual-review.md
scripts/
_contrast_math.py
_heyeddi_paths.py
_skill_cli.py
_spec_context.py
_widths.py
append_fix_log.py
audit_contrast.py
audit_ui.py
contrast_probe.js
finalize_visual_review.py
layout_tree.py
load_visual_context.py

Details

From the project README

Visual Auditor

See the UI. Compare to spec. Fix. Document. Re-verify.

You are a visual QA implementer: not a screenshot-only subagent. You read captures against product (persona, route intent, purpose) and design (tokens, mockup-brief, hierarchy), fix issues in Vue/CSS in the same turn, and log every change.

On marketing and app flagships, also apply the calm-wow lens in reference/visual-review.md (thesis hero, living atmosphere, brand-only status craft, reduced-motion) and the done gate (6 widths + logo-off brand test).

Default behavior (no confirmation)

  • Always fix actionable visual issues in code in the same turn
  • Never deliver a bullet list of problems without fixing (exception: user explicitly said audit-only, no code)
  • Run automatically after every @heyeddi-handoff, @design-handoff-flutter, and stack implement pass

Width presets

PresetWidthsWhen
fast (default capture)375, 768, 1440Iteration during craft/polish
done / flagship375, 430, 768, 1024, 1440, 1920Before calling marketing/flagship done; finalize_visual_review defaults here
capture_screenshots --route / --preset fast
capture_screenshots --route / --preset done
finalize_visual_review --route / --check   # defaults to done

When to use

  • After @heyeddi-design craft or @heyeddi-handoff on a route
  • Green-on-green, illegible text, layout drift vs brief
  • Pre-merge visual gate with fixes, not a issue list alone
  • @heyeddi-product delegated legibility research: you fix, they synthesize

Mandatory pipeline

Read reference/visual-review.md and reference/fix-loop.md.

load_visual_context --route /path --write-review
capture_screenshots --route /path
audit_contrast --route /path
→ READ PNGs + product.md + design.md + mockup-brief + contrast report
→ FIX each error/actionable warn in code
→ append_fix_log (per fix)
finalize_visual_review --route /path --check

Never deliver only a bullet list of problems without fixing them. Report-only is allowed only when the user explicitly said audit-only / no code changes.

Review against specification

LensSource
Productroute_intent, page purpose, persona success_feeling
Designdesign.md tokens, mockup-brief.md regions, wireframe if no PNG
Legibilityaudit_contrast automated + your eyes on captures

Tools

ToolRole
load_visual_contextSpec paths, captures, contrast summary; --write-review scaffolds review doc
capture_screenshotsPNGs → .heyeddi/audits/visual/screenshots/ (--preset fast|done)
audit_contrastWCAG + motion-over-text
append_fix_logDocument each fix with spec reference + files
finalize_visual_reviewRe-capture at done widths, contrast --check, close review

Subagents

Shell scripts for capture/contrast; you (main agent) read images, edit code, call append_fix_log. See reference/subagents.md.

Artifacts (.heyeddi/audits/visual/)

PathPurpose
screenshots/Responsive captures
reviews/<feature>-review-<date>.mdReview vs product + design
fix-log.md / fix-log.jsonlEvery fix documented
<feature>-contrast-<date>.mdAutomated contrast

Env

  • DEV_SERVER_URL: Vue (default http://localhost:5173)
  • FLUTTER_WEB_URL: Flutter web

Chain

  • @vue-design-system: run after token/CSS fixes (Quasar, PrimeVue Aura, motion)
  • @heyeddi-design polish: if IA problems remain after visual pass
  • @pre-merge-gate: after finalize_visual_review --check passes

When the task is complete: suggest next skills

When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:

  1. Run:

    python .agents/skills/heyeddi/scripts/suggest_next_skill.py --current-skill visual-auditor --project-root .
    

    Add --route /path if you worked a specific route.

  2. Include the script's ### Next step block in your final reply. The user copies the Prompt line into chat (e.g. @heyeddi-design craft /settings).

Pass --mode shape (or craft, audit, etc.) when you know which sub-command just finished.

See @heyeddi → reference/next-skill-handoff.md.

Comments

Markdown supported